Blindfold removal fix
[slashemextended.git] / src / mklev.c
blob1861fac20977114e965e743c5ab423618344d2bd
1 /* SCCS Id: @(#)mklev.c 3.4 2001/11/29 */
2 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
3 /* NetHack may be freely redistributed. See license for details. */
5 #include "hack.h"
6 /* #define DEBUG */ /* uncomment to enable code debugging */
8 #ifdef DEBUG
9 # ifdef WIZARD
10 #define debugpline if (wizard) pline
11 # else
12 #define debugpline pline
13 # endif
14 #endif
16 /* for UNIX, Rand #def'd to (long)lrand48() or (long)random() */
17 /* croom->lx etc are schar (width <= int), so % arith ensures that */
18 /* conversion of result to int is reasonable */
21 STATIC_DCL void mkfount(int,struct mkroom *);
22 STATIC_DCL void mksink(struct mkroom *);
23 STATIC_DCL void mktoilet(struct mkroom *);
24 STATIC_DCL void mkaltar(struct mkroom *);
25 STATIC_DCL void mkgrave(struct mkroom *);
26 STATIC_DCL void mkthrone(struct mkroom *);
27 STATIC_DCL void mkpentagram(struct mkroom *);
28 STATIC_DCL void mkwell(struct mkroom *);
29 STATIC_DCL void mkpoisonedwell(struct mkroom *);
30 STATIC_DCL void mkwagon(struct mkroom *);
31 STATIC_DCL void mkburningwagon(struct mkroom *);
32 STATIC_DCL void mkwoodentable(struct mkroom *);
33 STATIC_DCL void mkcarvedbed(struct mkroom *);
34 STATIC_DCL void mkstrawmattress(struct mkroom *);
35 STATIC_DCL void makevtele(void);
36 STATIC_DCL void clear_level_structures(void);
37 STATIC_DCL void makelevel(void);
38 STATIC_DCL void mineralize(void);
39 STATIC_DCL boolean bydoor(XCHAR_P,XCHAR_P);
40 STATIC_DCL struct mkroom *find_branch_room(coord *);
41 STATIC_DCL struct mkroom *pos_to_room(XCHAR_P, XCHAR_P);
42 STATIC_DCL boolean place_niche(struct mkroom *,int*,int*,int*);
43 STATIC_DCL void makeniche(int);
44 STATIC_DCL void make_niches(void);
45 STATIC_DCL struct permonst * morguemonX(void);
47 STATIC_DCL void mkstone(struct mkroom *);
48 STATIC_DCL void mktree(struct mkroom *);
49 STATIC_DCL void mkpool(struct mkroom *);
50 STATIC_DCL void mklavapool(struct mkroom *);
51 STATIC_DCL void mkironbars(struct mkroom *);
52 STATIC_DCL void mkdoor(struct mkroom *);
53 STATIC_DCL void mkice(struct mkroom *);
54 STATIC_DCL void mkcloud(struct mkroom *);
55 STATIC_DCL void mkgravewall(struct mkroom *);
56 STATIC_DCL void mktunnelwall(struct mkroom *);
57 STATIC_DCL void mkfarmland(struct mkroom *);
58 STATIC_DCL void mkmountain(struct mkroom *);
59 STATIC_DCL void mkwatertunnel(struct mkroom *);
60 STATIC_DCL void mkcrystalwater(struct mkroom *);
61 STATIC_DCL void mkmoorland(struct mkroom *);
62 STATIC_DCL void mkurinelake(struct mkroom *);
63 STATIC_DCL void mkshiftingsand(struct mkroom *);
64 STATIC_DCL void mkstyxriver(struct mkroom *);
65 STATIC_DCL void mksnow(struct mkroom *);
66 STATIC_DCL void mkash(struct mkroom *);
67 STATIC_DCL void mksand(struct mkroom *);
68 STATIC_DCL void mkpavedfloor(struct mkroom *);
69 STATIC_DCL void mkhighway(struct mkroom *);
70 STATIC_DCL void mkgrassland(struct mkroom *);
71 STATIC_DCL void mknethermist(struct mkroom *);
72 STATIC_DCL void mkstalactite(struct mkroom *);
73 STATIC_DCL void mkcryptfloor(struct mkroom *);
74 STATIC_DCL void mkbubbles(struct mkroom *);
75 STATIC_DCL void mkraincloud(struct mkroom *);
77 STATIC_DCL void mkstoneX(int,struct mkroom *);
78 STATIC_DCL void mktreeX(int,struct mkroom *);
79 STATIC_DCL void mkpoolX(int,struct mkroom *);
80 STATIC_DCL void mklavapoolX(int,struct mkroom *);
81 STATIC_DCL void mkironbarsX(int,struct mkroom *);
82 STATIC_DCL void mkiceX(int,struct mkroom *);
83 STATIC_DCL void mkcloudX(int,struct mkroom *);
84 STATIC_DCL void mkgravewallX(int,struct mkroom *);
85 STATIC_DCL void mktunnelwallX(int,struct mkroom *);
86 STATIC_DCL void mkfarmlandX(int,struct mkroom *);
87 STATIC_DCL void mkmountainX(int,struct mkroom *);
88 STATIC_DCL void mkwatertunnelX(int,struct mkroom *);
89 STATIC_DCL void mkcrystalwaterX(int,struct mkroom *);
90 STATIC_DCL void mkmoorlandX(int,struct mkroom *);
91 STATIC_DCL void mkurinelakeX(int,struct mkroom *);
92 STATIC_DCL void mkshiftingsandX(int,struct mkroom *);
93 STATIC_DCL void mkstyxriverX(int,struct mkroom *);
94 STATIC_DCL void mksnowX(int,struct mkroom *);
95 STATIC_DCL void mkashX(int,struct mkroom *);
96 STATIC_DCL void mksandX(int,struct mkroom *);
97 STATIC_DCL void mkpavedfloorX(int,struct mkroom *);
98 STATIC_DCL void mkhighwayX(int,struct mkroom *);
99 STATIC_DCL void mkgrasslandX(int,struct mkroom *);
100 STATIC_DCL void mknethermistX(int,struct mkroom *);
101 STATIC_DCL void mkstalactiteX(int,struct mkroom *);
102 STATIC_DCL void mkcryptfloorX(int,struct mkroom *);
103 STATIC_DCL void mkbubblesX(int,struct mkroom *);
104 STATIC_DCL void mkraincloudX(int,struct mkroom *);
106 STATIC_DCL int findrandtype(void);
107 /*STATIC_DCL int randomwalltype(void);*/
109 STATIC_PTR int CFDECLSPEC do_comp(const void *,const void *);
111 STATIC_DCL void dosdoor(XCHAR_P,XCHAR_P,struct mkroom *,int);
112 STATIC_DCL void join(int,int,BOOLEAN_P);
113 STATIC_DCL void do_room_or_subroom(struct mkroom *,int,int,int,int,
114 BOOLEAN_P,SCHAR_P,BOOLEAN_P,BOOLEAN_P,BOOLEAN_P,int);
115 STATIC_DCL void makerooms(void);
116 STATIC_DCL void finddpos(coord *,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P);
117 STATIC_DCL void mkinvpos(XCHAR_P,XCHAR_P,int);
119 #define create_vault() create_room(-1, -1, 2, 2, -1, -1, VAULT, TRUE, FALSE, FALSE)
120 #define init_vault() vault_x = -1
121 #define do_vault() (vault_x != -1)
122 static xchar vault_x, vault_y;
123 boolean goldseen;
124 static boolean made_branch; /* used only during level creation */
127 /* Args must be (const void *) so that qsort will always be happy. */
129 STATIC_PTR int CFDECLSPEC
130 do_comp(vx,vy)
131 const void * vx;
132 const void * vy;
134 #ifdef LINT
135 /* lint complains about possible pointer alignment problems, but we know
136 that vx and vy are always properly aligned. Hence, the following
137 bogus definition:
139 return (vx == vy) ? 0 : -1;
140 #else
141 register const struct mkroom *x, *y;
143 x = (const struct mkroom *)vx;
144 y = (const struct mkroom *)vy;
145 if(x->lx < y->lx) return(-1);
146 return(x->lx > y->lx);
147 #endif /* LINT */
150 STATIC_OVL int
151 findrandtype()
153 retryrandtype:
154 switch (rnd(89)) {
155 case 1: return COURT;
156 case 2: return SWAMP;
157 case 3: return BEEHIVE;
158 case 4: return MORGUE;
159 case 5: return BARRACKS;
160 case 6: return ZOO;
161 case 7: return REALZOO;
162 case 8: return GIANTCOURT;
163 case 9: return LEPREHALL;
164 case 10: return DRAGONLAIR;
165 case 11: return BADFOODSHOP;
166 case 12: return COCKNEST;
167 case 13: return ANTHOLE;
168 case 14: return LEMUREPIT;
169 case 15: return MIGOHIVE;
170 case 16: return FUNGUSFARM;
171 case 17: return CLINIC;
172 case 18: return TERRORHALL;
173 case 19: return ELEMHALL;
174 case 20: return ANGELHALL;
175 case 21: return MIMICHALL;
176 case 22: return NYMPHHALL;
177 case 23: return SPIDERHALL;
178 case 24: return TROLLHALL;
179 case 25: return HUMANHALL;
180 case 26: return GOLEMHALL;
181 case 27: return COINHALL;
182 case 28: return DOUGROOM;
183 case 29: return ARMORY;
184 case 30: return TENSHALL;
185 case 31: return TRAPROOM;
186 case 32: return POOLROOM;
187 case 33: return STATUEROOM;
188 case 34: return INSIDEROOM;
189 case 35: return RIVERROOM;
190 case 36: return TEMPLE;
191 case 37: return EMPTYNEST;
192 case 38: return GRUEROOM;
193 case 39: return CRYPTROOM;
194 case 40: return TROUBLEZONE;
195 case 41: return WEAPONCHAMBER;
196 case 42: return HELLPIT;
197 case 43: return FEMINISMROOM;
198 case 44: return MEADOWROOM;
199 case 45: return COOLINGCHAMBER;
200 case 46: return VOIDROOM;
201 case 47: return HAMLETROOM;
202 case 48: return KOPSTATION;
203 case 49: return BOSSROOM;
204 case 50: return RNGCENTER;
205 case 51: return WIZARDSDORM;
206 case 52: return DOOMEDBARRACKS;
207 case 53: return SLEEPINGROOM;
208 case 54: return DIVERPARADISE;
209 case 55: return MENAGERIE;
210 case 56:
211 if (!rn2(20)) return NASTYCENTRAL;
212 else goto retryrandtype;
213 case 57: return EMPTYDESERT;
214 case 58: return RARITYROOM;
215 case 59: return EXHIBITROOM;
216 case 60: return PRISONCHAMBER;
217 case 61: return NUCLEARCHAMBER;
218 case 62: return LEVELSEVENTYROOM;
219 case 63: return VARIANTROOM;
221 case 64: return EVILROOM;
222 case 65: return RELIGIONCENTER;
223 case 66: return CHAOSROOM;
224 case 67: return CURSEDMUMMYROOM;
225 case 68: return MIXEDPOOL;
226 case 69: return ARDUOUSMOUNTAIN;
227 case 70: return LEVELFFROOM;
228 case 71: return VERMINROOM;
229 case 72: return MIRASPA;
230 case 73: return MACHINEROOM;
231 case 74: return SHOWERROOM;
232 case 75: return GREENCROSSROOM;
233 case 76: return CENTRALTEDIUM;
234 case 77: return RUINEDCHURCH;
235 case 78: return RAMPAGEROOM;
236 case 79: return GAMECORNER;
237 case 80: return ILLUSIONROOM;
238 case 81: return ROBBERCAVE;
239 case 82: return SANITATIONCENTRAL;
240 case 83: return PLAYERCENTRAL;
241 case 84: return CASINOROOM;
242 case 85: return FULLROOM;
243 case 86: return LETTERSALADROOM;
244 case 87: return THE_AREA_ROOM;
245 case 88: return CHANGINGROOM;
246 case 89: return QUESTORROOM;
249 return EMPTYNEST;
253 walkableterrain()
255 switch (rnd(14)) {
256 case 1: return ICE;
257 case 2: return CLOUD;
258 case 3: return GRAVEWALL;
259 case 4: return SNOW;
260 case 5: return ASH;
261 case 6: return SAND;
262 case 7: return PAVEDFLOOR;
263 case 8: return HIGHWAY;
264 case 9: return GRASSLAND;
265 case 10: return NETHERMIST;
266 case 11: return STALACTITE;
267 case 12: return CRYPTFLOOR;
268 case 13: return BUBBLES;
269 case 14: return RAINCLOUD;
272 /* compiler doesn't like it if control can reach end of a non-void function --Amy */
273 return ICE;
278 randomwalltype()
280 switch (rnd(29)) {
281 case 1: return TREE;
282 case 2: return MOAT;
283 case 3: return LAVAPOOL;
284 case 4: return IRONBARS;
285 case 5: return CORR;
286 case 6: return ICE;
287 case 7: return CLOUD;
288 case 8: return ROCKWALL;
289 case 9: return GRAVEWALL;
290 case 10: return TUNNELWALL;
291 case 11: return FARMLAND;
292 case 12: return MOUNTAIN;
293 case 13: return WATERTUNNEL;
294 case 14: return CRYSTALWATER;
295 case 15: return MOORLAND;
296 case 16: return URINELAKE;
297 case 17: return SHIFTINGSAND;
298 case 18: return STYXRIVER;
299 case 19: return SNOW;
300 case 20: return ASH;
301 case 21: return SAND;
302 case 22: return PAVEDFLOOR;
303 case 23: return HIGHWAY;
304 case 24: return GRASSLAND;
305 case 25: return NETHERMIST;
306 case 26: return STALACTITE;
307 case 27: return CRYPTFLOOR;
308 case 28: return BUBBLES;
309 case 29: return RAINCLOUD;
313 // fall-through to appease compiler
314 return ROCKWALL;
317 STATIC_OVL void
318 finddpos(cc, xl,yl,xh,yh)
319 coord *cc;
320 xchar xl,yl,xh,yh;
322 register xchar x, y;
324 x = (xl == xh) ? xl : (xl + rn2(xh-xl+1));
325 y = (yl == yh) ? yl : (yl + rn2(yh-yl+1));
326 if(okdoor(x, y))
327 goto gotit;
329 for(x = xl; x <= xh; x++) for(y = yl; y <= yh; y++)
330 if(okdoor(x, y))
331 goto gotit;
333 for(x = xl; x <= xh; x++) for(y = yl; y <= yh; y++)
334 if(IS_DOOR(levl[x][y].typ) || levl[x][y].typ == SDOOR)
335 goto gotit;
336 /* cannot find something reasonable -- strange */
337 x = xl;
338 y = yh;
339 gotit:
340 cc->x = x;
341 cc->y = y;
342 return;
345 void
346 sort_rooms()
348 #if defined(SYSV) || defined(DGUX)
349 qsort((void *) rooms, (unsigned)nroom, sizeof(struct mkroom), do_comp);
350 #else
351 qsort((void *) rooms, nroom, sizeof(struct mkroom), do_comp);
352 #endif
355 STATIC_OVL void
356 do_room_or_subroom(croom, lowx, lowy, hix, hiy, lit, rtype, special, is_room, canbeshaped, roommate)
357 register struct mkroom *croom;
358 int lowx, lowy;
359 register int hix, hiy;
360 boolean lit;
361 schar rtype;
362 boolean special;
363 boolean is_room;
364 boolean canbeshaped;
365 int roommate;
367 register int x, y;
368 struct rm *lev;
370 int wallifytype = STONE;
371 boolean wallifyxtra = 0;
372 if ( !((moves + u.monstertimefinish) % 9357 ) || (!rn2(iswarper ? 100 : 5000))) {
374 switch (rnd(28)) {
376 case 1:
377 wallifytype = TREE; break;
378 case 2:
379 wallifytype = MOAT; break;
380 case 3:
381 wallifytype = LAVAPOOL; break;
382 case 4:
383 wallifytype = IRONBARS; break;
384 case 5:
385 wallifytype = CORR; break;
386 case 6:
387 wallifytype = ICE; break;
388 case 7:
389 wallifytype = CLOUD; break;
390 case 8:
391 wallifytype = RAINCLOUD; break;
392 case 9:
393 wallifytype = GRAVEWALL; break;
394 case 10:
395 wallifytype = TUNNELWALL; break;
396 case 11:
397 wallifytype = FARMLAND; break;
398 case 12:
399 wallifytype = MOUNTAIN; break;
400 case 13:
401 wallifytype = WATERTUNNEL; break;
402 case 14:
403 wallifytype = CRYSTALWATER; break;
404 case 15:
405 wallifytype = MOORLAND; break;
406 case 16:
407 wallifytype = URINELAKE; break;
408 case 17:
409 wallifytype = SHIFTINGSAND; break;
410 case 18:
411 wallifytype = STYXRIVER; break;
412 case 19:
413 wallifytype = SNOW; break;
414 case 20:
415 wallifytype = ASH; break;
416 case 21:
417 wallifytype = SAND; break;
418 case 22:
419 wallifytype = PAVEDFLOOR; break;
420 case 23:
421 wallifytype = HIGHWAY; break;
422 case 24:
423 wallifytype = GRASSLAND; break;
424 case 25:
425 wallifytype = NETHERMIST; break;
426 case 26:
427 wallifytype = STALACTITE; break;
428 case 27:
429 wallifytype = CRYPTFLOOR; break;
430 case 28:
431 wallifytype = BUBBLES; break;
434 if (!rn2(50)) wallifyxtra = 1;
438 int wallifytypeB = STONE;
439 boolean wallifyBxtra = 0;
440 if ( !((moves + u.monstertimefinish) % 8357 ) || (!rn2(iswarper ? 200 : 5000))) {
442 switch (rnd(28)) {
444 case 1:
445 wallifytypeB = TREE; break;
446 case 2:
447 wallifytypeB = MOAT; break;
448 case 3:
449 wallifytypeB = LAVAPOOL; break;
450 case 4:
451 wallifytypeB = IRONBARS; break;
452 case 5:
453 wallifytypeB = CORR; break;
454 case 6:
455 wallifytypeB = ICE; break;
456 case 7:
457 wallifytypeB = CLOUD; break;
458 case 8:
459 wallifytypeB = RAINCLOUD; break;
460 case 9:
461 wallifytypeB = GRAVEWALL; break;
462 case 10:
463 wallifytypeB = TUNNELWALL; break;
464 case 11:
465 wallifytypeB = FARMLAND; break;
466 case 12:
467 wallifytypeB = MOUNTAIN; break;
468 case 13:
469 wallifytypeB = WATERTUNNEL; break;
470 case 14:
471 wallifytypeB = CRYSTALWATER; break;
472 case 15:
473 wallifytypeB = MOORLAND; break;
474 case 16:
475 wallifytypeB = URINELAKE; break;
476 case 17:
477 wallifytypeB = SHIFTINGSAND; break;
478 case 18:
479 wallifytypeB = STYXRIVER; break;
480 case 19:
481 wallifytypeB = SNOW; break;
482 case 20:
483 wallifytypeB = ASH; break;
484 case 21:
485 wallifytypeB = SAND; break;
486 case 22:
487 wallifytypeB = PAVEDFLOOR; break;
488 case 23:
489 wallifytypeB = HIGHWAY; break;
490 case 24:
491 wallifytypeB = GRASSLAND; break;
492 case 25:
493 wallifytypeB = NETHERMIST; break;
494 case 26:
495 wallifytypeB = STALACTITE; break;
496 case 27:
497 wallifytypeB = CRYPTFLOOR; break;
498 case 28:
499 wallifytypeB = BUBBLES; break;
502 if (!rn2(50)) wallifyBxtra = 1;
506 croom->colouur = 0;
507 if (/*!special && */rtype == OROOM) croom->colouur = (!rn2(20) ? 20 : rnd(15) );
508 if (/*!special && */rtype >= SHOPBASE) croom->colouur = (!rn2(20) ? 20 : rnd(15) );
509 if (/*!special && */rtype == BEEHIVE) croom->colouur = CLR_YELLOW;
510 if (/*!special && */rtype == COURT) croom->colouur = CLR_MAGENTA;
511 if (/*!special && */rtype == SWAMP) croom->colouur = CLR_GREEN;
512 if (/*!special && */rtype == VAULT) croom->colouur = CLR_YELLOW;
513 if (/*!special && */rtype == MORGUE) croom->colouur = CLR_BLACK;
514 if (/*!special && */rtype == BARRACKS) croom->colouur = CLR_RED;
515 if (/*!special && */rtype == ZOO) croom->colouur = CLR_BROWN;
516 if (/*!special && */rtype == REALZOO) croom->colouur = CLR_BROWN;
517 if (/*!special && */rtype == DELPHI) croom->colouur = CLR_BRIGHT_BLUE;
518 if (/*!special && */rtype == TEMPLE) croom->colouur = CLR_CYAN;
519 if (/*!special && */rtype == GIANTCOURT) croom->colouur = CLR_CYAN;
520 if (/*!special && */rtype == LEPREHALL) croom->colouur = CLR_GREEN;
521 if (/*!special && */rtype == DRAGONLAIR) croom->colouur = CLR_BRIGHT_MAGENTA;
522 if (/*!special && */rtype == BADFOODSHOP) croom->colouur = CLR_RED;
523 if (/*!special && */rtype == COCKNEST) croom->colouur = CLR_YELLOW;
524 if (/*!special && */rtype == ANTHOLE) croom->colouur = CLR_BROWN;
525 if (/*!special && */rtype == LEMUREPIT) croom->colouur = CLR_BLACK;
526 if (/*!special && */rtype == MIGOHIVE) croom->colouur = CLR_BRIGHT_GREEN;
527 if (/*!special && */rtype == FUNGUSFARM) croom->colouur = CLR_BRIGHT_GREEN;
528 if (/*!special && */rtype == CLINIC) croom->colouur = CLR_ORANGE;
529 if (/*!special && */rtype == TERRORHALL) croom->colouur = CLR_BRIGHT_CYAN;
530 if (/*!special && */rtype == RIVERROOM) croom->colouur = CLR_BRIGHT_BLUE;
531 if (/*!special && */rtype == ELEMHALL) croom->colouur = CLR_GRAY;
532 if (/*!special && */rtype == ANGELHALL) croom->colouur = CLR_WHITE;
533 if (/*!special && */rtype == NYMPHHALL) croom->colouur = CLR_GREEN;
534 if (/*!special && */rtype == SPIDERHALL) croom->colouur = CLR_GRAY;
535 if (/*!special && */rtype == TROLLHALL) croom->colouur = CLR_BROWN;
536 if (/*!special && */rtype == HUMANHALL) croom->colouur = CLR_BRIGHT_BLUE;
537 if (/*!special && */rtype == GOLEMHALL) croom->colouur = CLR_GRAY;
538 if (/*!special && */rtype == COINHALL) croom->colouur = CLR_YELLOW;
539 if (/*!special && */rtype == DOUGROOM) croom->colouur = CLR_BRIGHT_CYAN;
540 if (/*!special && */rtype == ARMORY) croom->colouur = CLR_CYAN;
541 if (/*!special && */rtype == TENSHALL) croom->colouur = 20;
542 if (/*!special && */rtype == INSIDEROOM) croom->colouur = 20;
543 if (/*!special && */rtype == POOLROOM) croom->colouur = CLR_BRIGHT_BLUE;
544 if (/*!special && */rtype == EMPTYNEST) croom->colouur = (!rn2(20) ? 20 : rnd(15) );
545 if (/*!special && */rtype == CRYPTROOM) croom->colouur = CLR_BRIGHT_BLUE;
546 if (/*!special && */rtype == TROUBLEZONE) croom->colouur = CLR_MAGENTA;
547 if (/*!special && */rtype == WEAPONCHAMBER) croom->colouur = CLR_BROWN;
548 if (/*!special && */rtype == HELLPIT) croom->colouur = CLR_ORANGE;
549 if (/*!special && */rtype == ROBBERCAVE) croom->colouur = CLR_GRAY;
550 if (/*!special && */rtype == SANITATIONCENTRAL) croom->colouur = CLR_CYAN;
551 if (/*!special && */rtype == GRUEROOM) croom->colouur = (!rn2(20) ? 20 : rnd(15) );
552 if (/*!special && */rtype == FEMINISMROOM) croom->colouur = CLR_BRIGHT_MAGENTA;
553 if (/*!special && */rtype == MEADOWROOM) croom->colouur = CLR_BRIGHT_GREEN;
554 if (/*!special && */rtype == COOLINGCHAMBER) croom->colouur = CLR_BRIGHT_CYAN;
555 if (/*!special && */rtype == VOIDROOM) croom->colouur = CLR_MAGENTA;
556 if (/*!special && */rtype == HAMLETROOM) croom->colouur = CLR_GREEN;
557 if (/*!special && */rtype == KOPSTATION) croom->colouur = CLR_MAGENTA;
558 if (/*!special && */rtype == BOSSROOM) croom->colouur = 20;
559 if (/*!special && */rtype == RNGCENTER) croom->colouur = 20;
560 if (/*!special && */rtype == WIZARDSDORM) croom->colouur = CLR_CYAN;
561 if (/*!special && */rtype == DOOMEDBARRACKS) croom->colouur = CLR_BLACK;
562 if (/*!special && */rtype == SLEEPINGROOM) croom->colouur = CLR_GRAY;
563 if (/*!special && */rtype == DIVERPARADISE) croom->colouur = CLR_BRIGHT_BLUE;
564 if (/*!special && */rtype == MENAGERIE) croom->colouur = CLR_YELLOW;
565 if (/*!special && */rtype == NASTYCENTRAL) croom->colouur = (!rn2(20) ? 20 : rnd(15) );
566 if (/*!special && */rtype == EMPTYDESERT) croom->colouur = CLR_BROWN;
567 if (/*!special && */rtype == RARITYROOM) croom->colouur = CLR_YELLOW;
568 if (/*!special && */rtype == EXHIBITROOM) croom->colouur = CLR_RED;
569 if (/*!special && */rtype == PRISONCHAMBER) croom->colouur = CLR_WHITE;
570 if (/*!special && */rtype == NUCLEARCHAMBER) croom->colouur = CLR_ORANGE;
571 if (/*!special && */rtype == LEVELSEVENTYROOM) croom->colouur = CLR_BLACK;
572 if (/*!special && */rtype == PLAYERCENTRAL) croom->colouur = CLR_MAGENTA;
573 if (/*!special && */rtype == VARIANTROOM) croom->colouur = 20;
574 if (/*!special && */rtype == EVILROOM) croom->colouur = 21; /* magenta or bright magenta */
575 if (/*!special && */rtype == RELIGIONCENTER) croom->colouur = CLR_BLACK;
576 if (/*!special && */rtype == CHAOSROOM) croom->colouur = 20;
577 if (/*!special && */rtype == CURSEDMUMMYROOM) croom->colouur = CLR_CYAN;
578 if (/*!special && */rtype == MIXEDPOOL) croom->colouur = 22; /* bright blue or bright cyan */
579 if (/*!special && */rtype == ARDUOUSMOUNTAIN) croom->colouur = CLR_WHITE;
580 if (/*!special && */rtype == CHANGINGROOM) croom->colouur = CLR_BRIGHT_MAGENTA;
581 if (/*!special && */rtype == QUESTORROOM) croom->colouur = CLR_MAGENTA;
582 if (/*!special && */rtype == LEVELFFROOM) croom->colouur = CLR_GRAY;
583 if (/*!special && */rtype == VERMINROOM) croom->colouur = CLR_BROWN;
584 if (/*!special && */rtype == MIRASPA) croom->colouur = CLR_YELLOW;
585 if (/*!special && */rtype == MACHINEROOM) croom->colouur = CLR_GRAY;
586 if (/*!special && */rtype == SHOWERROOM) croom->colouur = CLR_BRIGHT_BLUE;
587 if (/*!special && */rtype == GREENCROSSROOM) croom->colouur = CLR_BRIGHT_GREEN;
588 if (/*!special && */rtype == CENTRALTEDIUM) croom->colouur = CLR_GREEN;
589 if (/*!special && */rtype == RUINEDCHURCH) croom->colouur = CLR_BLACK;
590 if (/*!special && */rtype == RAMPAGEROOM) croom->colouur = CLR_GRAY;
591 if (/*!special && */rtype == GAMECORNER) croom->colouur = CLR_BRIGHT_BLUE;
592 if (/*!special && */rtype == ILLUSIONROOM) croom->colouur = 23; /* white, gray or cyan */
594 /* locations might bump level edges in wall-less rooms */
595 /* add/subtract 1 to allow for edge locations */
596 if(!lowx) lowx++;
597 if(!lowy) lowy++;
598 if(hix >= COLNO-1) hix = COLNO-2;
599 if(hiy >= ROWNO-1) hiy = ROWNO-2;
601 if(lit) {
602 for(x = lowx-1; x <= hix+1; x++) {
603 lev = &levl[x][max(lowy-1,0)];
604 for(y = lowy-1; y <= hiy+1; y++)
605 lev++->lit = 1;
607 croom->rlit = 1;
608 } else
609 croom->rlit = 0;
611 croom->lx = lowx;
612 croom->hx = hix;
613 croom->ly = lowy;
614 croom->hy = hiy;
615 croom->rtype = rtype;
616 croom->doorct = 0;
617 /* if we're not making a vault, doorindex will still be 0
618 * if we are, we'll have problems adding niches to the previous room
619 * unless fdoor is at least doorindex
621 croom->fdoor = doorindex;
622 croom->irregular = FALSE;
624 croom->nsubrooms = 0;
625 croom->sbrooms[0] = (struct mkroom *) 0;
626 if (!special) {
628 for(x = lowx-1; x <= hix+1; x++)
629 for(y = lowy-1; y <= hiy+1; y += (hiy-lowy+2)) {
630 if (roommate) continue;
631 levl[x][y].typ = (wallifytypeB ? (wallifyBxtra ? randomwalltype() : wallifytypeB) : HWALL);
632 levl[x][y].horizontal = 1; /* For open/secret doors. */
634 for(x = lowx-1; x <= hix+1; x += (hix-lowx+2))
635 for(y = lowy; y <= hiy; y++) {
636 if (roommate) continue;
637 levl[x][y].typ = (wallifytypeB ? (wallifyBxtra ? randomwalltype() : wallifytypeB) : VWALL);
638 levl[x][y].horizontal = 0; /* For open/secret doors. */
640 for(x = lowx; x <= hix; x++) {
641 lev = &levl[x][lowy];
642 for(y = lowy; y <= hiy; y++) {
644 if (roommate && (lev->typ > ROCKWALL)) {
645 lev++;
646 continue;
648 if (roommate == 2) continue;
650 lev++->typ = ROOM;
654 if (is_room && !roommate) {
655 levl[lowx-1][lowy-1].typ = (wallifytypeB ? (wallifyBxtra ? randomwalltype() : wallifytypeB) : TLCORNER);
656 levl[hix+1][lowy-1].typ = (wallifytypeB ? (wallifyBxtra ? randomwalltype() : wallifytypeB) : TRCORNER);
657 levl[lowx-1][hiy+1].typ = (wallifytypeB ? (wallifyBxtra ? randomwalltype() : wallifytypeB) : BLCORNER);
658 levl[hix+1][hiy+1].typ = (wallifytypeB ? (wallifyBxtra ? randomwalltype() : wallifytypeB) : BRCORNER);
661 if (canbeshaped && (hix - lowx > 3) && (hiy - lowy > 3) && ( !((moves + u.monstertimefinish) % 327 ) || (rnd(u.shaperoomchance) < 5 ) || (isnullrace && (rnd(u.shaperoomchance) < 5 ) ) ) ) {
662 int xcmax = 0, ycmax = 0, xcut = 0, ycut = 0;
663 boolean dotl = FALSE, dotr = FALSE, dobl = FALSE, dobr = FALSE, docenter = FALSE;
664 switch (rnd(9)) {
665 case 1:
666 case 2:
667 case 3:
668 /* L-shaped */
669 xcmax = (hix - lowx) * 2 / 3;
670 ycmax = (hiy - lowy) * 2 / 3;
672 switch(rn2(4)) {
673 case 1:
674 dotr = TRUE;
675 break;
676 case 2:
677 dobr = TRUE;
678 break;
679 case 3:
680 dotl = TRUE;
681 break;
682 default:
683 dobl = TRUE;
684 break;
686 break;
687 case 4:
688 case 5:
689 /* T-shaped */
690 xcmax = (hix - lowx) / 2;
691 ycmax = (hiy - lowy) / 2;
693 switch(rn2(4)) {
694 case 1:
695 dotr = TRUE;
696 dotl = TRUE;
697 case 2:
698 dobr = TRUE;
699 dobl = TRUE;
700 case 3:
701 dotr = TRUE;
702 dobr = TRUE;
703 default:
704 dotl = TRUE;
705 dobl = TRUE;
707 break;
708 case 6:
709 /* S/Z shaped ("Tetris Piece") */
710 xcmax = (hix - lowx) / 2;
711 ycmax = (hiy - lowy) / 2;
713 switch(rn2(2)) {
714 case 1:
715 dotr = TRUE;
716 dobl = TRUE;
717 default:
718 dotl = TRUE;
719 dobr = TRUE;
721 break;
722 case 7:
723 /* Plus Shaped */
724 xcmax = (hix - lowx) * 3 / 7;
725 ycmax = (hiy - lowy) * 3 / 7;
727 dotr = TRUE;
728 dotl = TRUE;
729 dobr = TRUE;
730 dobl = TRUE;
732 if (!rn2(5)) {
733 switch (rnd(4)) {
734 case 1:
735 dotr = FALSE;
736 break;
737 case 2:
738 dotl = FALSE;
739 break;
740 case 3:
741 dobr = FALSE;
742 break;
743 case 4:
744 dobl = FALSE;
745 break;
749 break;
750 case 8:
751 /* square-O shaped (pillar cut out of middle) */
752 xcmax = (hix - lowx) / 2;
753 ycmax = (hiy - lowy) / 2;
755 docenter = TRUE;
756 break;
757 case 9:
758 /* X-shaped */
759 xcmax = (hix - lowx) / 4;
760 ycmax = (hiy - lowy) / 4;
762 dotr = TRUE;
763 dotl = TRUE;
764 dobr = TRUE;
765 dobl = TRUE;
766 docenter = TRUE;
768 if (!rn2(5)) {
769 switch (rnd(4)) {
770 case 1:
771 dotr = FALSE;
772 break;
773 case 2:
774 dotl = FALSE;
775 break;
776 case 3:
777 dobr = FALSE;
778 break;
779 case 4:
780 dobl = FALSE;
781 break;
785 break;
786 /* TODO: oval */
787 default:
788 /* Rectangular -- nothing to do */
789 break;
791 if (dotr || dotl || dobr || dobl || docenter) {
792 xcut = 1 + rn2(xcmax);
793 ycut = 1 + rn2(ycmax);
794 /* Sometimes, instead of a small cut, do a max cut.
795 This improves the probability of a larger cut,
796 without removing the possibility for small ones. */
797 if ((xcut < (xcmax / 2)) && !rn2(3))
798 xcut = xcmax;
799 if ((ycut < (ycmax / 2)) && !rn2(3))
800 ycut = ycmax;
803 /* Now do the actual cuts. */
804 if (dotr) {
805 /* top-right cutout */
806 for (y = 0; y < ycut; y++) {
807 for (x = 0; x < xcut; x++) {
808 levl[hix + 1 - x][lowy + y - 1].typ = (wallifyxtra ? randomwalltype() : wallifytype);
810 levl[hix + 1 - xcut][lowy + y - 1].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : VWALL);
812 for (x = 0; x < xcut; x++)
813 levl[hix + 1 - x][lowy + ycut - 1].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : HWALL);
814 levl[hix + 1 - xcut][lowy + ycut - 1].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : BLCORNER);
815 levl[hix + 1][lowy + ycut - 1].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : TRCORNER);
816 levl[hix + 1 - xcut][lowy - 1].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : TRCORNER);
818 if (dobr) {
819 /* bottom-right cutout */
820 for (y = 0; y < ycut; y++) {
821 for (x = 0; x < xcut; x++) {
822 levl[hix + 1 - x][hiy + 1 - y].typ = (wallifyxtra ? randomwalltype() : wallifytype);
824 levl[hix + 1 - xcut][hiy + 1 - y].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : VWALL);
826 for (x = 0; x < xcut; x++)
827 levl[hix + 1 - x][hiy + 1 - ycut].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : HWALL);
828 levl[hix + 1 - xcut][hiy + 1 - ycut].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : TLCORNER);
829 levl[hix + 1][hiy + 1 - ycut].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : BRCORNER);
830 levl[hix + 1 - xcut][hiy + 1].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : BRCORNER);
832 if (dotl) {
833 /* top-left cutout */
834 for (y = 0; y < ycut; y++) {
835 for (x = 0; x < xcut; x++) {
836 levl[lowx + x - 1][lowy + y - 1].typ = (wallifyxtra ? randomwalltype() : wallifytype);
838 levl[lowx + xcut - 1][lowy + y - 1].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : VWALL);
840 for (x = 0; x < xcut; x++)
841 levl[lowx + x - 1][lowy + ycut - 1].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : HWALL);
842 levl[lowx + xcut - 1][lowy + ycut - 1].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : BRCORNER);
843 levl[lowx - 1][lowy + ycut - 1].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : TLCORNER);
844 levl[lowx + xcut - 1][lowy - 1].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : TLCORNER);
846 if (dobl) {
847 /* bottom-left cutout */
848 for (y = 0; y < ycut; y++) {
849 for (x = 0; x < xcut; x++) {
850 levl[lowx + x - 1][hiy + 1 - y].typ = (wallifyxtra ? randomwalltype() : wallifytype);
852 levl[lowx + xcut - 1][hiy + 1 - y].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : VWALL);
854 for (x = 0; x < xcut; x++)
855 levl[lowx + x - 1][hiy + 1 - ycut].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : HWALL);
856 levl[lowx + xcut - 1][hiy + 1 - ycut].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : TRCORNER);
857 levl[lowx - 1][hiy + 1 - ycut].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : BLCORNER);
858 levl[lowx + xcut - 1][hiy + 1].typ = (wallifytype ? (wallifyxtra ? randomwalltype() : wallifytype) : BLCORNER);
860 if (docenter) {
861 /* pillar in the middle */
862 int xcenter = lowx + ((hix - lowx) / 2);
863 int ycenter = lowy + ((hiy - lowy) / 2);
864 int xparity = ((hix - lowx) % 2) ? 1 : 0;
865 int yparity = ((hiy - lowy) % 2) ? 1 : 0;
866 int xradius = (xcut + 1) / 2;
867 int yradius = (ycut + 1) / 2;
868 int vcorrmin = xcenter - xradius + 1;
869 int vcorrmax = xcenter + xradius + xparity - 1;
870 int hcorrmin = ycenter - yradius + 1;
871 int hcorrmax = ycenter + yradius + yparity - 1;
872 for (x = xcenter - xradius; x <= xcenter + xradius + xparity; x++) {
873 for (y = ycenter - yradius; y <= ycenter + yradius + yparity; y++) {
875 if (wallifytype) levl[x][y].typ = wallifyxtra ? randomwalltype() : wallifytype;
876 else levl[x][y].typ =
877 ((x == xcenter - xradius) &&
878 (y == ycenter - yradius)) ? TLCORNER :
879 ((x == xcenter - xradius) &&
880 (y == ycenter + yradius + yparity)) ? BLCORNER :
881 ((x == xcenter + xradius + xparity) &&
882 (y == ycenter - yradius)) ? TRCORNER :
883 ((x == xcenter + xradius + xparity) &&
884 (y == ycenter + yradius + yparity)) ? BRCORNER :
885 ((x == xcenter - xradius) ||
886 (x == xcenter + xradius + xparity)) ? VWALL :
887 ((y == ycenter - yradius) ||
888 (y == ycenter + yradius + yparity)) ? HWALL : STONE;
891 if ((vcorrmax - vcorrmin) > 1 && rn2(3)) {
892 x = vcorrmin + rn2(vcorrmax - vcorrmin);
893 for (y = ycenter - yradius; y <= ycenter + yradius + yparity; y++) {
894 levl[x][y].typ =
895 ((y == ycenter - yradius) ||
896 (y == ycenter + yradius + yparity)) ? SDOOR : SCORR;
897 if (levl[x][y].typ == SDOOR) {
898 levl[x][y].horizontal = 1;
902 if ((hcorrmax - hcorrmin) > 1 && rn2(3)) {
903 y = hcorrmin + rn2(hcorrmax - hcorrmin);
904 for (x = xcenter - xradius; x <= xcenter + xradius + xparity; x++) {
905 levl[x][y].typ =
906 ((x == xcenter - xradius) ||
907 (x == xcenter + xradius + xparity)) ? SDOOR : SCORR;
912 if (!is_room) { /* a subroom */
913 wallification(lowx-1, lowy-1, hix+1, hiy+1, rn2(iswarper ? 10 : 200) ? FALSE : TRUE);
919 void
920 add_room(lowx, lowy, hix, hiy, lit, rtype, special, canbeshaped, roommate)
921 register int lowx, lowy, hix, hiy;
922 boolean lit;
923 schar rtype;
924 boolean special;
925 boolean canbeshaped;
926 int roommate;
928 register struct mkroom *croom;
930 croom = &rooms[nroom];
931 do_room_or_subroom(croom, lowx, lowy, hix, hiy, lit,
932 rtype, special, (boolean) TRUE, canbeshaped, roommate);
933 croom++;
934 croom->hx = -1;
935 nroom++;
938 void
939 add_subroom(proom, lowx, lowy, hix, hiy, lit, rtype, special)
940 struct mkroom *proom;
941 register int lowx, lowy, hix, hiy;
942 boolean lit;
943 schar rtype;
944 boolean special;
946 register struct mkroom *croom;
948 croom = &subrooms[nsubroom];
949 do_room_or_subroom(croom, lowx, lowy, hix, hiy, lit,
950 rtype, special, (boolean) FALSE, (boolean) FALSE, FALSE);
951 proom->sbrooms[proom->nsubrooms++] = croom;
952 croom++;
953 croom->hx = -1;
954 nsubroom++;
957 STATIC_OVL void
958 makerooms()
960 boolean tried_vault = FALSE;
962 /* make rooms until satisfied */
963 /* rnd_rect() will returns 0 if no more rects are available... */
964 while(nroom < MAXNROFROOMS && rnd_rect()) {
966 if(nroom >=
967 #ifdef BIGSLEX
969 #else
971 #endif
972 && rn2(2) && !tried_vault) {
973 tried_vault = TRUE;
974 if (create_vault()) {
975 vault_x = rooms[nroom].lx;
976 vault_y = rooms[nroom].ly;
977 rooms[nroom].hx = -1;
979 } else
980 if (!create_room(-1, -1, -1, -1, -1, -1, OROOM, -1, TRUE, FALSE) && !rn2(10) )
981 return;
983 return;
986 STATIC_OVL void
987 join(a,b,nxcor)
988 register int a, b;
989 boolean nxcor;
991 coord cc,tt, org, dest;
992 register xchar tx, ty, xx, yy;
993 register struct mkroom *croom, *troom;
994 register int dx, dy;
996 croom = &rooms[a];
997 troom = &rooms[b];
999 boolean specialcorridor = 0;
1000 if (!rn2(iswarper ? 50 : 500)) specialcorridor = 1;
1002 if (!((moves + u.monstertimefinish) % 5277 )) specialcorridor = 1;
1004 /* find positions cc and tt for doors in croom and troom
1005 and direction for a corridor between them */
1007 if(troom->hx < 0 || croom->hx < 0 || doorindex >= DOORMAX) return;
1008 if(troom->lx > croom->hx) {
1009 dx = 1;
1010 dy = 0;
1011 xx = croom->hx+1;
1012 tx = troom->lx-1;
1013 finddpos(&cc, xx, croom->ly, xx, croom->hy);
1014 finddpos(&tt, tx, troom->ly, tx, troom->hy);
1015 } else if(troom->hy < croom->ly) {
1016 dy = -1;
1017 dx = 0;
1018 yy = croom->ly-1;
1019 finddpos(&cc, croom->lx, yy, croom->hx, yy);
1020 ty = troom->hy+1;
1021 finddpos(&tt, troom->lx, ty, troom->hx, ty);
1022 } else if(troom->hx < croom->lx) {
1023 dx = -1;
1024 dy = 0;
1025 xx = croom->lx-1;
1026 tx = troom->hx+1;
1027 finddpos(&cc, xx, croom->ly, xx, croom->hy);
1028 finddpos(&tt, tx, troom->ly, tx, troom->hy);
1029 } else {
1030 dy = 1;
1031 dx = 0;
1032 yy = croom->hy+1;
1033 ty = troom->ly-1;
1034 finddpos(&cc, croom->lx, yy, croom->hx, yy);
1035 finddpos(&tt, troom->lx, ty, troom->hx, ty);
1037 xx = cc.x;
1038 yy = cc.y;
1039 tx = tt.x - dx;
1040 ty = tt.y - dy;
1041 if(nxcor && levl[xx+dx][yy+dy].typ)
1042 return;
1043 if (okdoor(xx,yy) || !nxcor)
1044 dodoor(xx,yy,croom);
1046 org.x = xx+dx; org.y = yy+dy;
1047 dest.x = tx; dest.y = ty;
1049 /* KMH -- Support for arboreal levels */
1051 if (!specialcorridor) {
1052 if (!dig_corridor(&org, &dest, nxcor,
1053 level.flags.arboreal ? ROOM : CORR, STONE))
1054 return;
1055 } else {
1056 if (!dig_corridor(&org, &dest, nxcor, walkableterrain(), STONE))
1057 return;
1060 /* we succeeded in digging the corridor */
1061 if (okdoor(tt.x, tt.y) || !nxcor)
1062 dodoor(tt.x, tt.y, troom);
1064 if(smeq[a] < smeq[b])
1065 smeq[b] = smeq[a];
1066 else
1067 smeq[a] = smeq[b];
1070 void
1071 makecorridors()
1073 /*pline("makecorridors");*/
1075 int a, b, i;
1076 boolean any = TRUE;
1078 int style = 0;
1079 if (!rn2(5)) style = rnd(6);
1080 #ifdef BIGSLEX
1081 /* bigslex levels have many more rooms, and the default mechanism is annoying because it constantly makes
1082 * large vertical pathways... make it more random --Amy */
1083 style = rnd(6);
1084 #endif
1086 /* sporkhack code to have different join mechanisms */
1087 switch (style) {
1088 default: /* case 4, vanilla style */
1090 for(a = 0; a < nroom-1; a++) {
1091 join(a, a+1, FALSE);
1092 if(!rn2(50)) break; /* allow some randomness */
1094 for(a = 0; a < nroom-2; a++)
1095 if(smeq[a] != smeq[a+2])
1096 join(a, a+2, FALSE);
1097 for(a = 0; any && a < nroom; a++) {
1098 any = FALSE;
1099 for(b = 0; b < nroom; b++)
1100 if(smeq[a] != smeq[b]) {
1101 join(a, b, FALSE);
1102 any = TRUE;
1105 if(nroom > 2)
1106 for(i = rn2(nroom) + 4; i; i--) {
1107 a = rn2(nroom);
1108 b = rn2(nroom-2);
1109 if(b >= a) b += 2;
1110 join(a, b, TRUE);
1113 break;
1114 case 1: /* at least one corridor leaves from each room and goes to random room */
1115 if (nroom > 1) {
1116 int cnt = 0;
1117 for (a = 0; a < nroom; a++) {
1118 do {
1119 b = rn2(nroom-1);
1120 } while (((a == b) || (rooms[b].doorct)) && cnt++ < 100);
1121 if (cnt >= 100) {
1122 for (b = 0; b < nroom-1; b++)
1123 if (!rooms[b].doorct && (a != b)) break;
1125 if (a == b) b++;
1126 join(a, b, FALSE);
1129 break;
1130 case 2: /* circular path: room1 -> room2 -> room3 -> ... -> room1 */
1131 if (nroom > 1) {
1132 for (a = 0; a < nroom; a++) {
1133 b = (a + 1) % nroom;
1134 join(a, b, FALSE);
1137 break;
1138 case 3: /* all roads lead to rome. or to the first room. Amy edit: one random room, not always the leftmost */
1139 if (nroom > 1) {
1140 b = rn2(nroom);
1141 for (a = 0; a < nroom; a++) {
1142 if (b != a) join(a, b, FALSE);
1145 break;
1146 case 5: /* by Amy - join random rooms, then make sure that every room has at least one door */
1147 if (nroom > 1) {
1148 int rmcnt = nroom;
1149 rmcnt += rnd(rmcnt);
1150 while (rmcnt > 1) {
1151 rmcnt--;
1152 a = rn2(nroom);
1153 b = rn2(nroom);
1154 while (b == a) b = rn2(nroom);
1155 join(a, b, FALSE);
1158 for (a = 0; a < nroom; a++) {
1159 if (!rooms[a].doorct) {
1160 b = rn2(nroom);
1161 while (b == a) b = rn2(nroom);
1162 join(a, b, FALSE);
1166 break;
1167 case 6:
1168 if (nroom > 1) {
1169 for (a = 0; a < nroom; a++) {
1170 b = rn2(nroom);
1171 while (b == a) b = rn2(nroom);
1172 join(a, b, FALSE);
1174 for (a = 0; a < nroom; a++) {
1175 b = rn2(nroom);
1176 while (b == a) b = rn2(nroom);
1177 join(a, b, FALSE);
1180 break;
1186 /* ALI - Artifact doors: Track doors in maze levels as well */
1189 add_door(x,y,aroom)
1190 register int x, y;
1191 register struct mkroom *aroom;
1193 register struct mkroom *broom;
1194 register int tmp;
1196 if (doorindex == DOORMAX)
1197 return -1;
1199 if (aroom) {
1200 aroom->doorct++;
1201 broom = aroom+1;
1202 } else
1203 /* ALI
1204 * Roomless doors must go right at the beginning of the list
1206 broom = &rooms[0];
1207 if(broom->hx < 0)
1208 tmp = doorindex;
1209 else
1210 for(tmp = doorindex; tmp > broom->fdoor; tmp--)
1211 doors[tmp] = doors[tmp-1];
1212 doorindex++;
1213 doors[tmp].x = x;
1214 doors[tmp].y = y;
1215 for( ; broom->hx >= 0; broom++) broom->fdoor++;
1216 doors[tmp].arti_key = 0;
1217 return tmp;
1220 STATIC_OVL void
1221 dosdoor(x,y,aroom,type)
1222 register xchar x, y;
1223 register struct mkroom *aroom;
1224 register int type;
1226 boolean shdoor = ((*in_rooms(x, y, SHOPBASE))? TRUE : FALSE);
1228 if(!IS_WALL(levl[x][y].typ)) /* avoid SDOORs on already made doors */
1229 type = DOOR;
1230 levl[x][y].typ = type;
1231 if(type == DOOR) {
1232 if(!rn2(3)) { /* is it a locked door, closed, or a doorway? */
1233 if(!rn2(5))
1234 levl[x][y].doormask = D_ISOPEN;
1235 else if(!rn2(6))
1236 levl[x][y].doormask = D_LOCKED;
1237 else
1238 levl[x][y].doormask = D_CLOSED;
1240 if (levl[x][y].doormask != D_ISOPEN && !shdoor &&
1241 level_difficulty() >= 5 && !rn2(25))
1242 levl[x][y].doormask |= D_TRAPPED;
1243 } else
1244 #ifdef STUPID
1245 if (shdoor)
1246 levl[x][y].doormask = D_ISOPEN;
1247 else
1248 levl[x][y].doormask = D_NODOOR;
1249 #else
1250 levl[x][y].doormask = (shdoor ? D_ISOPEN : D_NODOOR);
1251 #endif
1252 if(levl[x][y].doormask & D_TRAPPED) {
1253 struct monst *mtmp;
1255 /* "Mimics shouldn't appear outside of shops so early." In Soviet Russia, players can't handle mimics on dungeon level 5 for some reason. But mimics can appear as early as dungeon level 2, because that's where shops are generated for the first time, and those mimics everyone has to be able to handle... --Amy */
1257 if (level_difficulty() >= (issoviet ? 9 : 5) && !rn2(5) ) {
1258 /* make a mimic instead */
1259 levl[x][y].doormask = D_NODOOR;
1260 mtmp = makemon(mkclass(S_MIMIC,0), x, y, MM_MAYSLEEP);
1261 if (mtmp)
1262 set_mimic_sym(mtmp);
1265 /* newsym(x,y); */
1266 } else { /* SDOOR */
1267 if(shdoor || !rn2(5)) levl[x][y].doormask = D_LOCKED;
1268 else levl[x][y].doormask = D_CLOSED;
1270 if(!shdoor && level_difficulty() >= 4 && !rn2(20))
1271 levl[x][y].doormask |= D_TRAPPED;
1274 add_door(x,y,aroom);
1277 STATIC_OVL boolean
1278 place_niche(aroom,dy,xx,yy)
1279 register struct mkroom *aroom;
1280 int *dy, *xx, *yy;
1282 coord dd;
1284 if(rn2(2)) {
1285 *dy = 1;
1286 finddpos(&dd, aroom->lx, aroom->hy+1, aroom->hx, aroom->hy+1);
1287 } else {
1288 *dy = -1;
1289 finddpos(&dd, aroom->lx, aroom->ly-1, aroom->hx, aroom->ly-1);
1291 *xx = dd.x;
1292 *yy = dd.y;
1293 return((boolean)((isok(*xx,*yy+*dy) && levl[*xx][*yy+*dy].typ == STONE)
1294 && (isok(*xx,*yy-*dy) && !IS_POOL(levl[*xx][*yy-*dy].typ)
1295 && !IS_FURNITURE(levl[*xx][*yy-*dy].typ))));
1298 STATIC_OVL void
1299 makeniche(trap_type)
1300 int trap_type;
1302 register struct mkroom *aroom;
1303 register struct rm *rm;
1304 register int vct = 8;
1305 int dy, xx, yy;
1306 register struct trap *ttmp;
1308 if(doorindex < DOORMAX)
1309 while(vct--) {
1310 aroom = &rooms[rn2(nroom)];
1311 if(aroom->rtype != OROOM) continue; /* not an ordinary room */
1312 if(aroom->doorct == 1 && rn2(5)) continue;
1313 if(!place_niche(aroom,&dy,&xx,&yy)) continue;
1315 rm = &levl[xx][yy+dy];
1316 if(trap_type || !rn2(4)) {
1318 rm->typ = SCORR;
1319 if(trap_type) {
1320 if((trap_type == HOLE || trap_type == TRAPDOOR || trap_type == SHAFT_TRAP || trap_type == CURRENT_SHAFT)
1321 && !Can_fall_thru(&u.uz))
1322 trap_type = ROCKTRAP;
1323 ttmp = maketrap(xx, yy+dy, trap_type, 100, TRUE);
1324 if (ttmp) {
1325 if (trap_type != ROCKTRAP) ttmp->once = 1;
1327 /* screwy devs, why did they make a trap_engravings array if only three traps have an engraving? --Amy */
1328 if (trap_type == TELEP_TRAP || trap_type == LEVEL_TELEP) {
1329 if (level.flags.vault_is_aquarium) {
1330 make_engr_at(xx, yy-dy,"ad aquarium",0L, DUST);
1331 } else if (level.flags.vault_is_cursed) {
1332 make_engr_at(xx, yy-dy,"iter vehemens ad necem",0L, DUST);
1333 } else {
1334 make_engr_at(xx, yy-dy,"ad aerarium",0L, DUST);
1336 wipe_engr_at(xx, yy-dy, 5); /* age it a little */
1339 if (trap_type == TRAPDOOR) {
1340 make_engr_at(xx, yy-dy, "Vlad was here", 0L, DUST);
1341 wipe_engr_at(xx, yy-dy, 5); /* age it a little */
1346 dosdoor(xx, yy, aroom, SDOOR);
1347 } else {
1348 rm->typ = CORR;
1349 if(rn2(35))
1350 dosdoor(xx, yy, aroom, rn2(5) ? SDOOR : DOOR);
1351 else {
1353 if (!rn2(2) && IS_WALL(levl[xx][yy].typ)) levl[xx][yy].typ = IRONBARS;
1355 if (!level.flags.noteleport && !Race_if(PM_STABILISATOR))
1356 (void) mksobj_at(SCR_TELEPORTATION, xx, yy+dy, TRUE, FALSE, FALSE);
1357 if (!rn2(3) && (timebasedlowerchance() || timebasedlowerchance()) ) (void) mkobj_at(0, xx, yy+dy, TRUE, FALSE);
1360 return;
1364 void
1365 make_ironbarwalls(chance)
1366 int chance;
1368 xchar x,y;
1370 if (chance < 1) return;
1372 for (x = 1; x < COLNO-1; x++) {
1373 for(y = 1; y < ROWNO-1; y++) {
1374 schar typ = levl[x][y].typ;
1375 if (typ == HWALL) {
1376 if ((IS_WALL(levl[x-1][y].typ) || levl[x-1][y].typ == IRONBARS) &&
1377 (IS_WALL(levl[x+1][y].typ) || levl[x+1][y].typ == IRONBARS) &&
1378 SPACE_POS(levl[x][y-1].typ) && SPACE_POS(levl[x][y+1].typ) &&
1379 rn2(100) < chance)
1380 levl[x][y].typ = IRONBARS;
1381 } else if (typ == VWALL) {
1382 if ((IS_WALL(levl[x][y-1].typ) || levl[x][y-1].typ == IRONBARS) &&
1383 (IS_WALL(levl[x][y+1].typ) || levl[x][y+1].typ == IRONBARS) &&
1384 SPACE_POS(levl[x-1][y].typ) && SPACE_POS(levl[x+1][y].typ) &&
1385 rn2(100) < chance)
1386 levl[x][y].typ = IRONBARS;
1392 STATIC_OVL void
1393 make_niches()
1395 register int ct = rnd((nroom>>1) + 1), dep = depth(&u.uz);
1397 boolean ltptr = (!level.flags.noteleport && !Race_if(PM_STABILISATOR) && dep > 15),
1398 vamp = (dep > 5 && dep < 25);
1400 if (!rn2(2)) return; /* don't make so many --Amy */
1401 if ((ct > 1) && rn2(10)) ct = rnd(ct);
1403 while(ct--) {
1404 if (ltptr && !rn2(6)) {
1405 ltptr = FALSE;
1406 makeniche(LEVEL_TELEP);
1407 } else if (vamp && !rn2(6)) {
1408 vamp = FALSE;
1409 makeniche(TRAPDOOR);
1410 } else makeniche(NO_TRAP);
1414 STATIC_OVL void
1415 makevtele()
1417 makeniche(TELEP_TRAP);
1420 /* specdungeoninit by Amy: function that modifies terrain and other stuff when a new level in certain subdungeons is loaded */
1421 void
1422 specdungeoninit()
1424 register int x,y;
1426 for (x = 0; x < COLNO; x++)
1427 for (y = 0; y < ROWNO; y++) {
1429 if (isok(x,y) && In_illusorycastle(&u.uz) && (IS_STWALL(levl[x][y].typ) || levl[x][y].typ == ROOM || levl[x][y].typ == CORR) && !rn2(20)) {
1430 levl[x][y].typ = randomwalltype();
1434 if (isok(x,y) && (In_voiddungeon(&u.uz) && !rn2(25)) && (levl[x][y].typ == ROOM || levl[x][y].typ == CORR) && !rn2(5)) {
1435 levl[x][y].typ = NETHERMIST;
1436 maketrap(x, y, GIANT_CHASM, 100, TRUE);
1439 if (isok(x,y) && In_netherrealm(&u.uz) && (levl[x][y].typ == ROOM || levl[x][y].typ == CORR || (IS_STWALL(levl[x][y].typ) && !rn2(5)) ) && !rn2(10)) {
1440 levl[x][y].typ = NETHERMIST;
1441 if (!rn2(5)) maketrap(x, y, GIANT_CHASM, 100, TRUE);
1444 if (isok(x,y) && In_angmar(&u.uz) && (IS_STWALL(levl[x][y].typ) && !rn2(10))) {
1445 levl[x][y].typ = rn2(7) ? SAND : SHIFTINGSAND;
1449 if (isok(x,y) && In_angmar(&u.uz) && ((levl[x][y].typ == ROOM || levl[x][y].typ == CORR) && rn2(2))) {
1450 levl[x][y].typ = rn2(7) ? SAND : SHIFTINGSAND;
1454 if (isok(x,y) && In_swimmingpool(&u.uz) && (IS_STWALL(levl[x][y].typ) && rn2(5))) {
1455 levl[x][y].typ = WATERTUNNEL;
1459 if (isok(x,y) && In_swimmingpool(&u.uz) && ((levl[x][y].typ == ROOM || levl[x][y].typ == CORR) && !rn2(20))) {
1460 levl[x][y].typ = WATERTUNNEL;
1464 if (isok(x,y) && In_hellbathroom(&u.uz) && (IS_STWALL(levl[x][y].typ) || levl[x][y].typ == ROOM || levl[x][y].typ == CORR) && !rn2(3)) {
1465 levl[x][y].typ = rn2(100) ? URINELAKE : TOILET;
1469 if (isok(x,y) && In_sewerplant(&u.uz) && (IS_STWALL(levl[x][y].typ) || (levl[x][y].typ == ROOM || levl[x][y].typ == CORR)) && !rn2(5)) {
1470 levl[x][y].typ = rn2(5) ? MOORLAND : MOAT;
1476 /* make rivers if possible --Amy */
1477 if (!rn2(50) && !In_endgame(&u.uz) && !Invocation_lev(&u.uz) ) mkrivers();
1478 if (!rn2(250) && !In_endgame(&u.uz) && !Invocation_lev(&u.uz) ) mkrivers();
1480 if (ishaxor) {
1481 if (!rn2(50) && !In_endgame(&u.uz) && !Invocation_lev(&u.uz) ) mkrivers();
1482 if (!rn2(250) && !In_endgame(&u.uz) && !Invocation_lev(&u.uz) ) mkrivers();
1485 if (isaquarian && (!rn2(100) || depth(&u.uz) > 1) && !In_endgame(&u.uz) && !Invocation_lev(&u.uz) ) mkrivers();
1486 if (RngeRivers && (!rn2(100) || depth(&u.uz) > 1) && !In_endgame(&u.uz) && !Invocation_lev(&u.uz) ) mkrivers();
1488 if (Race_if(PM_HUNKAJUNK) && !rn2(25) && depth(&u.uz) > 1 && !In_endgame(&u.uz) && !Invocation_lev(&u.uz) ) hunkajunkriver();
1489 if (Race_if(PM_HUNKAJUNK) && depth(&u.uz) > 1 && !In_endgame(&u.uz) && !Invocation_lev(&u.uz) ) randhunkrivers();
1491 if (!rn2(50) && !In_endgame(&u.uz) && !Invocation_lev(&u.uz) ) mkrandrivers();
1492 if (!rn2(250) && !In_endgame(&u.uz) && !Invocation_lev(&u.uz) ) mkrandrivers();
1494 if (ishaxor) {
1495 if (!rn2(50) && !In_endgame(&u.uz) && !Invocation_lev(&u.uz) ) mkrandrivers();
1496 if (!rn2(250) && !In_endgame(&u.uz) && !Invocation_lev(&u.uz) ) mkrandrivers();
1499 if ((isroommate || !rn2(100)) && ((depth(&u.uz) > 1 && !(u.preversionmode && In_greencross(&u.uz) && (dunlev(&u.uz) == 1)) && !(iszapem && In_spacebase(&u.uz) && (dunlev(&u.uz) == 1))) || !rn2(10)) && !In_endgame(&u.uz)) {
1501 mkroommateroom(0);
1502 if (!rn2(5)) {
1503 mkroommateroom(0);
1504 while (!rn2(3)) mkroommateroom(0);
1510 if (isaquarian && !In_endgame(&u.uz) && !Invocation_lev(&u.uz) ) mkrandrivers();
1511 if (RngeRivers && !In_endgame(&u.uz) && !Invocation_lev(&u.uz) ) mkrandrivers();
1516 STATIC_OVL void
1517 makeriver(x1,y1,x2,y2,lava,rndom)
1518 int x1,y1,x2,y2;
1519 boolean lava,rndom;
1521 int cx,cy;
1522 int dx, dy;
1523 int chance;
1524 int count = 0;
1525 int trynmbr = 0;
1526 int rndomizat = 0;
1527 const char *str;
1528 if (rndom) rndomizat = (rn2(5) ? 0 : 1);
1529 if (rndom) trynmbr = rnd(20);
1531 register struct obj *otmpX;
1532 register int tryct = 0;
1534 cx = x1;
1535 cy = y1;
1537 while (count++ < 2000) {
1538 int rnum = levl[cx][cy].roomno - ROOMOFFSET;
1539 chance = 0;
1540 /*if (rnum >= 0 && rooms[rnum].rtype != OROOM) chance = 0;
1541 else */if (levl[cx][cy].typ == CORR) chance = 15;
1542 else if (levl[cx][cy].typ == ROOM) chance = 30;
1543 else if (IS_ROCK(levl[cx][cy].typ)) chance = 100;
1544 if (rndomizat) trynmbr = (rn2(5) ? rnd(80) : rnd(28));
1546 if (rn2(100) < chance && !t_at(cx,cy)) {
1547 if (lava) {
1548 if (rndom) {
1550 if (trynmbr == 1) levl[cx][cy].typ = POOL;
1551 else if (trynmbr == 2) levl[cx][cy].typ = TREE;
1552 else if (trynmbr == 3) levl[cx][cy].typ = IRONBARS;
1553 else if (trynmbr == 4) levl[cx][cy].typ = ICE;
1554 else if (trynmbr == 5) levl[cx][cy].typ = CLOUD;
1555 else if (trynmbr == 6) levl[cx][cy].typ = CORR;
1556 else if (trynmbr == 7) levl[cx][cy].typ = GRAVEWALL;
1557 else if (trynmbr == 8) levl[cx][cy].typ = TUNNELWALL;
1558 else if (trynmbr == 9) levl[cx][cy].typ = FARMLAND;
1559 else if (trynmbr == 10) levl[cx][cy].typ = MOUNTAIN;
1560 else if (trynmbr == 11) levl[cx][cy].typ = WATERTUNNEL;
1561 else if (trynmbr == 12) levl[cx][cy].typ = CRYSTALWATER;
1562 else if (trynmbr == 13) levl[cx][cy].typ = MOORLAND;
1563 else if (trynmbr == 14) levl[cx][cy].typ = URINELAKE;
1564 else if (trynmbr == 15) levl[cx][cy].typ = SHIFTINGSAND;
1565 else if (trynmbr == 16) levl[cx][cy].typ = STYXRIVER;
1566 else if (trynmbr == 17) levl[cx][cy].typ = SNOW;
1567 else if (trynmbr == 18) levl[cx][cy].typ = ASH;
1568 else if (trynmbr == 19) levl[cx][cy].typ = SAND;
1569 else if (trynmbr == 20) levl[cx][cy].typ = PAVEDFLOOR;
1570 else if (trynmbr == 21) levl[cx][cy].typ = HIGHWAY;
1571 else if (trynmbr == 22) levl[cx][cy].typ = GRASSLAND;
1572 else if (trynmbr == 23) levl[cx][cy].typ = NETHERMIST;
1573 else if (trynmbr == 24) levl[cx][cy].typ = STALACTITE;
1574 else if (trynmbr == 25) levl[cx][cy].typ = CRYPTFLOOR;
1575 else if (trynmbr == 26) levl[cx][cy].typ = BUBBLES;
1576 else if (trynmbr == 27) levl[cx][cy].typ = RAINCLOUD;
1577 else levl[cx][cy].typ = LAVAPOOL;
1579 else {levl[cx][cy].typ = LAVAPOOL;
1580 levl[cx][cy].lit = 1;
1582 } else if (rndom) {
1584 if (trynmbr == 1) levl[cx][cy].typ = LAVAPOOL;
1585 else if (trynmbr == 2) levl[cx][cy].typ = TREE;
1586 else if (trynmbr == 3) levl[cx][cy].typ = IRONBARS;
1587 else if (trynmbr == 4) levl[cx][cy].typ = ICE;
1588 else if (trynmbr == 5) levl[cx][cy].typ = CLOUD;
1589 else if (trynmbr == 6) levl[cx][cy].typ = CORR;
1590 else if (trynmbr == 7) levl[cx][cy].typ = GRAVEWALL;
1591 else if (trynmbr == 8) levl[cx][cy].typ = TUNNELWALL;
1592 else if (trynmbr == 9) levl[cx][cy].typ = FARMLAND;
1593 else if (trynmbr == 10) levl[cx][cy].typ = MOUNTAIN;
1594 else if (trynmbr == 11) levl[cx][cy].typ = WATERTUNNEL;
1595 else if (trynmbr == 12) levl[cx][cy].typ = CRYSTALWATER;
1596 else if (trynmbr == 13) levl[cx][cy].typ = MOORLAND;
1597 else if (trynmbr == 14) levl[cx][cy].typ = URINELAKE;
1598 else if (trynmbr == 15) levl[cx][cy].typ = SHIFTINGSAND;
1599 else if (trynmbr == 16) levl[cx][cy].typ = STYXRIVER;
1600 else if (trynmbr == 17) levl[cx][cy].typ = SNOW;
1601 else if (trynmbr == 18) levl[cx][cy].typ = ASH;
1602 else if (trynmbr == 19) levl[cx][cy].typ = SAND;
1603 else if (trynmbr == 20) levl[cx][cy].typ = PAVEDFLOOR;
1604 else if (trynmbr == 21) levl[cx][cy].typ = HIGHWAY;
1605 else if (trynmbr == 22) levl[cx][cy].typ = GRASSLAND;
1606 else if (trynmbr == 23) levl[cx][cy].typ = NETHERMIST;
1607 else if (trynmbr == 24) levl[cx][cy].typ = STALACTITE;
1608 else if (trynmbr == 25) levl[cx][cy].typ = CRYPTFLOOR;
1609 else if (trynmbr == 26) levl[cx][cy].typ = BUBBLES;
1610 else if (trynmbr == 27) levl[cx][cy].typ = RAINCLOUD;
1611 else levl[cx][cy].typ = POOL;
1613 else
1614 levl[cx][cy].typ = !rn2(3) ? POOL : MOAT;
1616 if (!rn2(ishaxor ? 10000 : 20000))
1617 levl[cx][cy].typ = THRONE;
1618 else if (!rn2(ishaxor ? 50000 : 100000))
1619 levl[cx][cy].typ = PENTAGRAM;
1620 else if (!rn2(ishaxor ? 25000 : 50000))
1621 levl[cx][cy].typ = WELL;
1622 else if (!rn2(ishaxor ? 25000 : 50000))
1623 levl[cx][cy].typ = POISONEDWELL;
1624 else if (!rn2(ishaxor ? 25000 : 50000))
1625 levl[cx][cy].typ = WAGON;
1626 else if (!rn2(ishaxor ? 25000 : 50000))
1627 levl[cx][cy].typ = BURNINGWAGON;
1628 else if (!rn2(ishaxor ? 20000 : 40000))
1629 levl[cx][cy].typ = WOODENTABLE;
1630 else if (!rn2(ishaxor ? 25000 : 50000))
1631 levl[cx][cy].typ = CARVEDBED;
1632 else if (!rn2(ishaxor ? 10000 : 20000))
1633 levl[cx][cy].typ = STRAWMATTRESS;
1634 else if (!rn2(ishaxor ? 2500 : 5000)) {
1635 levl[cx][cy].typ = FOUNTAIN;
1636 level.flags.nfountains++;
1638 else if (!rn2(ishaxor ? 2500 : 5000)) {
1639 levl[cx][cy].typ = SINK;
1640 level.flags.nsinks++;
1642 else if (!rn2(ishaxor ? 5000 : 10000))
1643 levl[cx][cy].typ = TOILET;
1644 else if (!rn2(ishaxor ? 1000 : 2000)) {
1645 levl[cx][cy].typ = GRAVE;
1646 str = random_epitaph();
1647 del_engr_at(cx, cy);
1648 make_engr_at(cx, cy, str, 0L, HEADSTONE);
1650 if (!rn2(3)) (void) mkgold(0L, cx, cy);
1651 for (tryct = rn2(5); tryct; tryct--) {
1652 if (timebasedlowerchance()) {
1653 otmpX = mkobj(RANDOM_CLASS, TRUE, FALSE);
1654 if (!otmpX) return;
1655 curse(otmpX);
1656 otmpX->ox = cx;
1657 otmpX->oy = cy;
1658 add_to_buried(otmpX);
1662 else if (!rn2(ishaxor ? 10000 : 20000)) {
1663 levl[cx][cy].typ = ALTAR;
1664 if (rn2(10)) levl[cx][cy].altarmask = Align2amask( A_NONE );
1665 else switch (rnd(3)) {
1666 case 1: levl[cx][cy].altarmask = Align2amask( A_LAWFUL ); break;
1667 case 2: levl[cx][cy].altarmask = Align2amask( A_NEUTRAL ); break;
1668 case 3: levl[cx][cy].altarmask = Align2amask( A_CHAOTIC ); break;
1671 if (!rn2(25)) {
1672 register struct obj *altarwater;
1673 altarwater = mksobj_at(POT_WATER, cx, cy, FALSE, FALSE, FALSE);
1674 if (altarwater) {
1676 if (Amask2align(levl[cx][cy].altarmask) == A_NONE && !rn2(5)) curse(altarwater);
1677 else bless(altarwater);
1685 if (cx == x2 && cy == y2) break;
1687 if (cx < x2 && !rn2(3)) dx = 1;
1688 else if (cx > x2 && !rn2(3)) dx = -1;
1689 else dx = 0;
1691 if (cy < y2 && !rn2(3)) dy = 1;
1692 else if (cy > y2 && !rn2(3)) dy = -1;
1693 else dy = 0;
1695 switch (rn2(16)) {
1696 default: break;
1697 case 1: dx--; dy--; break;
1698 case 2: dx++; dy--; break;
1699 case 3: dx--; dy++; break;
1700 case 4: dx++; dy++; break;
1701 case 5: dy--; break;
1702 case 6: dy++; break;
1703 case 7: dx--; break;
1704 case 8: dx++; break;
1707 if (dx < -1) dx = -1;
1708 else if (dx > 1) dx = 1;
1709 if (dy < -1) dy = -1;
1710 else if (dy > 1) dy = 1;
1712 cx += dx;
1713 cy += dy;
1715 if (cx < 0) cx = 0;
1716 else if (cx >= COLNO) cx = COLNO-1;
1717 if (cy < 0) cy = 0;
1718 else if (cy >= ROWNO) cy = ROWNO-1;
1723 STATIC_OVL void
1724 makehunkriver(x1,y1,x2,y2)
1725 int x1,y1,x2,y2;
1727 int cx,cy;
1728 int dx, dy;
1729 int chance;
1730 int count = 0;
1731 const char *str;
1733 cx = x1;
1734 cy = y1;
1736 while (count++ < 2000) {
1737 int rnum = levl[cx][cy].roomno - ROOMOFFSET;
1738 chance = 0;
1739 if (levl[cx][cy].typ == CORR) chance = 75;
1740 else if (levl[cx][cy].typ == ROOM) chance = 90;
1741 else if (levl[cx][cy].typ == ICE) chance = 80;
1742 else if (levl[cx][cy].typ == SNOW) chance = 60;
1743 else if (levl[cx][cy].typ == ASH) chance = 75;
1744 else if (levl[cx][cy].typ == SAND) chance = 95;
1745 else if (levl[cx][cy].typ == PAVEDFLOOR) chance = 90;
1746 else if (levl[cx][cy].typ == HIGHWAY) chance = 95;
1747 else if (levl[cx][cy].typ == GRASSLAND) chance = 70;
1748 else if (levl[cx][cy].typ == NETHERMIST) chance = 50;
1749 else if (levl[cx][cy].typ == STALACTITE) chance = 30;
1750 else if (levl[cx][cy].typ == CRYPTFLOOR) chance = 70;
1751 else if (levl[cx][cy].typ == AIR) chance = 60;
1752 else if (levl[cx][cy].typ == CLOUD) chance = 75;
1753 else if (levl[cx][cy].typ == BUBBLES) chance = 50;
1754 else if (levl[cx][cy].typ == RAINCLOUD) chance = 30;
1756 if (rn2(100) < chance) {
1757 levl[cx][cy].typ = ROCKWALL;
1758 blockorunblock_point(cx,cy);
1761 if (cx == x2 && cy == y2) break;
1763 if (cx < x2 && !rn2(3)) dx = 1;
1764 else if (cx > x2 && !rn2(3)) dx = -1;
1765 else dx = 0;
1767 if (cy < y2 && !rn2(3)) dy = 1;
1768 else if (cy > y2 && !rn2(3)) dy = -1;
1769 else dy = 0;
1771 switch (rn2(16)) {
1772 default: break;
1773 case 1: dx--; dy--; break;
1774 case 2: dx++; dy--; break;
1775 case 3: dx--; dy++; break;
1776 case 4: dx++; dy++; break;
1777 case 5: dy--; break;
1778 case 6: dy++; break;
1779 case 7: dx--; break;
1780 case 8: dx++; break;
1783 if (dx < -1) dx = -1;
1784 else if (dx > 1) dx = 1;
1785 if (dy < -1) dy = -1;
1786 else if (dy > 1) dy = 1;
1788 cx += dx;
1789 cy += dy;
1791 if (cx < 0) cx = 0;
1792 else if (cx >= COLNO) cx = COLNO-1;
1793 if (cy < 0) cy = 0;
1794 else if (cy >= ROWNO) cy = ROWNO-1;
1799 STATIC_OVL void
1800 makerandriver(lava,rndom)
1801 boolean lava,rndom;
1804 int cx,cy;
1805 int chance;
1806 int count = 0;
1807 int ammount = rnz(10 + rnd(40) + rnz(5) + (rn2(5) ? 0 : 50) + (rn2(25) ? 0 : 200) );
1808 int trynmbr = 0;
1809 int rndomizat = 0;
1810 const char *str;
1811 if (rndom) rndomizat = (rn2(3) ? 0 : 1);
1812 if (rndom) trynmbr = rnd(12);
1814 register int tryct = 0;
1815 register struct obj *otmpX;
1817 while (count++ < ammount) {
1819 cx = rn2(COLNO);
1820 cy = rn2(ROWNO);
1822 chance = 0;
1823 if (levl[cx][cy].typ == CORR) chance = 15;
1824 else if (levl[cx][cy].typ == ROOM) chance = 30;
1825 else if (IS_ROCK(levl[cx][cy].typ)) chance = 100;
1826 if (rndomizat) trynmbr = (rn2(5) ? rnd(50) : rnd(28));
1828 if (rn2(100) < chance && !t_at(cx,cy)) {
1829 if (lava) {
1830 if (rndom) {
1832 if (trynmbr == 1) levl[cx][cy].typ = POOL;
1833 else if (trynmbr == 2) levl[cx][cy].typ = TREE;
1834 else if (trynmbr == 3) levl[cx][cy].typ = IRONBARS;
1835 else if (trynmbr == 4) levl[cx][cy].typ = ICE;
1836 else if (trynmbr == 5) levl[cx][cy].typ = CLOUD;
1837 else if (trynmbr == 6) levl[cx][cy].typ = CORR;
1838 else if (trynmbr == 7) levl[cx][cy].typ = GRAVEWALL;
1839 else if (trynmbr == 8) levl[cx][cy].typ = TUNNELWALL;
1840 else if (trynmbr == 9) levl[cx][cy].typ = FARMLAND;
1841 else if (trynmbr == 10) levl[cx][cy].typ = MOUNTAIN;
1842 else if (trynmbr == 11) levl[cx][cy].typ = WATERTUNNEL;
1843 else if (trynmbr == 12) levl[cx][cy].typ = CRYSTALWATER;
1844 else if (trynmbr == 13) levl[cx][cy].typ = MOORLAND;
1845 else if (trynmbr == 14) levl[cx][cy].typ = URINELAKE;
1846 else if (trynmbr == 15) levl[cx][cy].typ = SHIFTINGSAND;
1847 else if (trynmbr == 16) levl[cx][cy].typ = STYXRIVER;
1848 else if (trynmbr == 17) levl[cx][cy].typ = SNOW;
1849 else if (trynmbr == 18) levl[cx][cy].typ = ASH;
1850 else if (trynmbr == 19) levl[cx][cy].typ = SAND;
1851 else if (trynmbr == 20) levl[cx][cy].typ = PAVEDFLOOR;
1852 else if (trynmbr == 21) levl[cx][cy].typ = HIGHWAY;
1853 else if (trynmbr == 22) levl[cx][cy].typ = GRASSLAND;
1854 else if (trynmbr == 23) levl[cx][cy].typ = NETHERMIST;
1855 else if (trynmbr == 24) levl[cx][cy].typ = STALACTITE;
1856 else if (trynmbr == 25) levl[cx][cy].typ = CRYPTFLOOR;
1857 else if (trynmbr == 26) levl[cx][cy].typ = BUBBLES;
1858 else if (trynmbr == 27) levl[cx][cy].typ = RAINCLOUD;
1859 else levl[cx][cy].typ = LAVAPOOL;
1861 else {levl[cx][cy].typ = LAVAPOOL;
1862 levl[cx][cy].lit = 1;
1864 } else if (rndom) {
1866 if (trynmbr == 1) levl[cx][cy].typ = LAVAPOOL;
1867 else if (trynmbr == 2) levl[cx][cy].typ = TREE;
1868 else if (trynmbr == 3) levl[cx][cy].typ = IRONBARS;
1869 else if (trynmbr == 4) levl[cx][cy].typ = ICE;
1870 else if (trynmbr == 5) levl[cx][cy].typ = CLOUD;
1871 else if (trynmbr == 6) levl[cx][cy].typ = CORR;
1872 else if (trynmbr == 7) levl[cx][cy].typ = GRAVEWALL;
1873 else if (trynmbr == 8) levl[cx][cy].typ = TUNNELWALL;
1874 else if (trynmbr == 9) levl[cx][cy].typ = FARMLAND;
1875 else if (trynmbr == 10) levl[cx][cy].typ = MOUNTAIN;
1876 else if (trynmbr == 11) levl[cx][cy].typ = WATERTUNNEL;
1877 else if (trynmbr == 12) levl[cx][cy].typ = CRYSTALWATER;
1878 else if (trynmbr == 13) levl[cx][cy].typ = MOORLAND;
1879 else if (trynmbr == 14) levl[cx][cy].typ = URINELAKE;
1880 else if (trynmbr == 15) levl[cx][cy].typ = SHIFTINGSAND;
1881 else if (trynmbr == 16) levl[cx][cy].typ = STYXRIVER;
1882 else if (trynmbr == 17) levl[cx][cy].typ = SNOW;
1883 else if (trynmbr == 18) levl[cx][cy].typ = ASH;
1884 else if (trynmbr == 19) levl[cx][cy].typ = SAND;
1885 else if (trynmbr == 20) levl[cx][cy].typ = PAVEDFLOOR;
1886 else if (trynmbr == 21) levl[cx][cy].typ = HIGHWAY;
1887 else if (trynmbr == 22) levl[cx][cy].typ = GRASSLAND;
1888 else if (trynmbr == 23) levl[cx][cy].typ = NETHERMIST;
1889 else if (trynmbr == 24) levl[cx][cy].typ = STALACTITE;
1890 else if (trynmbr == 25) levl[cx][cy].typ = CRYPTFLOOR;
1891 else if (trynmbr == 26) levl[cx][cy].typ = BUBBLES;
1892 else if (trynmbr == 27) levl[cx][cy].typ = RAINCLOUD;
1893 else levl[cx][cy].typ = POOL;
1895 else
1896 levl[cx][cy].typ = !rn2(3) ? POOL : MOAT;
1898 if (!rn2(ishaxor ? 10000 : 20000))
1899 levl[cx][cy].typ = THRONE;
1900 else if (!rn2(ishaxor ? 50000 : 100000))
1901 levl[cx][cy].typ = PENTAGRAM;
1902 else if (!rn2(ishaxor ? 25000 : 50000))
1903 levl[cx][cy].typ = WELL;
1904 else if (!rn2(ishaxor ? 25000 : 50000))
1905 levl[cx][cy].typ = POISONEDWELL;
1906 else if (!rn2(ishaxor ? 25000 : 50000))
1907 levl[cx][cy].typ = WAGON;
1908 else if (!rn2(ishaxor ? 25000 : 50000))
1909 levl[cx][cy].typ = BURNINGWAGON;
1910 else if (!rn2(ishaxor ? 20000 : 40000))
1911 levl[cx][cy].typ = WOODENTABLE;
1912 else if (!rn2(ishaxor ? 25000 : 50000))
1913 levl[cx][cy].typ = CARVEDBED;
1914 else if (!rn2(ishaxor ? 10000 : 20000))
1915 levl[cx][cy].typ = STRAWMATTRESS;
1916 else if (!rn2(ishaxor ? 2500 : 5000)) {
1917 levl[cx][cy].typ = FOUNTAIN;
1918 level.flags.nfountains++;
1920 else if (!rn2(ishaxor ? 2500 : 5000)) {
1921 levl[cx][cy].typ = SINK;
1922 level.flags.nsinks++;
1924 else if (!rn2(ishaxor ? 5000 : 10000))
1925 levl[cx][cy].typ = TOILET;
1926 else if (!rn2(ishaxor ? 1000 : 2000)) {
1927 levl[cx][cy].typ = GRAVE;
1928 str = random_epitaph();
1929 del_engr_at(cx, cy);
1930 make_engr_at(cx, cy, str, 0L, HEADSTONE);
1932 if (!rn2(3)) (void) mkgold(0L, cx, cy);
1933 for (tryct = rn2(5); tryct; tryct--) {
1934 if (timebasedlowerchance()) {
1935 otmpX = mkobj(RANDOM_CLASS, TRUE, FALSE);
1936 if (!otmpX) return;
1937 curse(otmpX);
1938 otmpX->ox = cx;
1939 otmpX->oy = cy;
1940 add_to_buried(otmpX);
1944 else if (!rn2(ishaxor ? 10000 : 20000)) {
1945 levl[cx][cy].typ = ALTAR;
1946 if (rn2(10)) levl[cx][cy].altarmask = Align2amask( A_NONE );
1947 else switch (rnd(3)) {
1948 case 1: levl[cx][cy].altarmask = Align2amask( A_LAWFUL ); break;
1949 case 2: levl[cx][cy].altarmask = Align2amask( A_NEUTRAL ); break;
1950 case 3: levl[cx][cy].altarmask = Align2amask( A_CHAOTIC ); break;
1953 if (!rn2(25)) {
1954 register struct obj *altarwater;
1955 altarwater = mksobj_at(POT_WATER, cx, cy, FALSE, FALSE, FALSE);
1956 if (altarwater) {
1958 if (Amask2align(levl[cx][cy].altarmask) == A_NONE && !rn2(5)) curse(altarwater);
1959 else bless(altarwater);
1969 STATIC_OVL void
1970 makerandhunkriver(rndom)
1971 boolean rndom;
1974 int cx,cy;
1975 int chance;
1976 int count = 0;
1977 int ammount = rnz(10 + rnd(40) + rnz(5) + (rn2(5) ? 0 : 50) + (rn2(25) ? 0 : 200) );
1978 int trynmbr = 0;
1979 const char *str;
1980 if (rndom) trynmbr = rnd(12);
1982 register int tryct = 0;
1983 register struct obj *otmpX;
1985 while (count++ < ammount) {
1987 cx = rn2(COLNO);
1988 cy = rn2(ROWNO);
1990 chance = 0;
1991 if (levl[cx][cy].typ == CORR) chance = 75;
1992 else if (levl[cx][cy].typ == ROOM) chance = 90;
1993 else if (levl[cx][cy].typ == ICE) chance = 80;
1994 else if (levl[cx][cy].typ == SNOW) chance = 60;
1995 else if (levl[cx][cy].typ == ASH) chance = 75;
1996 else if (levl[cx][cy].typ == SAND) chance = 95;
1997 else if (levl[cx][cy].typ == PAVEDFLOOR) chance = 90;
1998 else if (levl[cx][cy].typ == HIGHWAY) chance = 95;
1999 else if (levl[cx][cy].typ == GRASSLAND) chance = 70;
2000 else if (levl[cx][cy].typ == NETHERMIST) chance = 50;
2001 else if (levl[cx][cy].typ == STALACTITE) chance = 30;
2002 else if (levl[cx][cy].typ == CRYPTFLOOR) chance = 70;
2003 else if (levl[cx][cy].typ == AIR) chance = 60;
2004 else if (levl[cx][cy].typ == CLOUD) chance = 75;
2005 else if (levl[cx][cy].typ == BUBBLES) chance = 50;
2006 else if (levl[cx][cy].typ == RAINCLOUD) chance = 30;
2008 if (rn2(100) < chance) {
2009 if (rndom || !rn2(10)) {
2011 if (trynmbr == 1) levl[cx][cy].typ = POOL;
2012 else if (trynmbr == 2) levl[cx][cy].typ = TREE;
2013 else if (trynmbr == 3) levl[cx][cy].typ = IRONBARS;
2014 else if (trynmbr == 4) levl[cx][cy].typ = ICE;
2015 else if (trynmbr == 5) levl[cx][cy].typ = CLOUD;
2016 else if (trynmbr == 6) levl[cx][cy].typ = CORR;
2017 else if (trynmbr == 7) levl[cx][cy].typ = GRAVEWALL;
2018 else if (trynmbr == 8) levl[cx][cy].typ = TUNNELWALL;
2019 else if (trynmbr == 9) levl[cx][cy].typ = FARMLAND;
2020 else if (trynmbr == 10) levl[cx][cy].typ = MOUNTAIN;
2021 else if (trynmbr == 11) levl[cx][cy].typ = WATERTUNNEL;
2022 else if (trynmbr == 12) levl[cx][cy].typ = CRYSTALWATER;
2023 else if (trynmbr == 13) levl[cx][cy].typ = MOORLAND;
2024 else if (trynmbr == 14) levl[cx][cy].typ = URINELAKE;
2025 else if (trynmbr == 15) levl[cx][cy].typ = SHIFTINGSAND;
2026 else if (trynmbr == 16) levl[cx][cy].typ = STYXRIVER;
2027 else if (trynmbr == 17) levl[cx][cy].typ = SNOW;
2028 else if (trynmbr == 18) levl[cx][cy].typ = ASH;
2029 else if (trynmbr == 19) levl[cx][cy].typ = SAND;
2030 else if (trynmbr == 20) levl[cx][cy].typ = PAVEDFLOOR;
2031 else if (trynmbr == 21) levl[cx][cy].typ = HIGHWAY;
2032 else if (trynmbr == 22) levl[cx][cy].typ = GRASSLAND;
2033 else if (trynmbr == 23) levl[cx][cy].typ = NETHERMIST;
2034 else if (trynmbr == 24) levl[cx][cy].typ = STALACTITE;
2035 else if (trynmbr == 25) levl[cx][cy].typ = CRYPTFLOOR;
2036 else if (trynmbr == 26) levl[cx][cy].typ = BUBBLES;
2037 else if (trynmbr == 27) levl[cx][cy].typ = RAINCLOUD;
2038 else levl[cx][cy].typ = ROCKWALL;
2039 } else {
2040 levl[cx][cy].typ = ROCKWALL;
2042 blockorunblock_point(cx,cy);
2049 void
2050 mkrivers()
2052 boolean lava;
2053 boolean rndom;
2054 int nriv = rn2(3) + 1;
2055 if (!rn2(10)) nriv += rnd(3);
2056 if (!rn2(100)) nriv += rnd(5);
2057 if (!rn2(500)) nriv += rnd(7);
2058 if (!rn2(2000)) nriv += rnd(10);
2059 if (!rn2(10000)) nriv += rnd(15);
2060 while (nriv--) {
2061 lava = rn2(100) < depth(&u.uz);
2062 rndom = (rn2(4) ? 0 : 1);
2063 if (rn2(2)) makeriver(0, rn2(ROWNO), COLNO-1, rn2(ROWNO), lava, rndom);
2064 else makeriver(rn2(COLNO), 0, rn2(COLNO), ROWNO-1, lava, rndom);
2068 void
2069 hunkajunkriver()
2071 int nriv = rn2(3) + 1;
2072 if (!rn2(10)) nriv += rnd(3);
2073 if (!rn2(100)) nriv += rnd(5);
2074 if (!rn2(500)) nriv += rnd(7);
2075 if (!rn2(2000)) nriv += rnd(10);
2076 if (!rn2(10000)) nriv += rnd(15);
2077 while (nriv--) {
2078 if (rn2(2)) makehunkriver(0, rn2(ROWNO), COLNO-1, rn2(ROWNO));
2079 else makehunkriver(rn2(COLNO), 0, rn2(COLNO), ROWNO-1);
2083 void
2084 mkrandrivers()
2086 boolean lava;
2087 boolean rndom;
2088 int nriv = 1;
2089 if (!rn2(10)) nriv += rnd(2);
2090 if (!rn2(100)) nriv += rnd(3);
2091 if (!rn2(500)) nriv += rnd(5);
2092 if (!rn2(2000)) nriv += rnd(7);
2093 if (!rn2(10000)) nriv += rnd(10);
2095 while (nriv--) {
2096 lava = rn2(100) < depth(&u.uz);
2097 rndom = (rn2(3) ? 0 : 1);
2098 if (rn2(2)) makerandriver(lava, rndom);
2099 else makerandriver(lava, rndom);
2103 void
2104 randhunkrivers()
2106 boolean rndom;
2107 int nriv = 1;
2108 if (!rn2(10)) nriv += rnd(2);
2109 if (!rn2(100)) nriv += rnd(3);
2110 if (!rn2(500)) nriv += rnd(5);
2111 if (!rn2(2000)) nriv += rnd(7);
2112 if (!rn2(10000)) nriv += rnd(10);
2114 while (nriv--) {
2115 rndom = (rn2(10) ? 0 : 1);
2116 makerandhunkriver(rndom);
2121 /* clear out various globals that keep information on the current level.
2122 * some of this is only necessary for some types of levels (maze, normal,
2123 * special) but it's easier to put it all in one place than make sure
2124 * each type initializes what it needs to separately.
2126 STATIC_OVL void
2127 clear_level_structures()
2129 #ifdef DISPLAY_LAYERS
2130 static struct rm zerorm = { S_stone, 0, 0, 0, 0, 0,
2131 #else
2132 static struct rm zerorm = { cmap_to_glyph(S_stone),
2133 #endif
2134 0, 0, 0, 0, 0, 0, 0, 0 };
2135 register int x,y;
2136 register struct rm *lev;
2138 for(x=0; x<COLNO; x++) {
2139 lev = &levl[x][0];
2140 for(y=0; y<ROWNO; y++) {
2141 *lev++ = zerorm;
2142 #ifdef MICROPORT_BUG
2143 level.objects[x][y] = (struct obj *)0;
2144 level.monsters[x][y] = (struct monst *)0;
2145 #endif
2148 #ifndef MICROPORT_BUG
2149 (void) memset((void *)level.objects, 0, sizeof(level.objects));
2150 (void) memset((void *)level.monsters, 0, sizeof(level.monsters));
2151 #endif
2152 level.objlist = (struct obj *)0;
2153 level.buriedobjlist = (struct obj *)0;
2154 level.monlist = (struct monst *)0;
2155 level.damagelist = (struct damage *)0;
2157 level.flags.nfountains = 0;
2158 level.flags.nsinks = 0;
2159 level.flags.has_shop = 0;
2160 level.flags.has_vault = 0;
2161 level.flags.vault_is_aquarium = 0;
2162 level.flags.vault_is_cursed = 0;
2163 level.flags.has_zoo = 0;
2164 level.flags.has_court = 0;
2165 level.flags.has_morgue = level.flags.graveyard = 0;
2166 level.flags.has_beehive = 0;
2167 level.flags.has_barracks = 0;
2168 level.flags.has_lemurepit = 0;
2169 level.flags.has_migohive = 0;
2170 level.flags.has_fungusfarm = 0;
2171 level.flags.has_clinic = 0;
2172 level.flags.has_terrorhall = 0;
2173 level.flags.has_tenshall = 0;
2174 level.flags.has_elemhall = 0;
2175 level.flags.has_angelhall = 0;
2176 level.flags.has_mimichall = 0;
2177 level.flags.has_nymphhall = 0;
2178 level.flags.has_golemhall = 0;
2179 level.flags.has_humanhall = 0;
2180 level.flags.has_spiderhall = 0;
2181 level.flags.has_trollhall = 0;
2182 level.flags.has_coinhall = 0;
2184 level.flags.has_grueroom = 0;
2185 level.flags.has_poolroom = 0;
2186 level.flags.has_traproom = 0;
2188 level.flags.has_cryptroom = 0;
2189 level.flags.has_troublezone = 0;
2190 level.flags.has_weaponchamber = 0;
2191 level.flags.has_hellpit = 0;
2192 level.flags.has_robbercave = 0;
2193 level.flags.has_casinoroom = 0;
2194 level.flags.has_sanitationcentral = 0;
2195 level.flags.has_feminismroom = 0;
2196 level.flags.has_meadowroom = 0;
2197 level.flags.has_coolingchamber = 0;
2198 level.flags.has_voidroom = 0;
2199 level.flags.has_armory = 0;
2200 level.flags.has_hamletroom = 0;
2201 level.flags.has_kopstation = 0;
2202 level.flags.has_bossroom = 0;
2203 level.flags.has_rngcenter = 0;
2204 level.flags.has_wizardsdorm = 0;
2205 level.flags.has_doomedbarracks = 0;
2206 level.flags.has_sleepingroom = 0;
2207 level.flags.has_diverparadise = 0;
2208 level.flags.has_menagerie = 0;
2209 level.flags.has_nastycentral = 0;
2210 level.flags.has_emptydesert = 0;
2211 level.flags.has_rarityroom = 0;
2212 level.flags.has_exhibitroom = 0;
2213 level.flags.has_prisonchamber = 0;
2214 level.flags.has_nuclearchamber = 0;
2215 level.flags.has_levelseventyroom = 0;
2216 level.flags.has_playercentral = 0;
2217 level.flags.has_variantroom = 0;
2219 level.flags.has_evilroom = 0;
2220 level.flags.has_religioncenter = 0;
2221 level.flags.has_cursedmummyroom = 0;
2222 level.flags.has_arduousmountain = 0;
2223 level.flags.has_changingroom = 0;
2224 level.flags.has_questorroom = 0;
2225 level.flags.has_levelffroom = 0;
2226 level.flags.has_verminroom = 0;
2227 level.flags.has_miraspa = 0;
2228 level.flags.has_machineroom = 0;
2229 level.flags.has_showerroom = 0;
2230 level.flags.has_greencrossroom = 0;
2231 level.flags.has_ruinedchurch = 0;
2232 level.flags.has_gamecorner = 0;
2233 level.flags.has_illusionroom = 0;
2235 level.flags.has_statueroom = 0;
2236 level.flags.has_insideroom = 0;
2237 level.flags.has_riverroom = 0;
2239 level.flags.has_temple = 0;
2240 level.flags.has_swamp = 0;
2241 level.flags.noteleport = 0;
2242 level.flags.hardfloor = 0;
2243 level.flags.nommap = 0;
2244 level.flags.hero_memory = 1;
2245 level.flags.shortsighted = 0;
2246 level.flags.arboreal = 0;
2247 level.flags.is_maze_lev = 0;
2248 level.flags.is_cavernous_lev = 0;
2249 /* KMH -- more level properties */
2250 level.flags.arboreal = 0;
2251 level.flags.spooky = 0;
2253 /* [DS] - Michael Clarke's Lethe flag */
2254 level.flags.lethe = 0;
2256 nroom = 0;
2257 rooms[0].hx = -1;
2258 nsubroom = 0;
2259 subrooms[0].hx = -1;
2260 doorindex = 0;
2261 init_rect();
2262 init_vault();
2263 xdnstair = ydnstair = xupstair = yupstair = 0;
2264 sstairs.sx = sstairs.sy = 0;
2265 xdnladder = ydnladder = xupladder = yupladder = 0;
2266 made_branch = FALSE;
2267 clear_regions();
2270 STATIC_OVL void
2271 makelevel()
2273 register struct mkroom *croom, *troom;
2274 register int tryct;
2275 register int x, y;
2276 struct monst *tmonst; /* always put a web with a spider */
2277 branch *branchp;
2278 int room_threshold;
2279 schar randrmtyp;
2280 int specialraceflag = 0; /* for mazewalker etc. */
2282 if(wiz1_level.dlevel == 0) init_dungeons();
2283 oinit(); /* assign level dependent obj probabilities */
2284 clear_level_structures();
2287 register s_level *slev = Is_special(&u.uz);
2289 /* check for special levels */
2290 #ifdef REINCARNATION
2291 if (slev && !Is_rogue_level(&u.uz))
2292 #else
2293 if (slev)
2294 #endif
2296 makemaz(slev->proto);
2297 return;
2298 } else if (In_V_tower(&u.uz)) {
2299 makemaz("");
2300 return;
2302 } else if (In_minotaurmaze(&u.uz)) { /* has only "interesting" mazes --Amy */
2304 switch (rnd(69)) {
2306 case 1: makemaz("mazes-1"); return;
2307 case 2: makemaz("mazes-2"); return;
2308 case 3: makemaz("mazes-3"); return;
2309 case 4: makemaz("mazes-4"); return;
2310 case 5: makemaz("mazes-5"); return;
2311 case 6: makemaz("mazes-6"); return;
2312 case 7: makemaz("mazes-7"); return;
2313 case 8: makemaz("mazes-8"); return;
2314 case 9: makemaz("mazes-9"); return;
2315 case 10: makemaz("mazes-10"); return;
2316 case 11: makemaz("mazes-11"); return;
2317 case 12: makemaz("mazes-12"); return;
2318 case 13: makemaz("mazes-13"); return;
2319 case 14: makemaz("mazes-14"); return;
2320 case 15: makemaz("mazes-15"); return;
2321 case 16: makemaz("mazes-16"); return;
2322 case 17: makemaz("mazes-17"); return;
2323 case 18: makemaz("mazes-18"); return;
2324 case 19: makemaz("mazes-19"); return;
2325 case 20: makemaz("mazes-20"); return;
2326 case 21: makemaz("mazes-21"); return;
2327 case 22: makemaz("mazes-22"); return;
2328 case 23: makemaz("mazes-23"); return;
2329 case 24: makemaz("mazes-24"); return;
2330 case 25: makemaz("mazes-25"); return;
2331 case 26: makemaz("mazes-26"); return;
2332 case 27: makemaz("mazes-27"); return;
2333 case 28: makemaz("mazes-28"); return;
2334 case 29: makemaz("mazes-29"); return;
2335 case 30: makemaz("mazes-30"); return;
2336 case 31: makemaz("mazes-31"); return;
2337 case 32: makemaz("mazes-32"); return;
2338 case 33: makemaz("mazes-33"); return;
2339 case 34: makemaz("mazes-34"); return;
2340 case 35: makemaz("mazes-35"); return;
2341 case 36: makemaz("mazes-36"); return;
2342 case 37: makemaz("mazes-37"); return;
2343 case 38: makemaz("mazes-38"); return;
2344 case 39: makemaz("mazes-39"); return;
2345 case 40: makemaz("mazes-40"); return;
2346 case 41: makemaz("mazes-41"); return;
2347 case 42: makemaz("mazes-42"); return;
2348 case 43: makemaz("mazes-43"); return;
2349 case 44: makemaz("mazes-44"); return;
2350 case 45: makemaz("mazes-45"); return;
2351 case 46: makemaz("mazes-46"); return;
2352 case 47: makemaz("mazes-47"); return;
2353 case 48: makemaz("mazes-48"); return;
2354 case 49: makemaz("mazes-49"); return;
2355 case 50: makemaz("mazes-50"); return;
2356 case 51: makemaz("mazes-51"); return;
2357 case 52: makemaz("mazes-52"); return;
2358 case 53: makemaz("mazes-53"); return;
2359 case 54: makemaz("mazes-54"); return;
2360 case 55: makemaz("mazes-55"); return;
2361 case 56: makemaz("mazes-56"); return;
2362 case 57: makemaz("mazes-57"); return;
2363 case 58: makemaz("mazes-58"); return;
2364 case 59: makemaz("mazes-59"); return;
2365 case 60: makemaz("mazes-60"); return;
2366 case 61: makemaz("mazes-61"); return;
2367 case 62: makemaz("mazes-62"); return;
2368 case 63: makemaz("mazes-63"); return;
2369 case 64: makemaz("mazes-64"); return;
2370 case 65: makemaz("mazes-65"); return;
2371 case 66: makemaz("mazes-66"); return;
2372 case 67: makemaz("mazes-67"); return;
2373 case 68: makemaz("mazes-68"); return;
2374 case 69: makemaz("mazes-69"); return;
2378 } else if ((!rn2(u.randomquestlevels) && !rn2(3))
2379 && !In_V_tower(&u.uz) && !Invocation_lev(&u.uz)
2380 && (!rn2(10) || depth(&u.uz) > 1)
2381 && (In_dod(&u.uz) || In_mines(&u.uz) || In_Devnull(&u.uz) || In_greencross(&u.uz) || In_illusorycastle(&u.uz) || In_deepmines(&u.uz) || In_ZAPM(&u.uz) || In_sokoban(&u.uz) || In_towndungeon(&u.uz) || !strcmp(dungeons[u.uz.dnum].dname, "Grund's Stronghold") || !strcmp(dungeons[u.uz.dnum].dname, "The Ice Queen's Realm") || !strcmp(dungeons[u.uz.dnum].dname, "The Temple of Moloch") || !strcmp(dungeons[u.uz.dnum].dname, "The Giant Caverns") || !strcmp(dungeons[u.uz.dnum].dname, "The Sunless Sea") || !strcmp(dungeons[u.uz.dnum].dname, "The Spider Caves") || !strcmp(dungeons[u.uz.dnum].dname, "The Lost Tomb") || !strcmp(dungeons[u.uz.dnum].dname, "Yendorian Tower") || !strcmp(dungeons[u.uz.dnum].dname, "Bell Caves") || !strcmp(dungeons[u.uz.dnum].dname, "Forging Chamber") || !strcmp(dungeons[u.uz.dnum].dname, "Dead Grounds") || !strcmp(dungeons[u.uz.dnum].dname, "Ordered Chaos") || !strcmp(dungeons[u.uz.dnum].dname, "The Wyrm Caves") || !strcmp(dungeons[u.uz.dnum].dname, "One-eyed Sam's Market") || !strcmp(dungeons[u.uz.dnum].dname, "Fort Ludios") || In_restingzone(&u.uz) ) ) {
2383 ghnhom1:
2385 char fillname[16];
2386 switch (rnd(5)) {
2388 case 1:
2389 sprintf(fillname, "%s-1", urole.filecode); break;
2390 case 2:
2391 sprintf(fillname, "%s-2", urole.filecode); break;
2392 case 3:
2393 sprintf(fillname, "%s-3", urole.filecode); break;
2394 case 4:
2395 sprintf(fillname, "%s-4", urole.filecode); break;
2396 case 5:
2397 sprintf(fillname, "%s-5", urole.filecode); break;
2400 makemaz(fillname);
2401 return;
2404 } else if ((!rn2(u.randomquestlevels) && !rn2(3)) && !In_V_tower(&u.uz) && !Invocation_lev(&u.uz) && (In_gehennom(&u.uz) || In_sheol(&u.uz) || In_voiddungeon(&u.uz) || In_netherrealm(&u.uz) || In_angmar(&u.uz) || In_emynluin(&u.uz) || In_swimmingpool(&u.uz) || In_hellbathroom(&u.uz) || !strcmp(dungeons[u.uz.dnum].dname, "Frankenstein's Lab") ) ) {
2406 if (rn2(3)) goto ghnhom1;
2408 char fillname[16];
2409 switch (rnd(5)) {
2411 case 1:
2412 sprintf(fillname, "%s-6", urole.filecode); break;
2413 case 2:
2414 sprintf(fillname, "%s-7", urole.filecode); break;
2415 case 3:
2416 sprintf(fillname, "%s-8", urole.filecode); break;
2417 case 4:
2418 sprintf(fillname, "%s-9", urole.filecode); break;
2419 case 5:
2420 sprintf(fillname, "%s-0", urole.filecode); break;
2423 makemaz(fillname);
2424 return;
2426 } else if (dungeons[u.uz.dnum].proto[0] && !In_V_tower(&u.uz) && !In_angmar(&u.uz) && !In_emynluin(&u.uz) && !In_hellbathroom(&u.uz) && !Invocation_lev(&u.uz) && (rn2(2)) ) {
2428 if (rn2(3)) {
2430 switch (rnd(69)) {
2432 case 1: makemaz("mazes-1"); return;
2433 case 2: makemaz("mazes-2"); return;
2434 case 3: makemaz("mazes-3"); return;
2435 case 4: makemaz("mazes-4"); return;
2436 case 5: makemaz("mazes-5"); return;
2437 case 6: makemaz("mazes-6"); return;
2438 case 7: makemaz("mazes-7"); return;
2439 case 8: makemaz("mazes-8"); return;
2440 case 9: makemaz("mazes-9"); return;
2441 case 10: makemaz("mazes-10"); return;
2442 case 11: makemaz("mazes-11"); return;
2443 case 12: makemaz("mazes-12"); return;
2444 case 13: makemaz("mazes-13"); return;
2445 case 14: makemaz("mazes-14"); return;
2446 case 15: makemaz("mazes-15"); return;
2447 case 16: makemaz("mazes-16"); return;
2448 case 17: makemaz("mazes-17"); return;
2449 case 18: makemaz("mazes-18"); return;
2450 case 19: makemaz("mazes-19"); return;
2451 case 20: makemaz("mazes-20"); return;
2452 case 21: makemaz("mazes-21"); return;
2453 case 22: makemaz("mazes-22"); return;
2454 case 23: makemaz("mazes-23"); return;
2455 case 24: makemaz("mazes-24"); return;
2456 case 25: makemaz("mazes-25"); return;
2457 case 26: makemaz("mazes-26"); return;
2458 case 27: makemaz("mazes-27"); return;
2459 case 28: makemaz("mazes-28"); return;
2460 case 29: makemaz("mazes-29"); return;
2461 case 30: makemaz("mazes-30"); return;
2462 case 31: makemaz("mazes-31"); return;
2463 case 32: makemaz("mazes-32"); return;
2464 case 33: makemaz("mazes-33"); return;
2465 case 34: makemaz("mazes-34"); return;
2466 case 35: makemaz("mazes-35"); return;
2467 case 36: makemaz("mazes-36"); return;
2468 case 37: makemaz("mazes-37"); return;
2469 case 38: makemaz("mazes-38"); return;
2470 case 39: makemaz("mazes-39"); return;
2471 case 40: makemaz("mazes-40"); return;
2472 case 41: makemaz("mazes-41"); return;
2473 case 42: makemaz("mazes-42"); return;
2474 case 43: makemaz("mazes-43"); return;
2475 case 44: makemaz("mazes-44"); return;
2476 case 45: makemaz("mazes-45"); return;
2477 case 46: makemaz("mazes-46"); return;
2478 case 47: makemaz("mazes-47"); return;
2479 case 48: makemaz("mazes-48"); return;
2480 case 49: makemaz("mazes-49"); return;
2481 case 50: makemaz("mazes-50"); return;
2482 case 51: makemaz("mazes-51"); return;
2483 case 52: makemaz("mazes-52"); return;
2484 case 53: makemaz("mazes-53"); return;
2485 case 54: makemaz("mazes-54"); return;
2486 case 55: makemaz("mazes-55"); return;
2487 case 56: makemaz("mazes-56"); return;
2488 case 57: makemaz("mazes-57"); return;
2489 case 58: makemaz("mazes-58"); return;
2490 case 59: makemaz("mazes-59"); return;
2491 case 60: makemaz("mazes-60"); return;
2492 case 61: makemaz("mazes-61"); return;
2493 case 62: makemaz("mazes-62"); return;
2494 case 63: makemaz("mazes-63"); return;
2495 case 64: makemaz("mazes-64"); return;
2496 case 65: makemaz("mazes-65"); return;
2497 case 66: makemaz("mazes-66"); return;
2498 case 67: makemaz("mazes-67"); return;
2499 case 68: makemaz("mazes-68"); return;
2500 case 69: makemaz("mazes-69"); return;
2504 } else makemaz("");
2505 return;
2507 } else if (In_mines(&u.uz) && rn2((iswarper ? 5 : 50) )) {
2508 if (rn2(10)) makemaz("minefill");
2509 else switch (rnd(7)) {
2510 case 1: makemaz("minefila"); break;
2511 case 2: makemaz("minefilb"); break;
2512 case 3: makemaz("minefilc"); break;
2513 case 4: makemaz("minefild"); break;
2514 case 5: makemaz("minefile"); break;
2515 case 6: makemaz("minefilf"); break;
2516 case 7: makemaz("minefilg"); break;
2518 return;
2519 } else if (In_emynluin(&u.uz) && rn2(2)) {
2520 makemaz("rndmazea"); return;
2521 } else if (In_deepmines(&u.uz) && rn2((iswarper ? 5 : 50) )) {
2522 switch (rnd(15)) {
2523 case 1: makemaz("deepfila"); break;
2524 case 2: makemaz("deepfilb"); break;
2525 case 3: makemaz("deepfilc"); break;
2526 case 4: makemaz("deepfild"); break;
2527 case 5: makemaz("deepfile"); break;
2528 case 6: makemaz("deepfilf"); break;
2529 case 7: makemaz("deepfilg"); break;
2530 case 8: makemaz("deepfilh"); break;
2531 case 9: makemaz("deepfili"); break;
2532 case 10: makemaz("deepfilj"); break;
2533 case 11: makemaz("deepfilk"); break;
2534 case 12: makemaz("deepfill"); break;
2535 case 13: makemaz("deepfilm"); break;
2536 case 14: makemaz("deepfiln"); break;
2537 case 15: makemaz("deepfilo"); break;
2539 return;
2541 } else if (In_quest(&u.uz)) {
2542 char fillname[16];
2543 s_level *loc_lev;
2545 /* This must be the player's starting role, even if recursion was triggered, to prevent a segfault. */
2547 sprintf(fillname, "%s-loca", ustartrole.filecode);
2548 loc_lev = find_level(fillname);
2550 sprintf(fillname, "%s-fil", ustartrole.filecode);
2551 strcat(fillname,
2552 (u.uz.dlevel < loc_lev->dlevel.dlevel) ? "a" : "b");
2553 makemaz(fillname);
2554 return;
2556 } else if( /*u.uz.dnum == wiz1_level.dnum || u.uz.dnum == (wiz1_level.dnum + 1) || u.uz.dnum == (wiz1_level.dnum + 2) ||*/ (In_V_tower(&u.uz)) || Invocation_lev(&u.uz) || (In_hell(&u.uz) && issoviet) ||
2558 /* "Revert change allowing Room/Corridors in Gehennom. Gehennom should only have mazes and the specified special levels again." In Soviet Russia, people actually like the endless boring mazes of the Gehennom for some inexplicable reason. Why don't they just turn Nethack into an 100-level dungeon that has only mazes??? --Amy */
2560 (In_hell(&u.uz) && !In_angmar(&u.uz) && !In_emynluin(&u.uz) && !In_hellbathroom(&u.uz) && (!rn2(2) && (In_sheol(&u.uz) ? rn2(iswarper ? 2 : 5) : rn2(iswarper ? 3 : 10) ) ) ) || /* allowing random rooms-and-corridors in Gehennom --Amy */
2561 (rn2(5) && u.uz.dnum == medusa_level.dnum
2562 && depth(&u.uz) > depth(&medusa_level)) || (In_mainframe(&u.uz) && rn2(10) ) ) {
2564 if (rn2(3) && !In_V_tower(&u.uz) && !Invocation_lev(&u.uz) ) {
2566 switch (rnd(69)) {
2568 case 1: makemaz("mazes-1"); return;
2569 case 2: makemaz("mazes-2"); return;
2570 case 3: makemaz("mazes-3"); return;
2571 case 4: makemaz("mazes-4"); return;
2572 case 5: makemaz("mazes-5"); return;
2573 case 6: makemaz("mazes-6"); return;
2574 case 7: makemaz("mazes-7"); return;
2575 case 8: makemaz("mazes-8"); return;
2576 case 9: makemaz("mazes-9"); return;
2577 case 10: makemaz("mazes-10"); return;
2578 case 11: makemaz("mazes-11"); return;
2579 case 12: makemaz("mazes-12"); return;
2580 case 13: makemaz("mazes-13"); return;
2581 case 14: makemaz("mazes-14"); return;
2582 case 15: makemaz("mazes-15"); return;
2583 case 16: makemaz("mazes-16"); return;
2584 case 17: makemaz("mazes-17"); return;
2585 case 18: makemaz("mazes-18"); return;
2586 case 19: makemaz("mazes-19"); return;
2587 case 20: makemaz("mazes-20"); return;
2588 case 21: makemaz("mazes-21"); return;
2589 case 22: makemaz("mazes-22"); return;
2590 case 23: makemaz("mazes-23"); return;
2591 case 24: makemaz("mazes-24"); return;
2592 case 25: makemaz("mazes-25"); return;
2593 case 26: makemaz("mazes-26"); return;
2594 case 27: makemaz("mazes-27"); return;
2595 case 28: makemaz("mazes-28"); return;
2596 case 29: makemaz("mazes-29"); return;
2597 case 30: makemaz("mazes-30"); return;
2598 case 31: makemaz("mazes-31"); return;
2599 case 32: makemaz("mazes-32"); return;
2600 case 33: makemaz("mazes-33"); return;
2601 case 34: makemaz("mazes-34"); return;
2602 case 35: makemaz("mazes-35"); return;
2603 case 36: makemaz("mazes-36"); return;
2604 case 37: makemaz("mazes-37"); return;
2605 case 38: makemaz("mazes-38"); return;
2606 case 39: makemaz("mazes-39"); return;
2607 case 40: makemaz("mazes-40"); return;
2608 case 41: makemaz("mazes-41"); return;
2609 case 42: makemaz("mazes-42"); return;
2610 case 43: makemaz("mazes-43"); return;
2611 case 44: makemaz("mazes-44"); return;
2612 case 45: makemaz("mazes-45"); return;
2613 case 46: makemaz("mazes-46"); return;
2614 case 47: makemaz("mazes-47"); return;
2615 case 48: makemaz("mazes-48"); return;
2616 case 49: makemaz("mazes-49"); return;
2617 case 50: makemaz("mazes-50"); return;
2618 case 51: makemaz("mazes-51"); return;
2619 case 52: makemaz("mazes-52"); return;
2620 case 53: makemaz("mazes-53"); return;
2621 case 54: makemaz("mazes-54"); return;
2622 case 55: makemaz("mazes-55"); return;
2623 case 56: makemaz("mazes-56"); return;
2624 case 57: makemaz("mazes-57"); return;
2625 case 58: makemaz("mazes-58"); return;
2626 case 59: makemaz("mazes-59"); return;
2627 case 60: makemaz("mazes-60"); return;
2628 case 61: makemaz("mazes-61"); return;
2629 case 62: makemaz("mazes-62"); return;
2630 case 63: makemaz("mazes-63"); return;
2631 case 64: makemaz("mazes-64"); return;
2632 case 65: makemaz("mazes-65"); return;
2633 case 66: makemaz("mazes-66"); return;
2634 case 67: makemaz("mazes-67"); return;
2635 case 68: makemaz("mazes-68"); return;
2636 case 69: makemaz("mazes-69"); return;
2640 } else makemaz("");
2641 return;
2646 /* very random levels --Amy */
2648 if (
2649 (In_dod(&u.uz) && (!rn2(100) || depth(&u.uz) > 1) && !rn2(iswarper ? 10 : 100))
2650 || (In_mines(&u.uz) && rn2(1000) /* check moved upwards */ ) || (In_sokoban(&u.uz) && !issokosolver && rn2(iswarper ? 5 : 2)) || (In_towndungeon(&u.uz) && !rn2(iswarper ? 3 : 20)) || (In_deepmines(&u.uz) && rn2(2)) || (In_illusorycastle(&u.uz) && !rn2(iswarper ? 3 : 20)) || (In_sewerplant(&u.uz) && !rn2(iswarper ? 20 : 50)) || (In_spacebase(&u.uz) && !rn2(iswarper ? 4 : 30)) || (In_gammacaves(&u.uz) && !rn2(iswarper ? 20 : 50)) || (In_greencross(&u.uz) && !rn2(iswarper ? 10 : 100)) || (In_mainframe(&u.uz) && !rn2(iswarper ? 3 : 20)) || (rn2(5) && (!strcmp(dungeons[u.uz.dnum].dname, "Grund's Stronghold") || !strcmp(dungeons[u.uz.dnum].dname, "The Ice Queen's Realm") || In_Devnull(&u.uz) || !strcmp(dungeons[u.uz.dnum].dname, "The Temple of Moloch") || !strcmp(dungeons[u.uz.dnum].dname, "The Giant Caverns") || !strcmp(dungeons[u.uz.dnum].dname, "The Sunless Sea") || !strcmp(dungeons[u.uz.dnum].dname, "The Spider Caves") || !strcmp(dungeons[u.uz.dnum].dname, "Yendorian Tower") || !strcmp(dungeons[u.uz.dnum].dname, "Bell Caves") || !strcmp(dungeons[u.uz.dnum].dname, "Forging Chamber") || !strcmp(dungeons[u.uz.dnum].dname, "Dead Grounds") || !strcmp(dungeons[u.uz.dnum].dname, "Ordered Chaos") || !strcmp(dungeons[u.uz.dnum].dname, "The Lost Tomb") || !strcmp(dungeons[u.uz.dnum].dname, "The Wyrm Caves") || !strcmp(dungeons[u.uz.dnum].dname, "One-eyed Sam's Market") || !strcmp(dungeons[u.uz.dnum].dname, "Fort Ludios") || In_restingzone(&u.uz) ) ) ) {
2652 ghnhom2:
2653 switch (rnd(117)) {
2655 case 1:
2656 case 2:
2657 case 3:
2658 case 4:
2659 case 5:
2660 case 6:
2661 case 7:
2662 case 8:
2663 case 9:
2664 case 10:
2666 switch (rnd(60)) {
2668 case 1: makemaz("bigrm-1"); return;
2669 case 2: makemaz("bigrm-2"); return;
2670 case 3: makemaz("bigrm-3"); return;
2671 case 4: makemaz("bigrm-4"); return;
2672 case 5: makemaz("bigrm-5"); return;
2673 case 6: makemaz("bigrm-6"); return;
2674 case 7: makemaz("bigrm-7"); return;
2675 case 8: makemaz("bigrm-8"); return;
2676 case 9: makemaz("bigrm-9"); return;
2677 case 10: makemaz("bigrm-10"); return;
2678 case 11: makemaz("bigrm-11"); return;
2679 case 12: makemaz("bigrm-12"); return;
2680 case 13: makemaz("bigrm-13"); return;
2681 case 14: makemaz("bigrm-14"); return;
2682 case 15: makemaz("bigrm-15"); return;
2683 case 16: makemaz("bigrm-16"); return;
2684 case 17: makemaz("bigrm-17"); return;
2685 case 18: makemaz("bigrm-18"); return;
2686 case 19: makemaz("bigrm-19"); return;
2687 case 20: makemaz("bigrm-20"); return;
2688 case 21: makemaz("bigrm-21"); return;
2689 case 22: makemaz("bigrm-22"); return;
2690 case 23: makemaz("bigrm-23"); return;
2691 case 24: makemaz("bigrm-24"); return;
2692 case 25: makemaz("bigrm-25"); return;
2693 case 26: makemaz("bigrm-26"); return;
2694 case 27: makemaz("bigrm-27"); return;
2695 case 28: makemaz("bigrm-28"); return;
2696 case 29: makemaz("bigrm-29"); return;
2697 case 30: makemaz("bigrm-30"); return;
2698 case 31: makemaz("bigrm-31"); return;
2699 case 32: makemaz("bigrm-32"); return;
2700 case 33: makemaz("bigrm-33"); return;
2701 case 34: makemaz("bigrm-34"); return;
2702 case 35: makemaz("bigrm-35"); return;
2703 case 36: makemaz("bigrm-36"); return;
2704 case 37: makemaz("bigrm-37"); return;
2705 case 38: makemaz("bigrm-38"); return;
2706 case 39: makemaz("bigrm-39"); return;
2707 case 40: makemaz("bigrm-40"); return;
2708 case 41: makemaz("bigrm-41"); return;
2709 case 42: makemaz("bigrm-42"); return;
2710 case 43: makemaz("bigrm-43"); return;
2711 case 44: makemaz("bigrm-44"); return;
2712 case 45: makemaz("bigrm-45"); return;
2713 case 46: makemaz("bigrm-46"); return;
2714 case 47: makemaz("bigrm-47"); return;
2715 case 48: makemaz("bigrm-48"); return;
2716 case 49: makemaz("bigrm-49"); return;
2717 case 50: makemaz("bigrm-50"); return;
2718 case 51: makemaz("bigrm-51"); return;
2719 case 52: makemaz("bigrm-52"); return;
2720 case 53: makemaz("bigrm-53"); return;
2721 case 54: makemaz("bigrm-54"); return;
2722 case 55: makemaz("bigrm-55"); return;
2723 case 56: makemaz("bigrm-56"); return;
2724 case 57: makemaz("bigrm-57"); return;
2725 case 58: makemaz("bigrm-58"); return;
2726 case 59: makemaz("bigrm-59"); return;
2727 case 60: makemaz("bigrm-60"); return;
2730 break;
2732 case 11:
2733 case 12:
2734 case 13:
2735 case 14:
2736 case 15:
2737 case 16:
2738 case 17:
2739 case 18:
2740 case 19:
2741 case 20:
2743 switch (rnd(97)) {
2745 case 1: makemaz("unhck-1"); return;
2746 case 2: makemaz("unhck-2"); return;
2747 case 3: makemaz("unhck-3"); return;
2748 case 4: makemaz("unhck-4"); return;
2749 case 5: makemaz("unhck-5"); return;
2750 case 6: makemaz("unhck-6"); return;
2751 case 7: makemaz("unhck-7"); return;
2752 case 8: makemaz("unhck-8"); return;
2753 case 9: makemaz("unhck-9"); return;
2754 case 10: makemaz("unhck-10"); return;
2755 case 11: makemaz("unhck-11"); return;
2756 case 12: makemaz("unhck-12"); return;
2757 case 13: makemaz("unhck-13"); return;
2758 case 14: makemaz("unhck-14"); return;
2759 case 15: makemaz("unhck-15"); return;
2760 case 16: makemaz("unhck-16"); return;
2761 case 17: makemaz("unhck-17"); return;
2762 case 18: makemaz("unhck-18"); return;
2763 case 19: makemaz("unhck-19"); return;
2764 case 20: makemaz("unhck-20"); return;
2765 case 21: makemaz("unhck-21"); return;
2766 case 22: makemaz("unhck-22"); return;
2767 case 23: makemaz("unhck-23"); return;
2768 case 24: makemaz("unhck-24"); return;
2769 case 25: makemaz("unhck-25"); return;
2770 case 26: makemaz("unhck-26"); return;
2771 case 27: makemaz("unhck-27"); return;
2772 case 28: makemaz("unhck-28"); return;
2773 case 29: makemaz("unhck-29"); return;
2774 case 30: makemaz("unhck-30"); return;
2775 case 31: makemaz("unhck-31"); return;
2776 case 32: makemaz("unhck-32"); return;
2777 case 33: makemaz("unhck-33"); return;
2778 case 34: makemaz("unhck-34"); return;
2779 case 35: makemaz("unhck-35"); return;
2780 case 36: makemaz("unhck-36"); return;
2781 case 37: makemaz("unhck-37"); return;
2782 case 38: makemaz("unhck-38"); return;
2783 case 39: makemaz("unhck-39"); return;
2784 case 40: makemaz("unhck-40"); return;
2785 case 41: makemaz("unhck-41"); return;
2786 case 42: makemaz("unhck-42"); return;
2787 case 43: makemaz("unhck-43"); return;
2788 case 44: makemaz("unhck-44"); return;
2789 case 45: makemaz("unhck-45"); return;
2790 case 46: makemaz("unhck-46"); return;
2791 case 47: makemaz("unhck-47"); return;
2792 case 48: makemaz("unhck-48"); return;
2793 case 49: makemaz("unhck-49"); return;
2794 case 50: makemaz("unhck-50"); return;
2795 case 51: makemaz("unhck-51"); return;
2796 case 52: makemaz("unhck-52"); return;
2797 case 53: makemaz("unhck-53"); return;
2798 case 54: makemaz("unhck-54"); return;
2799 case 55: makemaz("unhck-55"); return;
2800 case 56: makemaz("unhck-56"); return;
2801 case 57: makemaz("unhck-57"); return;
2802 case 58: makemaz("unhck-58"); return;
2803 case 59: makemaz("unhck-59"); return;
2804 case 60: makemaz("unhck-60"); return;
2805 case 61: makemaz("unhck-61"); return;
2806 case 62: makemaz("unhck-62"); return;
2807 case 63: makemaz("unhck-63"); return;
2808 case 64: makemaz("unhck-64"); return;
2809 case 65: makemaz("unhck-65"); return;
2810 case 66: makemaz("unhck-66"); return;
2811 case 67: makemaz("unhck-67"); return;
2812 case 68: makemaz("unhck-68"); return;
2813 case 69: makemaz("unhck-69"); return;
2814 case 70: makemaz("unhck-70"); return;
2815 case 71: makemaz("unhck-71"); return;
2816 case 72: makemaz("unhck-72"); return;
2817 case 73: makemaz("unhck-73"); return;
2818 case 74: makemaz("unhck-74"); return;
2819 case 75: makemaz("unhck-75"); return;
2820 case 76: makemaz("unhck-76"); return;
2821 case 77: makemaz("unhck-77"); return;
2822 case 78: makemaz("unhck-78"); return;
2823 case 79: makemaz("unhck-79"); return;
2824 case 80: makemaz("unhck-80"); return;
2825 case 81: makemaz("unhck-81"); return;
2826 case 82: makemaz("unhck-82"); return;
2827 case 83: makemaz("unhck-83"); return;
2828 case 84: makemaz("unhck-84"); return;
2829 case 85: makemaz("unhck-85"); return;
2830 case 86: makemaz("unhck-86"); return;
2831 case 87: makemaz("unhck-87"); return;
2832 case 88: makemaz("unhck-88"); return;
2833 case 89: makemaz("unhck-89"); return;
2834 case 90: makemaz("unhck-90"); return;
2835 case 91: makemaz("unhck-91"); return;
2836 case 92: makemaz("unhck-92"); return;
2837 case 93: makemaz("unhck-93"); return;
2838 case 94: makemaz("unhck-94"); return;
2839 case 95: makemaz("unhck-95"); return;
2840 case 96: makemaz("unhck-96"); return;
2841 case 97: makemaz("minusw"); return;
2844 break;
2846 case 21:
2848 switch (rnd(5)) {
2850 case 1: makemaz("intpla-1"); return;
2851 case 2: makemaz("intpla-2"); return;
2852 case 3: makemaz("intpla-3"); return;
2853 case 4: makemaz("intpla-4"); return;
2854 case 5: makemaz("intpla-5"); return;
2857 break;
2859 case 22:
2860 case 23:
2861 case 24:
2863 switch (rnd(14)) {
2865 case 1: makemaz("minefill"); return;
2866 case 2: makemaz("minefila"); return;
2867 case 3: makemaz("minefilb"); return;
2868 case 4: makemaz("minefilc"); return;
2869 case 5: makemaz("minefild"); return;
2870 case 6: makemaz("minefile"); return;
2871 case 7: makemaz("minefilf"); return;
2872 case 8: makemaz("minefilg"); return;
2873 case 9: makemaz("minefill"); return;
2874 case 10: makemaz("minefill"); return;
2875 case 11: makemaz("minefill"); return;
2876 case 12: makemaz("minefill"); return;
2877 case 13: makemaz("minefill"); return;
2878 case 14: makemaz("minefill"); return;
2881 break;
2883 case 25:
2884 case 26:
2885 case 27:
2886 case 28:
2887 case 29:
2889 switch (rnd(21)) {
2891 case 1: makemaz("mintn-1"); return;
2892 case 2: makemaz("mintn-2"); return;
2893 case 3: makemaz("mintn-3"); return;
2894 case 4: makemaz("mintn-4"); return;
2895 case 5: makemaz("mintn-5"); return;
2896 case 6: makemaz("mintn-6"); return;
2897 case 7: makemaz("mintn-7"); return;
2898 case 8: makemaz("mintn-8"); return;
2899 case 9: makemaz("mintn-9"); return;
2900 case 10: makemaz("mintn-10"); return;
2901 case 11: makemaz("mintn-11"); return;
2902 case 12: makemaz("mintn-12"); return;
2903 case 13: makemaz("mintn-13"); return;
2904 case 14: makemaz("mintn-14"); return;
2905 case 15: makemaz("mintn-15"); return;
2906 case 16: makemaz("mintn-16"); return;
2907 case 17: makemaz("mintn-17"); return;
2908 case 18: makemaz("mintn-18"); return;
2909 case 19: makemaz("mintn-19"); return;
2910 case 20: makemaz("mintn-20"); return;
2911 case 21: makemaz("mintn-21"); return;
2914 break;
2916 case 30:
2917 case 31:
2919 switch (rnd(10)) {
2921 case 1: makemaz("mnend-1"); return;
2922 case 2: makemaz("mnend-2"); return;
2923 case 3: makemaz("mnend-3"); return;
2924 case 4: makemaz("mnend-4"); return;
2925 case 5: makemaz("mnend-5"); return;
2926 case 6: makemaz("mnend-6"); return;
2927 case 7: makemaz("mnend-7"); return;
2928 case 8: makemaz("mnend-8"); return;
2929 case 9: makemaz("mnend-9"); return;
2930 case 10: makemaz("mnend-10"); return;
2933 break;
2935 case 32:
2936 case 33:
2938 switch (rnd(18)) {
2940 case 1: makemaz("eking-1"); return;
2941 case 2: makemaz("eking-2"); return;
2942 case 3: makemaz("eking-3"); return;
2943 case 4: makemaz("eking-4"); return;
2944 case 5: makemaz("eking-5"); return;
2945 case 6: makemaz("eking-6"); return;
2946 case 7: makemaz("eking-7"); return;
2947 case 8: makemaz("eking-8"); return;
2948 case 9: makemaz("eking-9"); return;
2949 case 10: makemaz("eking-10"); return;
2950 case 11: makemaz("eking-11"); return;
2951 case 12: makemaz("eking-12"); return;
2952 case 13: makemaz("eking-13"); return;
2953 case 14: makemaz("eking-14"); return;
2954 case 15: makemaz("eking-15"); return;
2955 case 16: makemaz("eking-16"); return;
2956 case 17: makemaz("eking-17"); return;
2957 case 18: makemaz("eking-18"); return;
2960 break;
2962 case 34:
2963 case 35:
2964 case 36:
2965 case 37:
2966 case 38:
2967 case 39:
2968 case 40:
2969 case 41:
2970 case 42:
2971 case 43:
2973 switch (rnd(154)) {
2975 case 1: makemaz("soko2-1"); return;
2976 case 2: makemaz("soko2-2"); return;
2977 case 3: makemaz("soko2-3"); return;
2978 case 4: makemaz("soko2-4"); return;
2979 case 5: makemaz("soko2-5"); return;
2980 case 6: makemaz("soko2-6"); return;
2981 case 7: makemaz("soko2-7"); return;
2982 case 8: makemaz("soko2-8"); return;
2983 case 9: makemaz("soko2-9"); return;
2984 case 10: makemaz("soko2-10"); return;
2985 case 11: makemaz("soko2-11"); return;
2986 case 12: makemaz("soko2-12"); return;
2987 case 13: makemaz("soko2-13"); return;
2988 case 14: makemaz("soko2-14"); return;
2989 case 15: makemaz("soko2-15"); return;
2990 case 16: makemaz("soko2-16"); return;
2991 case 17: makemaz("soko2-17"); return;
2992 case 18: makemaz("soko2-18"); return;
2993 case 19: makemaz("soko2-19"); return;
2994 case 20: makemaz("soko2-20"); return;
2995 case 21: makemaz("soko2-21"); return;
2996 case 22: makemaz("soko2-22"); return;
2997 case 23: makemaz("soko2-23"); return;
2998 case 24: makemaz("soko2-24"); return;
2999 case 25: makemaz("soko2-25"); return;
3000 case 26: makemaz("soko2-26"); return;
3001 case 27: makemaz("soko2-27"); return;
3002 case 28: makemaz("soko2-28"); return;
3003 case 29: makemaz("soko2-29"); return;
3004 case 30: makemaz("soko2-30"); return;
3005 case 31: makemaz("soko2-31"); return;
3006 case 32: makemaz("soko2-32"); return;
3007 case 33: makemaz("soko2-33"); return;
3008 case 34: makemaz("soko2-34"); return;
3009 case 35: makemaz("soko2-35"); return;
3010 case 36: makemaz("soko2-36"); return;
3011 case 37: makemaz("soko2-37"); return;
3012 case 38: makemaz("soko2-38"); return;
3013 case 39: makemaz("soko2-39"); return;
3014 case 40: makemaz("soko2-40"); return;
3015 case 41: makemaz("soko2-41"); return;
3016 case 42: makemaz("soko2-42"); return;
3017 case 43: makemaz("soko2-43"); return;
3018 case 44: makemaz("soko2-44"); return;
3020 case 45: makemaz("soko3-1"); return;
3021 case 46: makemaz("soko3-2"); return;
3022 case 47: makemaz("soko3-3"); return;
3023 case 48: makemaz("soko3-4"); return;
3024 case 49: makemaz("soko3-5"); return;
3025 case 50: makemaz("soko3-6"); return;
3026 case 51: makemaz("soko3-7"); return;
3027 case 52: makemaz("soko3-8"); return;
3028 case 53: makemaz("soko3-9"); return;
3029 case 54: makemaz("soko3-10"); return;
3030 case 55: makemaz("soko3-11"); return;
3031 case 56: makemaz("soko3-12"); return;
3032 case 57: makemaz("soko3-13"); return;
3033 case 58: makemaz("soko3-14"); return;
3034 case 59: makemaz("soko3-15"); return;
3035 case 60: makemaz("soko3-16"); return;
3036 case 61: makemaz("soko3-17"); return;
3037 case 62: makemaz("soko3-18"); return;
3038 case 63: makemaz("soko3-19"); return;
3039 case 64: makemaz("soko3-20"); return;
3040 case 65: makemaz("soko3-21"); return;
3041 case 66: makemaz("soko3-22"); return;
3042 case 67: makemaz("soko3-23"); return;
3043 case 68: makemaz("soko3-24"); return;
3044 case 69: makemaz("soko3-25"); return;
3045 case 70: makemaz("soko3-26"); return;
3046 case 71: makemaz("soko3-27"); return;
3047 case 72: makemaz("soko3-28"); return;
3048 case 73: makemaz("soko3-29"); return;
3050 case 74: makemaz("soko5-1"); return;
3051 case 75: makemaz("soko5-2"); return;
3052 case 76: makemaz("soko5-3"); return;
3053 case 77: makemaz("soko5-4"); return;
3054 case 78: makemaz("soko5-5"); return;
3055 case 79: makemaz("soko5-6"); return;
3056 case 80: makemaz("soko5-7"); return;
3057 case 81: makemaz("soko5-8"); return;
3058 case 82: makemaz("soko5-9"); return;
3059 case 83: makemaz("soko5-10"); return;
3060 case 84: makemaz("soko5-11"); return;
3061 case 85: makemaz("soko5-12"); return;
3062 case 86: makemaz("soko5-13"); return;
3063 case 87: makemaz("soko5-14"); return;
3064 case 88: makemaz("soko5-15"); return;
3065 case 89: makemaz("soko5-16"); return;
3066 case 90: makemaz("soko5-17"); return;
3067 case 91: makemaz("soko5-18"); return;
3068 case 92: makemaz("soko5-19"); return;
3069 case 93: makemaz("soko5-20"); return;
3070 case 94: makemaz("soko5-21"); return;
3071 case 95: makemaz("soko5-22"); return;
3072 case 96: makemaz("soko5-23"); return;
3073 case 97: makemaz("soko5-24"); return;
3074 case 98: makemaz("soko5-25"); return;
3075 case 99: makemaz("soko5-26"); return;
3076 case 100: makemaz("soko5-27"); return;
3077 case 101: makemaz("soko5-28"); return;
3079 case 102: makemaz("soko6-1"); return;
3080 case 103: makemaz("soko6-2"); return;
3081 case 104: makemaz("soko6-3"); return;
3082 case 105: makemaz("soko6-4"); return;
3083 case 106: makemaz("soko6-5"); return;
3084 case 107: makemaz("soko6-6"); return;
3085 case 108: makemaz("soko6-7"); return;
3086 case 109: makemaz("soko6-8"); return;
3087 case 110: makemaz("soko6-9"); return;
3088 case 111: makemaz("soko6-10"); return;
3089 case 112: makemaz("soko6-11"); return;
3090 case 113: makemaz("soko6-12"); return;
3091 case 114: makemaz("soko6-13"); return;
3092 case 115: makemaz("soko6-14"); return;
3093 case 116: makemaz("soko6-15"); return;
3094 case 117: makemaz("soko6-16"); return;
3095 case 118: makemaz("soko6-17"); return;
3096 case 119: makemaz("soko6-18"); return;
3097 case 120: makemaz("soko6-19"); return;
3098 case 121: makemaz("soko6-20"); return;
3099 case 122: makemaz("soko6-21"); return;
3100 case 123: makemaz("soko6-22"); return;
3101 case 124: makemaz("soko6-23"); return;
3102 case 125: makemaz("soko6-24"); return;
3103 case 126: makemaz("soko6-25"); return;
3104 case 127: makemaz("soko6-26"); return;
3105 case 128: makemaz("soko6-27"); return;
3106 case 129: makemaz("soko6-28"); return;
3107 case 130: makemaz("soko6-29"); return;
3108 case 131: makemaz("soko6-30"); return;
3109 case 132: makemaz("soko6-31"); return;
3110 case 133: makemaz("soko6-32"); return;
3111 case 134: makemaz("soko6-33"); return;
3112 case 135: makemaz("soko6-34"); return;
3113 case 136: makemaz("soko6-35"); return;
3114 case 137: makemaz("soko6-36"); return;
3115 case 138: makemaz("soko6-37"); return;
3116 case 139: makemaz("soko6-38"); return;
3117 case 140: makemaz("soko6-39"); return;
3118 case 141: makemaz("soko6-40"); return;
3119 case 142: makemaz("soko6-41"); return;
3120 case 143: makemaz("soko6-42"); return;
3121 case 144: makemaz("soko6-43"); return;
3122 case 145: makemaz("soko6-44"); return;
3123 case 146: makemaz("soko6-45"); return;
3124 case 147: makemaz("soko6-46"); return;
3125 case 148: makemaz("soko6-47"); return;
3126 case 149: makemaz("soko6-48"); return;
3127 case 150: makemaz("soko6-49"); return;
3128 case 151: makemaz("soko6-50"); return;
3129 case 152: makemaz("soko6-51"); return;
3131 case 153: makemaz("soko2-45"); return;
3133 case 154: makemaz("soko6-52"); return;
3136 break;
3138 case 44:
3139 case 45:
3141 switch (rnd(15)) {
3143 case 1: makemaz("mall-1"); return;
3144 case 2: makemaz("mall-2"); return;
3145 case 3: makemaz("mall-3"); return;
3146 case 4: makemaz("mall-4"); return;
3147 case 5: makemaz("mall-5"); return;
3148 case 6: makemaz("mall-6"); return;
3149 case 7: makemaz("exmall-1"); return;
3150 case 8: makemaz("exmall-2"); return;
3151 case 9: makemaz("exmall-3"); return;
3152 case 10: makemaz("exmall-4"); return;
3153 case 11: makemaz("exmall-5"); return;
3154 case 12: makemaz("exmall-6"); return;
3155 case 13: makemaz("exmall-7"); return;
3156 case 14: makemaz("exmall-8"); return;
3157 case 15: makemaz("exmall-9"); return;
3160 break;
3162 case 46:
3164 makemaz("oracleX"); return;
3165 break;
3167 case 47:
3169 switch (rnd(4)) {
3171 case 1: makemaz("erats-1"); return;
3172 case 2: makemaz("erats-2"); return;
3173 case 3: makemaz("erats-3"); return;
3174 case 4: makemaz("erats-4"); return;
3177 break;
3179 case 48:
3181 switch (rnd(6)) {
3183 case 1: makemaz("ekobol-1"); return;
3184 case 2: makemaz("ekobol-2"); return;
3185 case 3: makemaz("ekobol-3"); return;
3186 case 4: makemaz("ekobol-4"); return;
3187 case 5: makemaz("ekobol-5"); return;
3188 case 6: makemaz("ekobol-6"); return;
3191 break;
3193 case 49:
3195 switch (rnd(5)) {
3197 case 1: makemaz("enymp-1"); return;
3198 case 2: makemaz("enymp-2"); return;
3199 case 3: makemaz("enymp-3"); return;
3200 case 4: makemaz("enymp-4"); return;
3201 case 5: makemaz("enymp-5"); return;
3204 break;
3206 case 50:
3208 switch (rnd(9)) {
3210 case 1: makemaz("stor-1"); return;
3211 case 2: makemaz("stor-2"); return;
3212 case 3: makemaz("stor-3"); return;
3213 case 4: makemaz("stor-4"); return;
3214 case 5: makemaz("stor-5"); return;
3215 case 6: makemaz("stor-6"); return;
3216 case 7: makemaz("stor-7"); return;
3217 case 8: makemaz("stor-8"); return;
3218 case 9: makemaz("stor-9"); return;
3221 break;
3223 case 51:
3225 switch (rnd(8)) {
3227 case 1: makemaz("guild-1"); return;
3228 case 2: makemaz("guild-2"); return;
3229 case 3: makemaz("guild-3"); return;
3230 case 4: makemaz("guild-4"); return;
3231 case 5: makemaz("guild-5"); return;
3232 case 6: makemaz("guild-6"); return;
3233 case 7: makemaz("guild-7"); return;
3234 case 8: makemaz("guild-8"); return;
3237 break;
3239 case 52:
3241 switch (rnd(9)) {
3243 case 1: makemaz("forge"); return;
3244 case 2: makemaz("hitchE"); return;
3245 case 3: makemaz("compuE"); return;
3246 case 4: makemaz("keyE"); return;
3247 case 5: makemaz("robtn"); return;
3248 case 6: makemaz("rabhoE"); return;
3249 case 7: makemaz("machnE"); return;
3250 case 8: makemaz("orcbaE"); return;
3251 case 9: makemaz("sewpl"); return;
3254 break;
3256 case 53:
3257 case 54:
3259 switch (rnd(12)) {
3261 case 1: makemaz("emedu-1"); return;
3262 case 2: makemaz("emedu-2"); return;
3263 case 3: makemaz("emedu-3"); return;
3264 case 4: makemaz("emedu-4"); return;
3265 case 5: makemaz("emedu-5"); return;
3266 case 6: makemaz("emedu-6"); return;
3267 case 7: makemaz("emedu-7"); return;
3268 case 8: makemaz("emedu-8"); return;
3269 case 9: makemaz("emedu-9"); return;
3270 case 10: makemaz("emedu-10"); return;
3271 case 11: makemaz("emedu-11"); return;
3272 case 12: makemaz("emedu-12"); return;
3275 break;
3277 case 55:
3278 case 56:
3280 switch (rnd(15)) {
3282 case 1: makemaz("ecstl-1"); return;
3283 case 2: makemaz("ecstl-2"); return;
3284 case 3: makemaz("ecstl-3"); return;
3285 case 4: makemaz("ecstl-4"); return;
3286 case 5: makemaz("ecstl-5"); return;
3287 case 6: makemaz("ecstl-6"); return;
3288 case 7: makemaz("ecstl-7"); return;
3289 case 8: makemaz("ecstl-8"); return;
3290 case 9: makemaz("ecstl-9"); return;
3291 case 10: makemaz("ecstl-10"); return;
3292 case 11: makemaz("ecstl-11"); return;
3293 case 12: makemaz("ecstl-12"); return;
3294 case 13: makemaz("ecstl-13"); return;
3295 case 14: makemaz("ecstl-14"); return;
3296 case 15: makemaz("ecstl-15"); return;
3299 break;
3301 case 57:
3302 case 58:
3303 case 59:
3304 case 60:
3305 case 61:
3307 switch (rnd(88)) {
3309 case 1: makemaz("egehn-1"); return;
3310 case 2: makemaz("egehn-2"); return;
3311 case 3: makemaz("egehn-3"); return;
3312 case 4: makemaz("egehn-4"); return;
3313 case 5: makemaz("egehn-5"); return;
3314 case 6: makemaz("egehn-6"); return;
3315 case 7: makemaz("egehn-7"); return;
3316 case 8: makemaz("egehn-8"); return;
3317 case 9: makemaz("egehn-9"); return;
3318 case 10: makemaz("egehn-10"); return;
3319 case 11: makemaz("egehn-11"); return;
3320 case 12: makemaz("egehn-12"); return;
3321 case 13: makemaz("egehn-13"); return;
3322 case 14: makemaz("egehn-14"); return;
3323 case 15: makemaz("egehn-15"); return;
3324 case 16: makemaz("egehn-16"); return;
3325 case 17: makemaz("egehn-17"); return;
3326 case 18: makemaz("egehn-18"); return;
3327 case 19: makemaz("egehn-19"); return;
3328 case 20: makemaz("egehn-20"); return;
3329 case 21: makemaz("egehn-21"); return;
3330 case 22: makemaz("egehn-22"); return;
3331 case 23: makemaz("egehn-23"); return;
3332 case 24: makemaz("egehn-24"); return;
3333 case 25: makemaz("egehn-25"); return;
3334 case 26: makemaz("egehn-26"); return;
3335 case 27: makemaz("egehn-27"); return;
3336 case 28: makemaz("egehn-28"); return;
3337 case 29: makemaz("egehn-29"); return;
3338 case 30: makemaz("egehn-30"); return;
3339 case 31: makemaz("egehn-31"); return;
3340 case 32: makemaz("egehn-32"); return;
3341 case 33: makemaz("egehn-33"); return;
3342 case 34: makemaz("egehn-34"); return;
3343 case 35: makemaz("egehn-35"); return;
3344 case 36: makemaz("egehn-36"); return;
3345 case 37: makemaz("egehn-37"); return;
3346 case 38: makemaz("egehn-38"); return;
3347 case 39: makemaz("egehn-39"); return;
3348 case 40: makemaz("egehn-40"); return;
3349 case 41: makemaz("egehn-41"); return;
3350 case 42: makemaz("egehn-42"); return;
3351 case 43: makemaz("egehn-43"); return;
3352 case 44: makemaz("egehn-44"); return;
3353 case 45: makemaz("egehn-45"); return;
3354 case 46: makemaz("egehn-46"); return;
3355 case 47: makemaz("egehn-47"); return;
3356 case 48: makemaz("egehn-48"); return;
3357 case 49: makemaz("egehn-49"); return;
3358 case 50: makemaz("egehn-50"); return;
3359 case 51: makemaz("egehn-51"); return;
3360 case 52: makemaz("egehn-52"); return;
3361 case 53: makemaz("egehn-53"); return;
3362 case 54: makemaz("egehn-54"); return;
3363 case 55: makemaz("egehn-55"); return;
3364 case 56: makemaz("egehn-56"); return;
3365 case 57: makemaz("egehn-57"); return;
3366 case 58: makemaz("egehn-58"); return;
3367 case 59: makemaz("egehn-59"); return;
3368 case 60: makemaz("egehn-60"); return;
3369 case 61: makemaz("egehn-61"); return;
3370 case 62: makemaz("egehn-62"); return;
3371 case 63: makemaz("egehn-63"); return;
3372 case 64: makemaz("egehn-64"); return;
3373 case 65: makemaz("egehn-65"); return;
3374 case 66: makemaz("egehn-66"); return;
3375 case 67: makemaz("egehn-67"); return;
3376 case 68: makemaz("egehn-68"); return;
3377 case 69: makemaz("egehn-69"); return;
3378 case 70: makemaz("egehn-70"); return;
3379 case 71: makemaz("egehn-71"); return;
3380 case 72: makemaz("egehn-72"); return;
3381 case 73: makemaz("egehn-73"); return;
3382 case 74: makemaz("egehn-74"); return;
3383 case 75: makemaz("egehn-75"); return;
3384 case 76: makemaz("egehn-76"); return;
3385 case 77: makemaz("egehn-77"); return;
3386 case 78: makemaz("egehn-78"); return;
3387 case 79: makemaz("egehn-79"); return;
3388 case 80: makemaz("egehn-80"); return;
3389 case 81: makemaz("egehn-81"); return;
3390 case 82: makemaz("egehn-82"); return;
3391 case 83: makemaz("egehn-83"); return;
3392 case 84: makemaz("egehn-84"); return;
3393 case 85: makemaz("egehn-85"); return;
3394 case 86: makemaz("egehn-86"); return;
3395 case 87: makemaz("egehn-87"); return;
3396 case 88: makemaz("egehn-88"); return;
3399 break;
3401 case 62:
3403 makemaz("schoolX"); return;
3404 break;
3406 case 63:
3408 switch (rnd(4)) {
3410 case 1: makemaz("etown-1"); return;
3411 case 2: makemaz("etown-2"); return;
3412 case 3: makemaz("etown-3"); return;
3413 case 4: makemaz("etown-4"); return;
3416 break;
3418 case 64:
3420 switch (rnd(3)) {
3422 case 1: makemaz("egrund-1"); return;
3423 case 2: makemaz("egrund-2"); return;
3424 case 3: makemaz("egrund-3"); return;
3427 break;
3429 case 65:
3431 switch (rnd(3)) {
3433 case 1: makemaz("eknox-1"); return;
3434 case 2: makemaz("eknox-2"); return;
3435 case 3: makemaz("eknox-3"); return;
3439 break;
3441 case 66:
3443 makemaz("dragons"); return;
3444 break;
3446 case 67:
3448 makemaz("etomb"); return;
3449 break;
3451 case 68:
3453 makemaz("espiders"); return;
3454 break;
3456 case 69:
3458 makemaz("esea"); return;
3459 break;
3461 case 70:
3463 makemaz("emtemple"); return;
3464 break;
3466 case 71:
3467 case 72:
3468 case 73:
3470 switch (rnd(22)) {
3472 case 1: makemaz("esheo-1"); return;
3473 case 2: makemaz("esheo-2"); return;
3474 case 3: makemaz("esheo-3"); return;
3475 case 4: makemaz("esheo-4"); return;
3476 case 5: makemaz("esheo-5"); return;
3477 case 6: makemaz("esheo-6"); return;
3478 case 7: makemaz("esheo-7"); return;
3479 case 8: makemaz("esheo-8"); return;
3480 case 9: makemaz("esheo-9"); return;
3481 case 10: makemaz("esheo-10"); return;
3482 case 11: makemaz("esheo-11"); return;
3483 case 12: makemaz("esheo-12"); return;
3484 case 13: makemaz("esheo-13"); return;
3485 case 14: makemaz("esheo-14"); return;
3486 case 15: makemaz("esheo-15"); return;
3487 case 16: makemaz("esheo-16"); return;
3488 case 17: makemaz("esheo-17"); return;
3489 case 18: makemaz("esheo-18"); return;
3490 case 19: makemaz("esheo-19"); return;
3491 case 20: makemaz("esheo-20"); return;
3492 case 21: makemaz("esheo-21"); return;
3493 case 22: makemaz("esheo-22"); return;
3496 break;
3498 case 74:
3499 case 75:
3500 case 76:
3501 case 77:
3502 case 78:
3503 case 79:
3504 case 80:
3505 case 81:
3506 case 82:
3507 case 83:
3508 case 84:
3509 case 85:
3510 case 86:
3511 case 87:
3512 case 88:
3513 case 89:
3514 case 90:
3515 case 91:
3516 case 92:
3517 case 93:
3519 switch (rnd(870)) { /* keyword "newroles" */
3521 case 1: makemaz("Aci-1"); return;
3522 case 2: makemaz("Aci-2"); return;
3523 case 3: makemaz("Aci-3"); return;
3524 case 4: makemaz("Aci-4"); return;
3525 case 5: makemaz("Aci-5"); return;
3526 case 6: makemaz("Act-1"); return;
3527 case 7: makemaz("Act-2"); return;
3528 case 8: makemaz("Act-3"); return;
3529 case 9: makemaz("Act-4"); return;
3530 case 10: makemaz("Act-5"); return;
3531 case 11: makemaz("Alt-1"); return;
3532 case 12: makemaz("Alt-2"); return;
3533 case 13: makemaz("Alt-3"); return;
3534 case 14: makemaz("Alt-4"); return;
3535 case 15: makemaz("Alt-5"); return;
3536 case 16: makemaz("Ama-1"); return;
3537 case 17: makemaz("Ama-2"); return;
3538 case 18: makemaz("Ama-3"); return;
3539 case 19: makemaz("Ama-4"); return;
3540 case 20: makemaz("Ama-5"); return;
3541 case 21: makemaz("Arc-1"); return;
3542 case 22: makemaz("Arc-2"); return;
3543 case 23: makemaz("Arc-3"); return;
3544 case 24: makemaz("Arc-4"); return;
3545 case 25: makemaz("Arc-5"); return;
3546 case 26: makemaz("Art-1"); return;
3547 case 27: makemaz("Art-2"); return;
3548 case 28: makemaz("Art-3"); return;
3549 case 29: makemaz("Art-4"); return;
3550 case 30: makemaz("Art-5"); return;
3551 case 31: makemaz("Ass-1"); return;
3552 case 32: makemaz("Ass-2"); return;
3553 case 33: makemaz("Ass-3"); return;
3554 case 34: makemaz("Ass-4"); return;
3555 case 35: makemaz("Ass-5"); return;
3556 case 36: makemaz("Aug-1"); return;
3557 case 37: makemaz("Aug-2"); return;
3558 case 38: makemaz("Aug-3"); return;
3559 case 39: makemaz("Aug-4"); return;
3560 case 40: makemaz("Aug-5"); return;
3561 case 41: makemaz("Bar-1"); return;
3562 case 42: makemaz("Bar-2"); return;
3563 case 43: makemaz("Bar-3"); return;
3564 case 44: makemaz("Bar-4"); return;
3565 case 45: makemaz("Bar-5"); return;
3566 case 46: makemaz("Brd-1"); return;
3567 case 47: makemaz("Brd-2"); return;
3568 case 48: makemaz("Brd-3"); return;
3569 case 49: makemaz("Brd-4"); return;
3570 case 50: makemaz("Brd-5"); return;
3571 case 51: makemaz("Bin-1"); return;
3572 case 52: makemaz("Bin-2"); return;
3573 case 53: makemaz("Bin-3"); return;
3574 case 54: makemaz("Bin-4"); return;
3575 case 55: makemaz("Bin-5"); return;
3576 case 56: makemaz("Ble-1"); return;
3577 case 57: makemaz("Ble-2"); return;
3578 case 58: makemaz("Ble-3"); return;
3579 case 59: makemaz("Ble-4"); return;
3580 case 60: makemaz("Ble-5"); return;
3581 case 61: makemaz("Blo-1"); return;
3582 case 62: makemaz("Blo-2"); return;
3583 case 63: makemaz("Blo-3"); return;
3584 case 64: makemaz("Blo-4"); return;
3585 case 65: makemaz("Blo-5"); return;
3586 case 66: makemaz("Bos-1"); return;
3587 case 67: makemaz("Bos-2"); return;
3588 case 68: makemaz("Bos-3"); return;
3589 case 69: makemaz("Bos-4"); return;
3590 case 70: makemaz("Bos-5"); return;
3591 case 71: makemaz("Bul-1"); return;
3592 case 72: makemaz("Bul-2"); return;
3593 case 73: makemaz("Bul-3"); return;
3594 case 74: makemaz("Bul-4"); return;
3595 case 75: makemaz("Bul-5"); return;
3596 case 76: makemaz("Cav-1"); return;
3597 case 77: makemaz("Cav-2"); return;
3598 case 78: makemaz("Cav-3"); return;
3599 case 79: makemaz("Cav-4"); return;
3600 case 80: makemaz("Cav-5"); return;
3601 case 81: makemaz("Che-1"); return;
3602 case 82: makemaz("Che-2"); return;
3603 case 83: makemaz("Che-3"); return;
3604 case 84: makemaz("Che-4"); return;
3605 case 85: makemaz("Che-5"); return;
3606 case 86: makemaz("Con-1"); return;
3607 case 87: makemaz("Con-2"); return;
3608 case 88: makemaz("Con-3"); return;
3609 case 89: makemaz("Con-4"); return;
3610 case 90: makemaz("Con-5"); return;
3611 case 91: makemaz("Coo-1"); return;
3612 case 92: makemaz("Coo-2"); return;
3613 case 93: makemaz("Coo-3"); return;
3614 case 94: makemaz("Coo-4"); return;
3615 case 95: makemaz("Coo-5"); return;
3616 case 96: makemaz("Cou-1"); return;
3617 case 97: makemaz("Cou-2"); return;
3618 case 98: makemaz("Cou-3"); return;
3619 case 99: makemaz("Cou-4"); return;
3620 case 100: makemaz("Cou-5"); return;
3621 case 101: makemaz("Abu-1"); return;
3622 case 102: makemaz("Abu-2"); return;
3623 case 103: makemaz("Abu-3"); return;
3624 case 104: makemaz("Abu-4"); return;
3625 case 105: makemaz("Abu-5"); return;
3626 case 106: makemaz("Dea-1"); return;
3627 case 107: makemaz("Dea-2"); return;
3628 case 108: makemaz("Dea-3"); return;
3629 case 109: makemaz("Dea-4"); return;
3630 case 110: makemaz("Dea-5"); return;
3631 case 111: makemaz("Div-1"); return;
3632 case 112: makemaz("Div-2"); return;
3633 case 113: makemaz("Div-3"); return;
3634 case 114: makemaz("Div-4"); return;
3635 case 115: makemaz("Div-5"); return;
3636 case 116: makemaz("Dol-1"); return;
3637 case 117: makemaz("Dol-2"); return;
3638 case 118: makemaz("Dol-3"); return;
3639 case 119: makemaz("Dol-4"); return;
3640 case 120: makemaz("Dol-5"); return;
3641 case 121: makemaz("Dru-1"); return;
3642 case 122: makemaz("Dru-2"); return;
3643 case 123: makemaz("Dru-3"); return;
3644 case 124: makemaz("Dru-4"); return;
3645 case 125: makemaz("Dru-5"); return;
3646 case 126: makemaz("Dun-1"); return;
3647 case 127: makemaz("Dun-2"); return;
3648 case 128: makemaz("Dun-3"); return;
3649 case 129: makemaz("Dun-4"); return;
3650 case 130: makemaz("Dun-5"); return;
3651 case 131: makemaz("Ele-1"); return;
3652 case 132: makemaz("Ele-2"); return;
3653 case 133: makemaz("Ele-3"); return;
3654 case 134: makemaz("Ele-4"); return;
3655 case 135: makemaz("Ele-5"); return;
3656 case 136: makemaz("Elp-1"); return;
3657 case 137: makemaz("Elp-2"); return;
3658 case 138: makemaz("Elp-3"); return;
3659 case 139: makemaz("Elp-4"); return;
3660 case 140: makemaz("Elp-5"); return;
3661 case 141: makemaz("Stu-1"); return;
3662 case 142: makemaz("Stu-2"); return;
3663 case 143: makemaz("Stu-3"); return;
3664 case 144: makemaz("Stu-4"); return;
3665 case 145: makemaz("Stu-5"); return;
3666 case 146: makemaz("Fir-1"); return;
3667 case 147: makemaz("Fir-2"); return;
3668 case 148: makemaz("Fir-3"); return;
3669 case 149: makemaz("Fir-4"); return;
3670 case 150: makemaz("Fir-5"); return;
3671 case 151: makemaz("Fla-1"); return;
3672 case 152: makemaz("Fla-2"); return;
3673 case 153: makemaz("Fla-3"); return;
3674 case 154: makemaz("Fla-4"); return;
3675 case 155: makemaz("Fla-5"); return;
3676 case 156: makemaz("Fox-1"); return;
3677 case 157: makemaz("Fox-2"); return;
3678 case 158: makemaz("Fox-3"); return;
3679 case 159: makemaz("Fox-4"); return;
3680 case 160: makemaz("Fox-5"); return;
3681 case 161: makemaz("Gam-1"); return;
3682 case 162: makemaz("Gam-2"); return;
3683 case 163: makemaz("Gam-3"); return;
3684 case 164: makemaz("Gam-4"); return;
3685 case 165: makemaz("Gam-5"); return;
3686 case 166: makemaz("Gan-1"); return;
3687 case 167: makemaz("Gan-2"); return;
3688 case 168: makemaz("Gan-3"); return;
3689 case 169: makemaz("Gan-4"); return;
3690 case 170: makemaz("Gan-5"); return;
3691 case 171: makemaz("Gee-1"); return;
3692 case 172: makemaz("Gee-2"); return;
3693 case 173: makemaz("Gee-3"); return;
3694 case 174: makemaz("Gee-4"); return;
3695 case 175: makemaz("Gee-5"); return;
3696 case 176: makemaz("Gla-1"); return;
3697 case 177: makemaz("Gla-2"); return;
3698 case 178: makemaz("Gla-3"); return;
3699 case 179: makemaz("Gla-4"); return;
3700 case 180: makemaz("Gla-5"); return;
3701 case 181: makemaz("Gof-1"); return;
3702 case 182: makemaz("Gof-2"); return;
3703 case 183: makemaz("Gof-3"); return;
3704 case 184: makemaz("Gof-4"); return;
3705 case 185: makemaz("Gof-5"); return;
3706 case 186: makemaz("Gra-1"); return;
3707 case 187: makemaz("Gra-2"); return;
3708 case 188: makemaz("Gra-3"); return;
3709 case 189: makemaz("Gra-4"); return;
3710 case 190: makemaz("Gra-5"); return;
3711 case 191: makemaz("Gun-1"); return;
3712 case 192: makemaz("Gun-2"); return;
3713 case 193: makemaz("Gun-3"); return;
3714 case 194: makemaz("Gun-4"); return;
3715 case 195: makemaz("Gun-5"); return;
3716 case 196: makemaz("Hea-1"); return;
3717 case 197: makemaz("Hea-2"); return;
3718 case 198: makemaz("Hea-3"); return;
3719 case 199: makemaz("Hea-4"); return;
3720 case 200: makemaz("Hea-5"); return;
3721 case 201: makemaz("Ice-1"); return;
3722 case 202: makemaz("Ice-2"); return;
3723 case 203: makemaz("Ice-3"); return;
3724 case 204: makemaz("Ice-4"); return;
3725 case 205: makemaz("Ice-5"); return;
3726 case 206: makemaz("Scr-1"); return;
3727 case 207: makemaz("Scr-2"); return;
3728 case 208: makemaz("Scr-3"); return;
3729 case 209: makemaz("Scr-4"); return;
3730 case 210: makemaz("Scr-5"); return;
3731 case 211: makemaz("Jed-1"); return;
3732 case 212: makemaz("Jed-2"); return;
3733 case 213: makemaz("Jed-3"); return;
3734 case 214: makemaz("Jed-4"); return;
3735 case 215: makemaz("Jed-5"); return;
3736 case 216: makemaz("Jes-1"); return;
3737 case 217: makemaz("Jes-2"); return;
3738 case 218: makemaz("Jes-3"); return;
3739 case 219: makemaz("Jes-4"); return;
3740 case 220: makemaz("Jes-5"); return;
3741 case 221: makemaz("Kni-1"); return;
3742 case 222: makemaz("Kni-2"); return;
3743 case 223: makemaz("Kni-3"); return;
3744 case 224: makemaz("Kni-4"); return;
3745 case 225: makemaz("Kni-5"); return;
3746 case 226: makemaz("Kor-1"); return;
3747 case 227: makemaz("Kor-2"); return;
3748 case 228: makemaz("Kor-3"); return;
3749 case 229: makemaz("Kor-4"); return;
3750 case 230: makemaz("Kor-5"); return;
3751 case 231: makemaz("Lad-1"); return;
3752 case 232: makemaz("Lad-2"); return;
3753 case 233: makemaz("Lad-3"); return;
3754 case 234: makemaz("Lad-4"); return;
3755 case 235: makemaz("Lad-5"); return;
3756 case 236: makemaz("Lib-1"); return;
3757 case 237: makemaz("Lib-2"); return;
3758 case 238: makemaz("Lib-3"); return;
3759 case 239: makemaz("Lib-4"); return;
3760 case 240: makemaz("Lib-5"); return;
3761 case 241: makemaz("Loc-1"); return;
3762 case 242: makemaz("Loc-2"); return;
3763 case 243: makemaz("Loc-3"); return;
3764 case 244: makemaz("Loc-4"); return;
3765 case 245: makemaz("Loc-5"); return;
3766 case 246: makemaz("Lun-1"); return;
3767 case 247: makemaz("Lun-2"); return;
3768 case 248: makemaz("Lun-3"); return;
3769 case 249: makemaz("Lun-4"); return;
3770 case 250: makemaz("Lun-5"); return;
3771 case 251: makemaz("Mah-1"); return;
3772 case 252: makemaz("Mah-2"); return;
3773 case 253: makemaz("Mah-3"); return;
3774 case 254: makemaz("Mah-4"); return;
3775 case 255: makemaz("Mah-5"); return;
3776 case 256: makemaz("Mon-1"); return;
3777 case 257: makemaz("Mon-2"); return;
3778 case 258: makemaz("Mon-3"); return;
3779 case 259: makemaz("Mon-4"); return;
3780 case 260: makemaz("Mon-5"); return;
3781 case 261: makemaz("Mus-1"); return;
3782 case 262: makemaz("Mus-2"); return;
3783 case 263: makemaz("Mus-3"); return;
3784 case 264: makemaz("Mus-4"); return;
3785 case 265: makemaz("Mus-5"); return;
3786 case 266: makemaz("Mys-1"); return;
3787 case 267: makemaz("Mys-2"); return;
3788 case 268: makemaz("Mys-3"); return;
3789 case 269: makemaz("Mys-4"); return;
3790 case 270: makemaz("Mys-5"); return;
3791 case 271: makemaz("Nec-1"); return;
3792 case 272: makemaz("Nec-2"); return;
3793 case 273: makemaz("Nec-3"); return;
3794 case 274: makemaz("Nec-4"); return;
3795 case 275: makemaz("Nec-5"); return;
3796 case 276: makemaz("Nin-1"); return;
3797 case 277: makemaz("Nin-2"); return;
3798 case 278: makemaz("Nin-3"); return;
3799 case 279: makemaz("Nin-4"); return;
3800 case 280: makemaz("Nin-5"); return;
3801 case 281: makemaz("Nob-1"); return;
3802 case 282: makemaz("Nob-2"); return;
3803 case 283: makemaz("Nob-3"); return;
3804 case 284: makemaz("Nob-4"); return;
3805 case 285: makemaz("Nob-5"); return;
3806 case 286: makemaz("Off-1"); return;
3807 case 287: makemaz("Off-2"); return;
3808 case 288: makemaz("Off-3"); return;
3809 case 289: makemaz("Off-4"); return;
3810 case 290: makemaz("Off-5"); return;
3811 case 291: makemaz("Ord-1"); return;
3812 case 292: makemaz("Ord-2"); return;
3813 case 293: makemaz("Ord-3"); return;
3814 case 294: makemaz("Ord-4"); return;
3815 case 295: makemaz("Ord-5"); return;
3816 case 296: makemaz("Ota-1"); return;
3817 case 297: makemaz("Ota-2"); return;
3818 case 298: makemaz("Ota-3"); return;
3819 case 299: makemaz("Ota-4"); return;
3820 case 300: makemaz("Ota-5"); return;
3821 case 301: makemaz("Pal-1"); return;
3822 case 302: makemaz("Pal-2"); return;
3823 case 303: makemaz("Pal-3"); return;
3824 case 304: makemaz("Pal-4"); return;
3825 case 305: makemaz("Pal-5"); return;
3826 case 306: makemaz("Pic-1"); return;
3827 case 307: makemaz("Pic-2"); return;
3828 case 308: makemaz("Pic-3"); return;
3829 case 309: makemaz("Pic-4"); return;
3830 case 310: makemaz("Pic-5"); return;
3831 case 311: makemaz("Pir-1"); return;
3832 case 312: makemaz("Pir-2"); return;
3833 case 313: makemaz("Pir-3"); return;
3834 case 314: makemaz("Pir-4"); return;
3835 case 315: makemaz("Pir-5"); return;
3836 case 316: makemaz("Pok-1"); return;
3837 case 317: makemaz("Pok-2"); return;
3838 case 318: makemaz("Pok-3"); return;
3839 case 319: makemaz("Pok-4"); return;
3840 case 320: makemaz("Pok-5"); return;
3841 case 321: makemaz("Pol-1"); return;
3842 case 322: makemaz("Pol-2"); return;
3843 case 323: makemaz("Pol-3"); return;
3844 case 324: makemaz("Pol-4"); return;
3845 case 325: makemaz("Pol-5"); return;
3846 case 326: makemaz("Pri-1"); return;
3847 case 327: makemaz("Pri-2"); return;
3848 case 328: makemaz("Pri-3"); return;
3849 case 329: makemaz("Pri-4"); return;
3850 case 330: makemaz("Pri-5"); return;
3851 case 331: makemaz("Psi-1"); return;
3852 case 332: makemaz("Psi-2"); return;
3853 case 333: makemaz("Psi-3"); return;
3854 case 334: makemaz("Psi-4"); return;
3855 case 335: makemaz("Psi-5"); return;
3856 case 336: makemaz("Ran-1"); return;
3857 case 337: makemaz("Ran-2"); return;
3858 case 338: makemaz("Ran-3"); return;
3859 case 339: makemaz("Ran-4"); return;
3860 case 340: makemaz("Ran-5"); return;
3861 case 341: makemaz("Roc-1"); return;
3862 case 342: makemaz("Roc-2"); return;
3863 case 343: makemaz("Roc-3"); return;
3864 case 344: makemaz("Roc-4"); return;
3865 case 345: makemaz("Roc-5"); return;
3866 case 346: makemaz("Rog-1"); return;
3867 case 347: makemaz("Rog-2"); return;
3868 case 348: makemaz("Rog-3"); return;
3869 case 349: makemaz("Rog-4"); return;
3870 case 350: makemaz("Rog-5"); return;
3871 case 351: makemaz("Sag-1"); return;
3872 case 352: makemaz("Sag-2"); return;
3873 case 353: makemaz("Sag-3"); return;
3874 case 354: makemaz("Sag-4"); return;
3875 case 355: makemaz("Sag-5"); return;
3876 case 356: makemaz("Sai-1"); return;
3877 case 357: makemaz("Sai-2"); return;
3878 case 358: makemaz("Sai-3"); return;
3879 case 359: makemaz("Sai-4"); return;
3880 case 360: makemaz("Sai-5"); return;
3881 case 361: makemaz("Sam-1"); return;
3882 case 362: makemaz("Sam-2"); return;
3883 case 363: makemaz("Sam-3"); return;
3884 case 364: makemaz("Sam-4"); return;
3885 case 365: makemaz("Sam-5"); return;
3886 case 366: makemaz("Sci-1"); return;
3887 case 367: makemaz("Sci-2"); return;
3888 case 368: makemaz("Sci-3"); return;
3889 case 369: makemaz("Sci-4"); return;
3890 case 370: makemaz("Sci-5"); return;
3891 case 371: makemaz("Sla-1"); return;
3892 case 372: makemaz("Sla-2"); return;
3893 case 373: makemaz("Sla-3"); return;
3894 case 374: makemaz("Sla-4"); return;
3895 case 375: makemaz("Sla-5"); return;
3896 case 376: makemaz("Spa-1"); return;
3897 case 377: makemaz("Spa-2"); return;
3898 case 378: makemaz("Spa-3"); return;
3899 case 379: makemaz("Spa-4"); return;
3900 case 380: makemaz("Spa-5"); return;
3901 case 381: makemaz("Sup-1"); return;
3902 case 382: makemaz("Sup-2"); return;
3903 case 383: makemaz("Sup-3"); return;
3904 case 384: makemaz("Sup-4"); return;
3905 case 385: makemaz("Sup-5"); return;
3906 case 386: makemaz("Tha-1"); return;
3907 case 387: makemaz("Tha-2"); return;
3908 case 388: makemaz("Tha-3"); return;
3909 case 389: makemaz("Tha-4"); return;
3910 case 390: makemaz("Tha-5"); return;
3911 case 391: makemaz("Top-1"); return;
3912 case 392: makemaz("Top-2"); return;
3913 case 393: makemaz("Top-3"); return;
3914 case 394: makemaz("Top-4"); return;
3915 case 395: makemaz("Top-5"); return;
3916 case 396: makemaz("Tou-1"); return;
3917 case 397: makemaz("Tou-2"); return;
3918 case 398: makemaz("Tou-3"); return;
3919 case 399: makemaz("Tou-4"); return;
3920 case 400: makemaz("Tou-5"); return;
3921 case 401: makemaz("Tra-1"); return;
3922 case 402: makemaz("Tra-2"); return;
3923 case 403: makemaz("Tra-3"); return;
3924 case 404: makemaz("Tra-4"); return;
3925 case 405: makemaz("Tra-5"); return;
3926 case 406: makemaz("Und-1"); return;
3927 case 407: makemaz("Und-2"); return;
3928 case 408: makemaz("Und-3"); return;
3929 case 409: makemaz("Und-4"); return;
3930 case 410: makemaz("Und-5"); return;
3931 case 411: makemaz("Unt-1"); return;
3932 case 412: makemaz("Unt-2"); return;
3933 case 413: makemaz("Unt-3"); return;
3934 case 414: makemaz("Unt-4"); return;
3935 case 415: makemaz("Unt-5"); return;
3936 case 416: makemaz("Val-1"); return;
3937 case 417: makemaz("Val-2"); return;
3938 case 418: makemaz("Val-3"); return;
3939 case 419: makemaz("Val-4"); return;
3940 case 420: makemaz("Val-5"); return;
3941 case 421: makemaz("Wan-1"); return;
3942 case 422: makemaz("Wan-2"); return;
3943 case 423: makemaz("Wan-3"); return;
3944 case 424: makemaz("Wan-4"); return;
3945 case 425: makemaz("Wan-5"); return;
3946 case 426: makemaz("War-1"); return;
3947 case 427: makemaz("War-2"); return;
3948 case 428: makemaz("War-3"); return;
3949 case 429: makemaz("War-4"); return;
3950 case 430: makemaz("War-5"); return;
3951 case 431: makemaz("Wiz-1"); return;
3952 case 432: makemaz("Wiz-2"); return;
3953 case 433: makemaz("Wiz-3"); return;
3954 case 434: makemaz("Wiz-4"); return;
3955 case 435: makemaz("Wiz-5"); return;
3956 case 436: makemaz("Yeo-1"); return;
3957 case 437: makemaz("Yeo-2"); return;
3958 case 438: makemaz("Yeo-3"); return;
3959 case 439: makemaz("Yeo-4"); return;
3960 case 440: makemaz("Yeo-5"); return;
3961 case 441: makemaz("Zoo-1"); return;
3962 case 442: makemaz("Zoo-2"); return;
3963 case 443: makemaz("Zoo-3"); return;
3964 case 444: makemaz("Zoo-4"); return;
3965 case 445: makemaz("Zoo-5"); return;
3966 case 446: makemaz("Zyb-1"); return;
3967 case 447: makemaz("Zyb-2"); return;
3968 case 448: makemaz("Zyb-3"); return;
3969 case 449: makemaz("Zyb-4"); return;
3970 case 450: makemaz("Zyb-5"); return;
3971 case 451: makemaz("Ana-1"); return;
3972 case 452: makemaz("Ana-2"); return;
3973 case 453: makemaz("Ana-3"); return;
3974 case 454: makemaz("Ana-4"); return;
3975 case 455: makemaz("Ana-5"); return;
3976 case 456: makemaz("Cam-1"); return;
3977 case 457: makemaz("Cam-2"); return;
3978 case 458: makemaz("Cam-3"); return;
3979 case 459: makemaz("Cam-4"); return;
3980 case 460: makemaz("Cam-5"); return;
3981 case 461: makemaz("Mar-1"); return;
3982 case 462: makemaz("Mar-2"); return;
3983 case 463: makemaz("Mar-3"); return;
3984 case 464: makemaz("Mar-4"); return;
3985 case 465: makemaz("Mar-5"); return;
3986 case 466: makemaz("Sli-1"); return;
3987 case 467: makemaz("Sli-2"); return;
3988 case 468: makemaz("Sli-3"); return;
3989 case 469: makemaz("Sli-4"); return;
3990 case 470: makemaz("Sli-5"); return;
3991 case 471: makemaz("Drd-1"); return;
3992 case 472: makemaz("Drd-2"); return;
3993 case 473: makemaz("Drd-3"); return;
3994 case 474: makemaz("Drd-4"); return;
3995 case 475: makemaz("Drd-5"); return;
3996 case 476: makemaz("Erd-1"); return;
3997 case 477: makemaz("Erd-2"); return;
3998 case 478: makemaz("Erd-3"); return;
3999 case 479: makemaz("Erd-4"); return;
4000 case 480: makemaz("Erd-5"); return;
4001 case 481: makemaz("Fai-1"); return;
4002 case 482: makemaz("Fai-2"); return;
4003 case 483: makemaz("Fai-3"); return;
4004 case 484: makemaz("Fai-4"); return;
4005 case 485: makemaz("Fai-5"); return;
4006 case 486: makemaz("Fen-1"); return;
4007 case 487: makemaz("Fen-2"); return;
4008 case 488: makemaz("Fen-3"); return;
4009 case 489: makemaz("Fen-4"); return;
4010 case 490: makemaz("Fen-5"); return;
4011 case 491: makemaz("Fig-1"); return;
4012 case 492: makemaz("Fig-2"); return;
4013 case 493: makemaz("Fig-3"); return;
4014 case 494: makemaz("Fig-4"); return;
4015 case 495: makemaz("Fig-5"); return;
4016 case 496: makemaz("Gol-1"); return;
4017 case 497: makemaz("Gol-2"); return;
4018 case 498: makemaz("Gol-3"); return;
4019 case 499: makemaz("Gol-4"); return;
4020 case 500: makemaz("Gol-5"); return;
4021 case 501: makemaz("Jus-1"); return;
4022 case 502: makemaz("Jus-2"); return;
4023 case 503: makemaz("Jus-3"); return;
4024 case 504: makemaz("Jus-4"); return;
4025 case 505: makemaz("Jus-5"); return;
4026 case 506: makemaz("Med-1"); return;
4027 case 507: makemaz("Med-2"); return;
4028 case 508: makemaz("Med-3"); return;
4029 case 509: makemaz("Med-4"); return;
4030 case 510: makemaz("Med-5"); return;
4031 case 511: makemaz("Mid-1"); return;
4032 case 512: makemaz("Mid-2"); return;
4033 case 513: makemaz("Mid-3"); return;
4034 case 514: makemaz("Mid-4"); return;
4035 case 515: makemaz("Mid-5"); return;
4036 case 516: makemaz("Mur-1"); return;
4037 case 517: makemaz("Mur-2"); return;
4038 case 518: makemaz("Mur-3"); return;
4039 case 519: makemaz("Mur-4"); return;
4040 case 520: makemaz("Mur-5"); return;
4041 case 521: makemaz("Poi-1"); return;
4042 case 522: makemaz("Poi-2"); return;
4043 case 523: makemaz("Poi-3"); return;
4044 case 524: makemaz("Poi-4"); return;
4045 case 525: makemaz("Poi-5"); return;
4046 case 526: makemaz("Rin-1"); return;
4047 case 527: makemaz("Rin-2"); return;
4048 case 528: makemaz("Rin-3"); return;
4049 case 529: makemaz("Rin-4"); return;
4050 case 530: makemaz("Rin-5"); return;
4051 case 531: makemaz("Sha-1"); return;
4052 case 532: makemaz("Sha-2"); return;
4053 case 533: makemaz("Sha-3"); return;
4054 case 534: makemaz("Sha-4"); return;
4055 case 535: makemaz("Sha-5"); return;
4056 case 536: makemaz("Twe-1"); return;
4057 case 537: makemaz("Twe-2"); return;
4058 case 538: makemaz("Twe-3"); return;
4059 case 539: makemaz("Twe-4"); return;
4060 case 540: makemaz("Twe-5"); return;
4061 case 541: makemaz("Use-1"); return;
4062 case 542: makemaz("Use-2"); return;
4063 case 543: makemaz("Use-3"); return;
4064 case 544: makemaz("Use-4"); return;
4065 case 545: makemaz("Use-5"); return;
4066 case 546: makemaz("Sex-1"); return;
4067 case 547: makemaz("Sex-2"); return;
4068 case 548: makemaz("Sex-3"); return;
4069 case 549: makemaz("Sex-4"); return;
4070 case 550: makemaz("Sex-5"); return;
4071 case 551: makemaz("Unb-1"); return;
4072 case 552: makemaz("Unb-2"); return;
4073 case 553: makemaz("Unb-3"); return;
4074 case 554: makemaz("Unb-4"); return;
4075 case 555: makemaz("Unb-5"); return;
4076 case 556: makemaz("Trs-1"); return;
4077 case 557: makemaz("Trs-2"); return;
4078 case 558: makemaz("Trs-3"); return;
4079 case 559: makemaz("Trs-4"); return;
4080 case 560: makemaz("Trs-5"); return;
4081 case 561: makemaz("Cha-1"); return;
4082 case 562: makemaz("Cha-2"); return;
4083 case 563: makemaz("Cha-3"); return;
4084 case 564: makemaz("Cha-4"); return;
4085 case 565: makemaz("Cha-5"); return;
4086 case 566: makemaz("Elm-1"); return;
4087 case 567: makemaz("Elm-2"); return;
4088 case 568: makemaz("Elm-3"); return;
4089 case 569: makemaz("Elm-4"); return;
4090 case 570: makemaz("Elm-5"); return;
4091 case 571: makemaz("Wil-1"); return;
4092 case 572: makemaz("Wil-2"); return;
4093 case 573: makemaz("Wil-3"); return;
4094 case 574: makemaz("Wil-4"); return;
4095 case 575: makemaz("Wil-5"); return;
4096 case 576: makemaz("Occ-1"); return;
4097 case 577: makemaz("Occ-2"); return;
4098 case 578: makemaz("Occ-3"); return;
4099 case 579: makemaz("Occ-4"); return;
4100 case 580: makemaz("Occ-5"); return;
4101 case 581: makemaz("Pro-1"); return;
4102 case 582: makemaz("Pro-2"); return;
4103 case 583: makemaz("Pro-3"); return;
4104 case 584: makemaz("Pro-4"); return;
4105 case 585: makemaz("Pro-5"); return;
4106 case 586: makemaz("Kur-1"); return;
4107 case 587: makemaz("Kur-2"); return;
4108 case 588: makemaz("Kur-3"); return;
4109 case 589: makemaz("Kur-4"); return;
4110 case 590: makemaz("Kur-5"); return;
4111 case 591: makemaz("For-1"); return;
4112 case 592: makemaz("For-2"); return;
4113 case 593: makemaz("For-3"); return;
4114 case 594: makemaz("For-4"); return;
4115 case 595: makemaz("For-5"); return;
4116 case 596: makemaz("Trc-1"); return;
4117 case 597: makemaz("Trc-2"); return;
4118 case 598: makemaz("Trc-3"); return;
4119 case 599: makemaz("Trc-4"); return;
4120 case 600: makemaz("Trc-5"); return;
4121 case 601: makemaz("Nuc-1"); return;
4122 case 602: makemaz("Nuc-2"); return;
4123 case 603: makemaz("Nuc-3"); return;
4124 case 604: makemaz("Nuc-4"); return;
4125 case 605: makemaz("Nuc-5"); return;
4126 case 606: makemaz("Sco-1"); return;
4127 case 607: makemaz("Sco-2"); return;
4128 case 608: makemaz("Sco-3"); return;
4129 case 609: makemaz("Sco-4"); return;
4130 case 610: makemaz("Sco-5"); return;
4131 case 611: makemaz("Fem-1"); return;
4132 case 612: makemaz("Fem-2"); return;
4133 case 613: makemaz("Fem-3"); return;
4134 case 614: makemaz("Fem-4"); return;
4135 case 615: makemaz("Fem-5"); return;
4136 case 616: makemaz("Hus-1"); return;
4137 case 617: makemaz("Hus-2"); return;
4138 case 618: makemaz("Hus-3"); return;
4139 case 619: makemaz("Hus-4"); return;
4140 case 620: makemaz("Hus-5"); return;
4141 case 621: makemaz("Acu-1"); return;
4142 case 622: makemaz("Acu-2"); return;
4143 case 623: makemaz("Acu-3"); return;
4144 case 624: makemaz("Acu-4"); return;
4145 case 625: makemaz("Acu-5"); return;
4146 case 626: makemaz("Mas-1"); return;
4147 case 627: makemaz("Mas-2"); return;
4148 case 628: makemaz("Mas-3"); return;
4149 case 629: makemaz("Mas-4"); return;
4150 case 630: makemaz("Mas-5"); return;
4151 case 631: makemaz("Gre-1"); return;
4152 case 632: makemaz("Gre-2"); return;
4153 case 633: makemaz("Gre-3"); return;
4154 case 634: makemaz("Gre-4"); return;
4155 case 635: makemaz("Gre-5"); return;
4156 case 636: makemaz("Cel-1"); return;
4157 case 637: makemaz("Cel-2"); return;
4158 case 638: makemaz("Cel-3"); return;
4159 case 639: makemaz("Cel-4"); return;
4160 case 640: makemaz("Cel-5"); return;
4161 case 641: makemaz("Wal-1"); return;
4162 case 642: makemaz("Wal-2"); return;
4163 case 643: makemaz("Wal-3"); return;
4164 case 644: makemaz("Wal-4"); return;
4165 case 645: makemaz("Wal-5"); return;
4166 case 646: makemaz("Soc-1"); return;
4167 case 647: makemaz("Soc-2"); return;
4168 case 648: makemaz("Soc-3"); return;
4169 case 649: makemaz("Soc-4"); return;
4170 case 650: makemaz("Soc-5"); return;
4171 case 651: makemaz("Dem-1"); return;
4172 case 652: makemaz("Dem-2"); return;
4173 case 653: makemaz("Dem-3"); return;
4174 case 654: makemaz("Dem-4"); return;
4175 case 655: makemaz("Dem-5"); return;
4176 case 656: makemaz("Dis-1"); return;
4177 case 657: makemaz("Dis-2"); return;
4178 case 658: makemaz("Dis-3"); return;
4179 case 659: makemaz("Dis-4"); return;
4180 case 660: makemaz("Dis-5"); return;
4181 case 661: makemaz("Sto-1"); return;
4182 case 662: makemaz("Sto-2"); return;
4183 case 663: makemaz("Sto-3"); return;
4184 case 664: makemaz("Sto-4"); return;
4185 case 665: makemaz("Sto-5"); return;
4186 case 666: makemaz("Mam-1"); return;
4187 case 667: makemaz("Mam-2"); return;
4188 case 668: makemaz("Mam-3"); return;
4189 case 669: makemaz("Mam-4"); return;
4190 case 670: makemaz("Mam-5"); return;
4191 case 671: makemaz("Jan-1"); return;
4192 case 672: makemaz("Jan-2"); return;
4193 case 673: makemaz("Jan-3"); return;
4194 case 674: makemaz("Jan-4"); return;
4195 case 675: makemaz("Jan-5"); return;
4196 case 676: makemaz("Emp-1"); return;
4197 case 677: makemaz("Emp-2"); return;
4198 case 678: makemaz("Emp-3"); return;
4199 case 679: makemaz("Emp-4"); return;
4200 case 680: makemaz("Emp-5"); return;
4201 case 681: makemaz("Psy-1"); return;
4202 case 682: makemaz("Psy-2"); return;
4203 case 683: makemaz("Psy-3"); return;
4204 case 684: makemaz("Psy-4"); return;
4205 case 685: makemaz("Psy-5"); return;
4206 case 686: makemaz("Qua-1"); return;
4207 case 687: makemaz("Qua-2"); return;
4208 case 688: makemaz("Qua-3"); return;
4209 case 689: makemaz("Qua-4"); return;
4210 case 690: makemaz("Qua-5"); return;
4211 case 691: makemaz("Cra-1"); return;
4212 case 692: makemaz("Cra-2"); return;
4213 case 693: makemaz("Cra-3"); return;
4214 case 694: makemaz("Cra-4"); return;
4215 case 695: makemaz("Cra-5"); return;
4216 case 696: makemaz("Wei-1"); return;
4217 case 697: makemaz("Wei-2"); return;
4218 case 698: makemaz("Wei-3"); return;
4219 case 699: makemaz("Wei-4"); return;
4220 case 700: makemaz("Wei-5"); return;
4221 case 701: makemaz("Xel-1"); return;
4222 case 702: makemaz("Xel-2"); return;
4223 case 703: makemaz("Xel-3"); return;
4224 case 704: makemaz("Xel-4"); return;
4225 case 705: makemaz("Xel-5"); return;
4226 case 706: makemaz("Yau-1"); return;
4227 case 707: makemaz("Yau-2"); return;
4228 case 708: makemaz("Yau-3"); return;
4229 case 709: makemaz("Yau-4"); return;
4230 case 710: makemaz("Yau-5"); return;
4231 case 711: makemaz("Sof-1"); return;
4232 case 712: makemaz("Sof-2"); return;
4233 case 713: makemaz("Sof-3"); return;
4234 case 714: makemaz("Sof-4"); return;
4235 case 715: makemaz("Sof-5"); return;
4236 case 716: makemaz("Ast-1"); return;
4237 case 717: makemaz("Ast-2"); return;
4238 case 718: makemaz("Ast-3"); return;
4239 case 719: makemaz("Ast-4"); return;
4240 case 720: makemaz("Ast-5"); return;
4241 case 721: makemaz("Sma-1"); return;
4242 case 722: makemaz("Sma-2"); return;
4243 case 723: makemaz("Sma-3"); return;
4244 case 724: makemaz("Sma-4"); return;
4245 case 725: makemaz("Sma-5"); return;
4246 case 726: makemaz("Cyb-1"); return;
4247 case 727: makemaz("Cyb-2"); return;
4248 case 728: makemaz("Cyb-3"); return;
4249 case 729: makemaz("Cyb-4"); return;
4250 case 730: makemaz("Cyb-5"); return;
4251 case 731: makemaz("Tos-1"); return;
4252 case 732: makemaz("Tos-2"); return;
4253 case 733: makemaz("Tos-3"); return;
4254 case 734: makemaz("Tos-4"); return;
4255 case 735: makemaz("Tos-5"); return;
4256 case 736: makemaz("Sym-1"); return;
4257 case 737: makemaz("Sym-2"); return;
4258 case 738: makemaz("Sym-3"); return;
4259 case 739: makemaz("Sym-4"); return;
4260 case 740: makemaz("Sym-5"); return;
4261 case 741: makemaz("Pra-1"); return;
4262 case 742: makemaz("Pra-2"); return;
4263 case 743: makemaz("Pra-3"); return;
4264 case 744: makemaz("Pra-4"); return;
4265 case 745: makemaz("Pra-5"); return;
4266 case 746: makemaz("Mil-1"); return;
4267 case 747: makemaz("Mil-2"); return;
4268 case 748: makemaz("Mil-3"); return;
4269 case 749: makemaz("Mil-4"); return;
4270 case 750: makemaz("Mil-5"); return;
4271 case 751: makemaz("Gen-1"); return;
4272 case 752: makemaz("Gen-2"); return;
4273 case 753: makemaz("Gen-3"); return;
4274 case 754: makemaz("Gen-4"); return;
4275 case 755: makemaz("Gen-5"); return;
4276 case 756: makemaz("Fjo-1"); return;
4277 case 757: makemaz("Fjo-2"); return;
4278 case 758: makemaz("Fjo-3"); return;
4279 case 759: makemaz("Fjo-4"); return;
4280 case 760: makemaz("Fjo-5"); return;
4281 case 761: makemaz("Eme-1"); return;
4282 case 762: makemaz("Eme-2"); return;
4283 case 763: makemaz("Eme-3"); return;
4284 case 764: makemaz("Eme-4"); return;
4285 case 765: makemaz("Eme-5"); return;
4286 case 766: makemaz("Com-1"); return;
4287 case 767: makemaz("Com-2"); return;
4288 case 768: makemaz("Com-3"); return;
4289 case 769: makemaz("Com-4"); return;
4290 case 770: makemaz("Com-5"); return;
4291 case 771: makemaz("Akl-1"); return;
4292 case 772: makemaz("Akl-2"); return;
4293 case 773: makemaz("Akl-3"); return;
4294 case 774: makemaz("Akl-4"); return;
4295 case 775: makemaz("Akl-5"); return;
4296 case 776: makemaz("Dra-1"); return;
4297 case 777: makemaz("Dra-2"); return;
4298 case 778: makemaz("Dra-3"); return;
4299 case 779: makemaz("Dra-4"); return;
4300 case 780: makemaz("Dra-5"); return;
4301 case 781: makemaz("Car-1"); return;
4302 case 782: makemaz("Car-2"); return;
4303 case 783: makemaz("Car-3"); return;
4304 case 784: makemaz("Car-4"); return;
4305 case 785: makemaz("Car-5"); return;
4306 case 786: makemaz("But-1"); return;
4307 case 787: makemaz("But-2"); return;
4308 case 788: makemaz("But-3"); return;
4309 case 789: makemaz("But-4"); return;
4310 case 790: makemaz("But-5"); return;
4311 case 791: makemaz("Dan-1"); return;
4312 case 792: makemaz("Dan-2"); return;
4313 case 793: makemaz("Dan-3"); return;
4314 case 794: makemaz("Dan-4"); return;
4315 case 795: makemaz("Dan-5"); return;
4316 case 796: makemaz("Dia-1"); return;
4317 case 797: makemaz("Dia-2"); return;
4318 case 798: makemaz("Dia-3"); return;
4319 case 799: makemaz("Dia-4"); return;
4320 case 800: makemaz("Dia-5"); return;
4321 case 801: makemaz("Pre-1"); return;
4322 case 802: makemaz("Pre-2"); return;
4323 case 803: makemaz("Pre-3"); return;
4324 case 804: makemaz("Pre-4"); return;
4325 case 805: makemaz("Pre-5"); return;
4326 case 806: makemaz("Sec-1"); return;
4327 case 807: makemaz("Sec-2"); return;
4328 case 808: makemaz("Sec-3"); return;
4329 case 809: makemaz("Sec-4"); return;
4330 case 810: makemaz("Sec-5"); return;
4331 case 811: makemaz("Sho-1"); return;
4332 case 812: makemaz("Sho-2"); return;
4333 case 813: makemaz("Sho-3"); return;
4334 case 814: makemaz("Sho-4"); return;
4335 case 815: makemaz("Sho-5"); return;
4336 case 816: makemaz("Hal-1"); return;
4337 case 817: makemaz("Hal-2"); return;
4338 case 818: makemaz("Hal-3"); return;
4339 case 819: makemaz("Hal-4"); return;
4340 case 820: makemaz("Hal-5"); return;
4341 case 821: makemaz("Sin-1"); return;
4342 case 822: makemaz("Sin-2"); return;
4343 case 823: makemaz("Sin-3"); return;
4344 case 824: makemaz("Sin-4"); return;
4345 case 825: makemaz("Sin-5"); return;
4346 case 826: makemaz("Hed-1"); return;
4347 case 827: makemaz("Hed-2"); return;
4348 case 828: makemaz("Hed-3"); return;
4349 case 829: makemaz("Hed-4"); return;
4350 case 830: makemaz("Hed-5"); return;
4351 case 831: makemaz("Van-1"); return;
4352 case 832: makemaz("Van-2"); return;
4353 case 833: makemaz("Van-3"); return;
4354 case 834: makemaz("Van-4"); return;
4355 case 835: makemaz("Van-5"); return;
4356 case 836: makemaz("Sdw-1"); return;
4357 case 837: makemaz("Sdw-2"); return;
4358 case 838: makemaz("Sdw-3"); return;
4359 case 839: makemaz("Sdw-4"); return;
4360 case 840: makemaz("Sdw-5"); return;
4361 case 841: makemaz("Cli-1"); return;
4362 case 842: makemaz("Cli-2"); return;
4363 case 843: makemaz("Cli-3"); return;
4364 case 844: makemaz("Cli-4"); return;
4365 case 845: makemaz("Cli-5"); return;
4366 case 846: makemaz("Wom-1"); return;
4367 case 847: makemaz("Wom-2"); return;
4368 case 848: makemaz("Wom-3"); return;
4369 case 849: makemaz("Wom-4"); return;
4370 case 850: makemaz("Wom-5"); return;
4371 case 851: makemaz("Noo-1"); return;
4372 case 852: makemaz("Noo-2"); return;
4373 case 853: makemaz("Noo-3"); return;
4374 case 854: makemaz("Noo-4"); return;
4375 case 855: makemaz("Noo-5"); return;
4376 case 856: makemaz("Joc-1"); return;
4377 case 857: makemaz("Joc-2"); return;
4378 case 858: makemaz("Joc-3"); return;
4379 case 859: makemaz("Joc-4"); return;
4380 case 860: makemaz("Joc-5"); return;
4381 case 861: makemaz("All-1"); return;
4382 case 862: makemaz("All-2"); return;
4383 case 863: makemaz("All-3"); return;
4384 case 864: makemaz("All-4"); return;
4385 case 865: makemaz("All-5"); return;
4386 case 866: makemaz("Spe-1"); return;
4387 case 867: makemaz("Spe-2"); return;
4388 case 868: makemaz("Spe-3"); return;
4389 case 869: makemaz("Spe-4"); return;
4390 case 870: makemaz("Spe-5"); return;
4393 break;
4395 case 94:
4396 case 95:
4397 case 96:
4398 case 97:
4399 case 98:
4400 case 99:
4401 case 100:
4403 switch (rnd(69)) {
4405 case 1: makemaz("mazes-1"); return;
4406 case 2: makemaz("mazes-2"); return;
4407 case 3: makemaz("mazes-3"); return;
4408 case 4: makemaz("mazes-4"); return;
4409 case 5: makemaz("mazes-5"); return;
4410 case 6: makemaz("mazes-6"); return;
4411 case 7: makemaz("mazes-7"); return;
4412 case 8: makemaz("mazes-8"); return;
4413 case 9: makemaz("mazes-9"); return;
4414 case 10: makemaz("mazes-10"); return;
4415 case 11: makemaz("mazes-11"); return;
4416 case 12: makemaz("mazes-12"); return;
4417 case 13: makemaz("mazes-13"); return;
4418 case 14: makemaz("mazes-14"); return;
4419 case 15: makemaz("mazes-15"); return;
4420 case 16: makemaz("mazes-16"); return;
4421 case 17: makemaz("mazes-17"); return;
4422 case 18: makemaz("mazes-18"); return;
4423 case 19: makemaz("mazes-19"); return;
4424 case 20: makemaz("mazes-20"); return;
4425 case 21: makemaz("mazes-21"); return;
4426 case 22: makemaz("mazes-22"); return;
4427 case 23: makemaz("mazes-23"); return;
4428 case 24: makemaz("mazes-24"); return;
4429 case 25: makemaz("mazes-25"); return;
4430 case 26: makemaz("mazes-26"); return;
4431 case 27: makemaz("mazes-27"); return;
4432 case 28: makemaz("mazes-28"); return;
4433 case 29: makemaz("mazes-29"); return;
4434 case 30: makemaz("mazes-30"); return;
4435 case 31: makemaz("mazes-31"); return;
4436 case 32: makemaz("mazes-32"); return;
4437 case 33: makemaz("mazes-33"); return;
4438 case 34: makemaz("mazes-34"); return;
4439 case 35: makemaz("mazes-35"); return;
4440 case 36: makemaz("mazes-36"); return;
4441 case 37: makemaz("mazes-37"); return;
4442 case 38: makemaz("mazes-38"); return;
4443 case 39: makemaz("mazes-39"); return;
4444 case 40: makemaz("mazes-40"); return;
4445 case 41: makemaz("mazes-41"); return;
4446 case 42: makemaz("mazes-42"); return;
4447 case 43: makemaz("mazes-43"); return;
4448 case 44: makemaz("mazes-44"); return;
4449 case 45: makemaz("mazes-45"); return;
4450 case 46: makemaz("mazes-46"); return;
4451 case 47: makemaz("mazes-47"); return;
4452 case 48: makemaz("mazes-48"); return;
4453 case 49: makemaz("mazes-49"); return;
4454 case 50: makemaz("mazes-50"); return;
4455 case 51: makemaz("mazes-51"); return;
4456 case 52: makemaz("mazes-52"); return;
4457 case 53: makemaz("mazes-53"); return;
4458 case 54: makemaz("mazes-54"); return;
4459 case 55: makemaz("mazes-55"); return;
4460 case 56: makemaz("mazes-56"); return;
4461 case 57: makemaz("mazes-57"); return;
4462 case 58: makemaz("mazes-58"); return;
4463 case 59: makemaz("mazes-59"); return;
4464 case 60: makemaz("mazes-60"); return;
4465 case 61: makemaz("mazes-61"); return;
4466 case 62: makemaz("mazes-62"); return;
4467 case 63: makemaz("mazes-63"); return;
4468 case 64: makemaz("mazes-64"); return;
4469 case 65: makemaz("mazes-65"); return;
4470 case 66: makemaz("mazes-66"); return;
4471 case 67: makemaz("mazes-67"); return;
4472 case 68: makemaz("mazes-68"); return;
4473 case 69: makemaz("mazes-69"); return;
4476 break;
4478 case 101:
4479 case 102:
4480 case 103:
4481 case 104:
4482 case 105:
4483 switch (rnd(95)) {
4485 case 1: makemaz("levgn-1"); return;
4486 case 2: makemaz("levgn-2"); return;
4487 case 3: makemaz("levgn-3"); return;
4488 case 4: makemaz("levgn-4"); return;
4489 case 5: makemaz("levgn-5"); return;
4490 case 6: makemaz("levgn-6"); return;
4491 case 7: makemaz("levgn-7"); return;
4492 case 8: makemaz("levgn-8"); return;
4493 case 9: makemaz("levgn-9"); return;
4494 case 10: makemaz("levgn-10"); return;
4495 case 11: makemaz("levgn-11"); return;
4496 case 12: makemaz("levgn-12"); return;
4497 case 13: makemaz("levgn-13"); return;
4498 case 14: makemaz("levgn-14"); return;
4499 case 15: makemaz("levgn-15"); return;
4500 case 16: makemaz("levgn-16"); return;
4501 case 17: makemaz("levgn-17"); return;
4502 case 18: makemaz("levgn-18"); return;
4503 case 19: makemaz("levgn-19"); return;
4504 case 20: makemaz("levgn-20"); return;
4505 case 21: makemaz("levgn-21"); return;
4506 case 22: makemaz("levgn-22"); return;
4507 case 23: makemaz("levgn-23"); return;
4508 case 24: makemaz("levgn-24"); return;
4509 case 25: makemaz("levgn-25"); return;
4510 case 26: makemaz("levgn-26"); return;
4511 case 27: makemaz("levgn-27"); return;
4512 case 28: makemaz("levgn-28"); return;
4513 case 29: makemaz("levgn-29"); return;
4514 case 30: makemaz("levgn-30"); return;
4515 case 31: makemaz("levgn-31"); return;
4516 case 32: makemaz("levgn-32"); return;
4517 case 33: makemaz("levgn-33"); return;
4518 case 34: makemaz("levgn-34"); return;
4519 case 35: makemaz("levgn-35"); return;
4520 case 36: makemaz("levgn-36"); return;
4521 case 37: makemaz("levgn-37"); return;
4522 case 38: makemaz("levgn-38"); return;
4523 case 39: makemaz("levgn-39"); return;
4524 case 40: makemaz("levgn-40"); return;
4525 case 41: makemaz("levgn-41"); return;
4526 case 42: makemaz("levgn-42"); return;
4527 case 43: makemaz("levgn-43"); return;
4528 case 44: makemaz("levgn-44"); return;
4529 case 45: makemaz("levgn-45"); return;
4530 case 46: makemaz("levgn-46"); return;
4531 case 47: makemaz("levgn-47"); return;
4532 case 48: makemaz("levgn-48"); return;
4533 case 49: makemaz("levgn-49"); return;
4534 case 50: makemaz("levgn-50"); return;
4535 case 51: makemaz("levgn-51"); return;
4536 case 52: makemaz("levgn-52"); return;
4537 case 53: makemaz("levgn-53"); return;
4538 case 54: makemaz("levgn-54"); return;
4539 case 55: makemaz("levgn-55"); return;
4540 case 56: makemaz("levgn-56"); return;
4541 case 57: makemaz("levgn-57"); return;
4542 case 58: makemaz("levgn-58"); return;
4543 case 59: makemaz("levgn-59"); return;
4544 case 60: makemaz("levgn-60"); return;
4545 case 61: makemaz("levgn-61"); return;
4546 case 62: makemaz("levgn-62"); return;
4547 case 63: makemaz("levgn-63"); return;
4548 case 64: makemaz("levgn-64"); return;
4549 case 65: makemaz("levgn-65"); return;
4550 case 66: makemaz("levgn-66"); return;
4551 case 67: makemaz("levgn-67"); return;
4552 case 68: makemaz("levgn-68"); return;
4553 case 69: makemaz("levgn-69"); return;
4554 case 70: makemaz("levgn-70"); return;
4555 case 71: makemaz("levgn-71"); return;
4556 case 72: makemaz("levgn-72"); return;
4557 case 73: makemaz("levgn-73"); return;
4558 case 74: makemaz("levgn-74"); return;
4559 case 75: makemaz("levgn-75"); return;
4560 case 76: makemaz("levgn-76"); return;
4561 case 77: makemaz("levgn-77"); return;
4562 case 78: makemaz("levgn-78"); return;
4563 case 79: makemaz("levgn-79"); return;
4564 case 80: makemaz("levgn-80"); return;
4565 case 81: makemaz("levgn-81"); return;
4566 case 82: makemaz("levgn-82"); return;
4567 case 83: makemaz("levgn-83"); return;
4568 case 84: makemaz("levgn-84"); return;
4569 case 85: makemaz("levgn-85"); return;
4570 case 86: makemaz("levgn-86"); return;
4571 case 87: makemaz("levgn-87"); return;
4572 case 88: makemaz("levgn-88"); return;
4573 case 89: makemaz("levgn-89"); return;
4574 case 90: makemaz("levgn-90"); return;
4575 case 91: makemaz("levgn-91"); return;
4576 case 92: makemaz("levgn-92"); return;
4577 case 93: makemaz("levgn-93"); return;
4578 case 94: makemaz("levgn-94"); return;
4579 case 95: makemaz("levgn-95"); return;
4583 case 106:
4585 makemaz("ecav2"); return;
4586 break;
4588 case 107:
4590 makemaz("efrnk"); return;
4591 break;
4593 case 108:
4594 case 109:
4595 case 110:
4597 switch (rnd(8)) {
4599 case 1: {
4600 switch (rnd(5)) {
4602 case 1: makemaz("cowla-1"); return;
4603 case 2: makemaz("cowla-2"); return;
4604 case 3: makemaz("cowla-3"); return;
4605 case 4: makemaz("cowla-4"); return;
4606 case 5: makemaz("cowla-5"); return;
4609 break;
4611 case 2: makemaz("cowlb"); return;
4612 case 3: makemaz("cowlc"); return;
4613 case 4: makemaz("cowld"); return;
4614 case 5: makemaz("cowle"); return;
4615 case 6: makemaz("cowlf"); return;
4616 case 7: makemaz("cowlg"); return;
4617 case 8: makemaz("cowlh"); return;
4621 break;
4623 case 111:
4624 switch (rnd(15)) {
4625 case 1: makemaz("deepfila"); return;
4626 case 2: makemaz("deepfilb"); return;
4627 case 3: makemaz("deepfilc"); return;
4628 case 4: makemaz("deepfild"); return;
4629 case 5: makemaz("deepfile"); return;
4630 case 6: makemaz("deepfilf"); return;
4631 case 7: makemaz("deepfilg"); return;
4632 case 8: makemaz("deepfilh"); return;
4633 case 9: makemaz("deepfili"); return;
4634 case 10: makemaz("deepfilj"); return;
4635 case 11: makemaz("deepfilk"); return;
4636 case 12: makemaz("deepfill"); return;
4637 case 13: makemaz("deepfilm"); return;
4638 case 14: makemaz("deepfiln"); return;
4639 case 15: makemaz("deepfilo"); return;
4643 break;
4645 case 112:
4646 switch (rnd(10)) {
4647 case 1: makemaz("deptn-1"); return;
4648 case 2: makemaz("deptn-2"); return;
4649 case 3: makemaz("deptn-3"); return;
4650 case 4: makemaz("deptn-4"); return;
4651 case 5: makemaz("deptn-5"); return;
4652 case 6: makemaz("deptn-6"); return;
4653 case 7: makemaz("deptn-7"); return;
4654 case 8: makemaz("deptn-8"); return;
4655 case 9: makemaz("deptn-9"); return;
4656 case 10: makemaz("deptn-10"); return;
4660 break;
4662 case 113:
4663 switch (rnd(6)) {
4664 case 1: makemaz("depeE-1"); return;
4665 case 2: makemaz("depeE-2"); return;
4666 case 3: makemaz("depeE-3"); return;
4667 case 4: makemaz("depeE-4"); return;
4668 case 5: makemaz("depeE-5"); return;
4669 case 6: makemaz("depeE-6"); return;
4673 break;
4675 case 114:
4676 switch (rnd(5)) {
4677 case 1: makemaz("gruelaiX"); return;
4678 case 2: makemaz("joustX"); return;
4679 case 3: makemaz("pmazeX"); return;
4680 case 4: makemaz("poolhalX"); return;
4681 case 5: makemaz("dmazeX"); return;
4685 break;
4687 case 115:
4688 case 116:
4690 switch (rnd(8)) {
4692 case 1: makemaz("grcra"); return;
4693 case 2: makemaz("grcrb"); return;
4694 case 3: makemaz("grcrc"); return;
4695 case 4: makemaz("grcrd"); return;
4696 case 5: makemaz("grcre"); return;
4697 case 6: makemaz("grcrf"); return;
4698 case 7: makemaz("grcrg"); return;
4699 case 8: makemaz("grcrh"); return;
4702 break;
4704 case 117:
4705 switch (rnd(3)) {
4706 case 1: makemaz("eiceqa"); return;
4707 case 2: makemaz("eiceqb"); return;
4708 case 3: makemaz("eiceqc"); return;
4712 break;
4714 break;
4720 if (
4721 (In_dod(&u.uz) && (!rn2(100) || depth(&u.uz) > 1) && !rn2((iswarper ? 10000 : 100000)))
4722 || (In_mines(&u.uz) /* check moved upwards */ ) || (In_sokoban(&u.uz) && !issokosolver && rn2(iswarper ? 5000 : 2000)) || (In_towndungeon(&u.uz) && !rn2(iswarper ? 3000 : 20000)) || (In_deepmines(&u.uz)) || (In_illusorycastle(&u.uz) && !rn2(iswarper ? 3 : 20)) || (In_sewerplant(&u.uz) && !rn2(iswarper ? 20 : 50)) || (In_spacebase(&u.uz) && !rn2(iswarper ? 4 : 30)) || (In_gammacaves(&u.uz) && !rn2(iswarper ? 20 : 50)) || (In_mainframe(&u.uz) && !rn2(iswarper ? 3 : 20)) || (In_gehennom(&u.uz) && !rn2(iswarper ? 3 : 10)) || (In_voiddungeon(&u.uz) && !rn2(iswarper ? 3 : 10)) || (In_netherrealm(&u.uz) && !rn2(iswarper ? 3 : 10)) || (In_swimmingpool(&u.uz) && !rn2(iswarper ? 3 : 10)) || (In_hellbathroom(&u.uz) && !rn2(iswarper ? 20 : 50)) || (In_angmar(&u.uz) && !rn2(iswarper ? 5 : 20)) || (In_emynluin(&u.uz) && !rn2(iswarper ? 20 : 50)) || (rn2(5) && !strcmp(dungeons[u.uz.dnum].dname, "Frankenstein's Lab") ) || (!rn2(1000) && (!strcmp(dungeons[u.uz.dnum].dname, "Grund's Stronghold") || !strcmp(dungeons[u.uz.dnum].dname, "The Ice Queen's Realm") || In_Devnull(&u.uz) || In_greencross(&u.uz) || !strcmp(dungeons[u.uz.dnum].dname, "The Temple of Moloch") || !strcmp(dungeons[u.uz.dnum].dname, "The Giant Caverns") || !strcmp(dungeons[u.uz.dnum].dname, "The Sunless Sea") || !strcmp(dungeons[u.uz.dnum].dname, "The Spider Caves") || !strcmp(dungeons[u.uz.dnum].dname, "Yendorian Tower") || !strcmp(dungeons[u.uz.dnum].dname, "Bell Caves") || !strcmp(dungeons[u.uz.dnum].dname, "Forging Chamber") || !strcmp(dungeons[u.uz.dnum].dname, "Dead Grounds") || !strcmp(dungeons[u.uz.dnum].dname, "Ordered Chaos") || !strcmp(dungeons[u.uz.dnum].dname, "The Lost Tomb") || !strcmp(dungeons[u.uz.dnum].dname, "The Wyrm Caves") || !strcmp(dungeons[u.uz.dnum].dname, "One-eyed Sam's Market") || !strcmp(dungeons[u.uz.dnum].dname, "Fort Ludios") || In_restingzone(&u.uz) ) ) || (In_sheol(&u.uz) && (!rn2(iswarper ? 2 : 5) ) ) ) {
4724 if (rn2(3)) goto ghnhom2;
4726 switch (rnd(117)) {
4728 case 1:
4729 case 2:
4730 case 3:
4731 case 4:
4732 case 5:
4733 case 6:
4734 case 7:
4735 case 8:
4736 case 9:
4737 case 10:
4739 switch (rnd(60)) {
4741 case 1: makemaz("ghbgr-1"); return;
4742 case 2: makemaz("ghbgr-2"); return;
4743 case 3: makemaz("ghbgr-3"); return;
4744 case 4: makemaz("ghbgr-4"); return;
4745 case 5: makemaz("ghbgr-5"); return;
4746 case 6: makemaz("ghbgr-6"); return;
4747 case 7: makemaz("ghbgr-7"); return;
4748 case 8: makemaz("ghbgr-8"); return;
4749 case 9: makemaz("ghbgr-9"); return;
4750 case 10: makemaz("ghbgr-10"); return;
4751 case 11: makemaz("ghbgr-11"); return;
4752 case 12: makemaz("ghbgr-12"); return;
4753 case 13: makemaz("ghbgr-13"); return;
4754 case 14: makemaz("ghbgr-14"); return;
4755 case 15: makemaz("ghbgr-15"); return;
4756 case 16: makemaz("ghbgr-16"); return;
4757 case 17: makemaz("ghbgr-17"); return;
4758 case 18: makemaz("ghbgr-18"); return;
4759 case 19: makemaz("ghbgr-19"); return;
4760 case 20: makemaz("ghbgr-20"); return;
4761 case 21: makemaz("ghbgr-21"); return;
4762 case 22: makemaz("ghbgr-22"); return;
4763 case 23: makemaz("ghbgr-23"); return;
4764 case 24: makemaz("ghbgr-24"); return;
4765 case 25: makemaz("ghbgr-25"); return;
4766 case 26: makemaz("ghbgr-26"); return;
4767 case 27: makemaz("ghbgr-27"); return;
4768 case 28: makemaz("ghbgr-28"); return;
4769 case 29: makemaz("ghbgr-29"); return;
4770 case 30: makemaz("ghbgr-30"); return;
4771 case 31: makemaz("ghbgr-31"); return;
4772 case 32: makemaz("ghbgr-32"); return;
4773 case 33: makemaz("ghbgr-33"); return;
4774 case 34: makemaz("ghbgr-34"); return;
4775 case 35: makemaz("ghbgr-35"); return;
4776 case 36: makemaz("ghbgr-36"); return;
4777 case 37: makemaz("ghbgr-37"); return;
4778 case 38: makemaz("ghbgr-38"); return;
4779 case 39: makemaz("ghbgr-39"); return;
4780 case 40: makemaz("ghbgr-40"); return;
4781 case 41: makemaz("ghbgr-41"); return;
4782 case 42: makemaz("ghbgr-42"); return;
4783 case 43: makemaz("ghbgr-43"); return;
4784 case 44: makemaz("ghbgr-44"); return;
4785 case 45: makemaz("ghbgr-45"); return;
4786 case 46: makemaz("ghbgr-46"); return;
4787 case 47: makemaz("ghbgr-47"); return;
4788 case 48: makemaz("ghbgr-48"); return;
4789 case 49: makemaz("ghbgr-49"); return;
4790 case 50: makemaz("ghbgr-50"); return;
4791 case 51: makemaz("ghbgr-51"); return;
4792 case 52: makemaz("ghbgr-52"); return;
4793 case 53: makemaz("ghbgr-53"); return;
4794 case 54: makemaz("ghbgr-54"); return;
4795 case 55: makemaz("ghbgr-55"); return;
4796 case 56: makemaz("ghbgr-56"); return;
4797 case 57: makemaz("ghbgr-57"); return;
4798 case 58: makemaz("ghbgr-58"); return;
4799 case 59: makemaz("ghbgr-59"); return;
4800 case 60: makemaz("ghbgr-60"); return;
4803 break;
4805 case 11:
4806 case 12:
4807 case 13:
4808 case 14:
4809 case 15:
4810 case 16:
4811 case 17:
4812 case 18:
4813 case 19:
4814 case 20:
4816 switch (rnd(97)) {
4818 case 1: makemaz("heck-1"); return;
4819 case 2: makemaz("heck-2"); return;
4820 case 3: makemaz("heck-3"); return;
4821 case 4: makemaz("heck-4"); return;
4822 case 5: makemaz("heck-5"); return;
4823 case 6: makemaz("heck-6"); return;
4824 case 7: makemaz("heck-7"); return;
4825 case 8: makemaz("heck-8"); return;
4826 case 9: makemaz("heck-9"); return;
4827 case 10: makemaz("heck-10"); return;
4828 case 11: makemaz("heck-11"); return;
4829 case 12: makemaz("heck-12"); return;
4830 case 13: makemaz("heck-13"); return;
4831 case 14: makemaz("heck-14"); return;
4832 case 15: makemaz("heck-15"); return;
4833 case 16: makemaz("heck-16"); return;
4834 case 17: makemaz("heck-17"); return;
4835 case 18: makemaz("heck-18"); return;
4836 case 19: makemaz("heck-19"); return;
4837 case 20: makemaz("heck-20"); return;
4838 case 21: makemaz("heck-21"); return;
4839 case 22: makemaz("heck-22"); return;
4840 case 23: makemaz("heck-23"); return;
4841 case 24: makemaz("heck-24"); return;
4842 case 25: makemaz("heck-25"); return;
4843 case 26: makemaz("heck-26"); return;
4844 case 27: makemaz("heck-27"); return;
4845 case 28: makemaz("heck-28"); return;
4846 case 29: makemaz("heck-29"); return;
4847 case 30: makemaz("heck-30"); return;
4848 case 31: makemaz("heck-31"); return;
4849 case 32: makemaz("heck-32"); return;
4850 case 33: makemaz("heck-33"); return;
4851 case 34: makemaz("heck-34"); return;
4852 case 35: makemaz("heck-35"); return;
4853 case 36: makemaz("heck-36"); return;
4854 case 37: makemaz("heck-37"); return;
4855 case 38: makemaz("heck-38"); return;
4856 case 39: makemaz("heck-39"); return;
4857 case 40: makemaz("heck-40"); return;
4858 case 41: makemaz("heck-41"); return;
4859 case 42: makemaz("heck-42"); return;
4860 case 43: makemaz("heck-43"); return;
4861 case 44: makemaz("heck-44"); return;
4862 case 45: makemaz("heck-45"); return;
4863 case 46: makemaz("heck-46"); return;
4864 case 47: makemaz("heck-47"); return;
4865 case 48: makemaz("heck-48"); return;
4866 case 49: makemaz("heck-49"); return;
4867 case 50: makemaz("heck-50"); return;
4868 case 51: makemaz("heck-51"); return;
4869 case 52: makemaz("heck-52"); return;
4870 case 53: makemaz("heck-53"); return;
4871 case 54: makemaz("heck-54"); return;
4872 case 55: makemaz("heck-55"); return;
4873 case 56: makemaz("heck-56"); return;
4874 case 57: makemaz("heck-57"); return;
4875 case 58: makemaz("heck-58"); return;
4876 case 59: makemaz("heck-59"); return;
4877 case 60: makemaz("heck-60"); return;
4878 case 61: makemaz("heck-61"); return;
4879 case 62: makemaz("heck-62"); return;
4880 case 63: makemaz("heck-63"); return;
4881 case 64: makemaz("heck-64"); return;
4882 case 65: makemaz("heck-65"); return;
4883 case 66: makemaz("heck-66"); return;
4884 case 67: makemaz("heck-67"); return;
4885 case 68: makemaz("heck-68"); return;
4886 case 69: makemaz("heck-69"); return;
4887 case 70: makemaz("heck-70"); return;
4888 case 71: makemaz("heck-71"); return;
4889 case 72: makemaz("heck-72"); return;
4890 case 73: makemaz("heck-73"); return;
4891 case 74: makemaz("heck-74"); return;
4892 case 75: makemaz("heck-75"); return;
4893 case 76: makemaz("heck-76"); return;
4894 case 77: makemaz("heck-77"); return;
4895 case 78: makemaz("heck-78"); return;
4896 case 79: makemaz("heck-79"); return;
4897 case 80: makemaz("heck-80"); return;
4898 case 81: makemaz("heck-81"); return;
4899 case 82: makemaz("heck-82"); return;
4900 case 83: makemaz("heck-83"); return;
4901 case 84: makemaz("heck-84"); return;
4902 case 85: makemaz("heck-85"); return;
4903 case 86: makemaz("heck-86"); return;
4904 case 87: makemaz("heck-87"); return;
4905 case 88: makemaz("heck-88"); return;
4906 case 89: makemaz("heck-89"); return;
4907 case 90: makemaz("heck-90"); return;
4908 case 91: makemaz("heck-91"); return;
4909 case 92: makemaz("heck-92"); return;
4910 case 93: makemaz("heck-93"); return;
4911 case 94: makemaz("heck-94"); return;
4912 case 95: makemaz("heck-95"); return;
4913 case 96: makemaz("heck-96"); return;
4914 case 97: makemaz("minusw"); return;
4917 break;
4919 case 21:
4921 switch (rnd(5)) {
4923 case 1: makemaz("intplx-1"); return;
4924 case 2: makemaz("intplx-2"); return;
4925 case 3: makemaz("intplx-3"); return;
4926 case 4: makemaz("intplx-4"); return;
4927 case 5: makemaz("intplx-5"); return;
4930 break;
4932 case 22:
4933 case 23:
4934 case 24:
4936 switch (rnd(14)) {
4938 case 1: makemaz("hellfill"); return;
4939 case 2: makemaz("hellfila"); return;
4940 case 3: makemaz("hellfilb"); return;
4941 case 4: makemaz("hellfilc"); return;
4942 case 5: makemaz("hellfild"); return;
4943 case 6: makemaz("hellfile"); return;
4944 case 7: makemaz("hellfilf"); return;
4945 case 8: makemaz("hellfilg"); return;
4946 case 9: makemaz("hellfill"); return;
4947 case 10: makemaz("hellfill"); return;
4948 case 11: makemaz("hellfill"); return;
4949 case 12: makemaz("hellfill"); return;
4950 case 13: makemaz("hellfill"); return;
4951 case 14: makemaz("hellfill"); return;
4954 break;
4956 case 25:
4957 case 26:
4958 case 27:
4959 case 28:
4960 case 29:
4962 switch (rnd(21)) {
4964 case 1: makemaz("hmint-1"); return;
4965 case 2: makemaz("hmint-2"); return;
4966 case 3: makemaz("hmint-3"); return;
4967 case 4: makemaz("hmint-4"); return;
4968 case 5: makemaz("hmint-5"); return;
4969 case 6: makemaz("hmint-6"); return;
4970 case 7: makemaz("hmint-7"); return;
4971 case 8: makemaz("hmint-8"); return;
4972 case 9: makemaz("hmint-9"); return;
4973 case 10: makemaz("hmint-10"); return;
4974 case 11: makemaz("hmint-11"); return;
4975 case 12: makemaz("hmint-12"); return;
4976 case 13: makemaz("hmint-13"); return;
4977 case 14: makemaz("hmint-14"); return;
4978 case 15: makemaz("hmint-15"); return;
4979 case 16: makemaz("hmint-16"); return;
4980 case 17: makemaz("hmint-17"); return;
4981 case 18: makemaz("hmint-18"); return;
4982 case 19: makemaz("hmint-19"); return;
4983 case 20: makemaz("hmint-20"); return;
4984 case 21: makemaz("hmint-21"); return;
4987 break;
4989 case 30:
4990 case 31:
4992 switch (rnd(10)) {
4994 case 1: makemaz("hmnen-1"); return;
4995 case 2: makemaz("hmnen-2"); return;
4996 case 3: makemaz("hmnen-3"); return;
4997 case 4: makemaz("hmnen-4"); return;
4998 case 5: makemaz("hmnen-5"); return;
4999 case 6: makemaz("hmnen-6"); return;
5000 case 7: makemaz("hmnen-7"); return;
5001 case 8: makemaz("hmnen-8"); return;
5002 case 9: makemaz("hmnen-9"); return;
5003 case 10: makemaz("hmnen-10"); return;
5006 break;
5008 case 32:
5009 case 33:
5011 switch (rnd(18)) {
5013 case 1: makemaz("hking-1"); return;
5014 case 2: makemaz("hking-2"); return;
5015 case 3: makemaz("hking-3"); return;
5016 case 4: makemaz("hking-4"); return;
5017 case 5: makemaz("hking-5"); return;
5018 case 6: makemaz("hking-6"); return;
5019 case 7: makemaz("hking-7"); return;
5020 case 8: makemaz("hking-8"); return;
5021 case 9: makemaz("hking-9"); return;
5022 case 10: makemaz("hking-10"); return;
5023 case 11: makemaz("hking-11"); return;
5024 case 12: makemaz("hking-12"); return;
5025 case 13: makemaz("hking-13"); return;
5026 case 14: makemaz("hking-14"); return;
5027 case 15: makemaz("hking-15"); return;
5028 case 16: makemaz("hking-16"); return;
5029 case 17: makemaz("hking-17"); return;
5030 case 18: makemaz("hking-18"); return;
5033 break;
5035 case 34:
5036 case 35:
5037 case 36:
5038 case 37:
5039 case 38:
5040 case 39:
5041 case 40:
5042 case 41:
5043 case 42:
5044 case 43:
5046 switch (rnd(154)) {
5048 case 1: makemaz("soko8-1"); return;
5049 case 2: makemaz("soko8-2"); return;
5050 case 3: makemaz("soko8-3"); return;
5051 case 4: makemaz("soko8-4"); return;
5052 case 5: makemaz("soko8-5"); return;
5053 case 6: makemaz("soko8-6"); return;
5054 case 7: makemaz("soko8-7"); return;
5055 case 8: makemaz("soko8-8"); return;
5056 case 9: makemaz("soko8-9"); return;
5057 case 10: makemaz("soko8-10"); return;
5058 case 11: makemaz("soko8-11"); return;
5059 case 12: makemaz("soko8-12"); return;
5060 case 13: makemaz("soko8-13"); return;
5061 case 14: makemaz("soko8-14"); return;
5062 case 15: makemaz("soko8-15"); return;
5063 case 16: makemaz("soko8-16"); return;
5064 case 17: makemaz("soko8-17"); return;
5065 case 18: makemaz("soko8-18"); return;
5066 case 19: makemaz("soko8-19"); return;
5067 case 20: makemaz("soko8-20"); return;
5068 case 21: makemaz("soko8-21"); return;
5069 case 22: makemaz("soko8-22"); return;
5070 case 23: makemaz("soko8-23"); return;
5071 case 24: makemaz("soko8-24"); return;
5072 case 25: makemaz("soko8-25"); return;
5073 case 26: makemaz("soko8-26"); return;
5074 case 27: makemaz("soko8-27"); return;
5075 case 28: makemaz("soko8-28"); return;
5076 case 29: makemaz("soko8-29"); return;
5077 case 30: makemaz("soko8-30"); return;
5078 case 31: makemaz("soko8-31"); return;
5079 case 32: makemaz("soko8-32"); return;
5080 case 33: makemaz("soko8-33"); return;
5081 case 34: makemaz("soko8-34"); return;
5082 case 35: makemaz("soko8-35"); return;
5083 case 36: makemaz("soko8-36"); return;
5084 case 37: makemaz("soko8-37"); return;
5085 case 38: makemaz("soko8-38"); return;
5086 case 39: makemaz("soko8-39"); return;
5087 case 40: makemaz("soko8-40"); return;
5088 case 41: makemaz("soko8-41"); return;
5089 case 42: makemaz("soko8-42"); return;
5090 case 43: makemaz("soko8-43"); return;
5091 case 44: makemaz("soko8-44"); return;
5093 case 45: makemaz("soko7-1"); return;
5094 case 46: makemaz("soko7-2"); return;
5095 case 47: makemaz("soko7-3"); return;
5096 case 48: makemaz("soko7-4"); return;
5097 case 49: makemaz("soko7-5"); return;
5098 case 50: makemaz("soko7-6"); return;
5099 case 51: makemaz("soko7-7"); return;
5100 case 52: makemaz("soko7-8"); return;
5101 case 53: makemaz("soko7-9"); return;
5102 case 54: makemaz("soko7-10"); return;
5103 case 55: makemaz("soko7-11"); return;
5104 case 56: makemaz("soko7-12"); return;
5105 case 57: makemaz("soko7-13"); return;
5106 case 58: makemaz("soko7-14"); return;
5107 case 59: makemaz("soko7-15"); return;
5108 case 60: makemaz("soko7-16"); return;
5109 case 61: makemaz("soko7-17"); return;
5110 case 62: makemaz("soko7-18"); return;
5111 case 63: makemaz("soko7-19"); return;
5112 case 64: makemaz("soko7-20"); return;
5113 case 65: makemaz("soko7-21"); return;
5114 case 66: makemaz("soko7-22"); return;
5115 case 67: makemaz("soko7-23"); return;
5116 case 68: makemaz("soko7-24"); return;
5117 case 69: makemaz("soko7-25"); return;
5118 case 70: makemaz("soko7-26"); return;
5119 case 71: makemaz("soko7-27"); return;
5120 case 72: makemaz("soko7-28"); return;
5121 case 73: makemaz("soko7-29"); return;
5123 case 74: makemaz("soko9-1"); return;
5124 case 75: makemaz("soko9-2"); return;
5125 case 76: makemaz("soko9-3"); return;
5126 case 77: makemaz("soko9-4"); return;
5127 case 78: makemaz("soko9-5"); return;
5128 case 79: makemaz("soko9-6"); return;
5129 case 80: makemaz("soko9-7"); return;
5130 case 81: makemaz("soko9-8"); return;
5131 case 82: makemaz("soko9-9"); return;
5132 case 83: makemaz("soko9-10"); return;
5133 case 84: makemaz("soko9-11"); return;
5134 case 85: makemaz("soko9-12"); return;
5135 case 86: makemaz("soko9-13"); return;
5136 case 87: makemaz("soko9-14"); return;
5137 case 88: makemaz("soko9-15"); return;
5138 case 89: makemaz("soko9-16"); return;
5139 case 90: makemaz("soko9-17"); return;
5140 case 91: makemaz("soko9-18"); return;
5141 case 92: makemaz("soko9-19"); return;
5142 case 93: makemaz("soko9-20"); return;
5143 case 94: makemaz("soko9-21"); return;
5144 case 95: makemaz("soko9-22"); return;
5145 case 96: makemaz("soko9-23"); return;
5146 case 97: makemaz("soko9-24"); return;
5147 case 98: makemaz("soko9-25"); return;
5148 case 99: makemaz("soko9-26"); return;
5149 case 100: makemaz("soko9-27"); return;
5150 case 101: makemaz("soko9-28"); return;
5152 case 102: makemaz("soko0-1"); return;
5153 case 103: makemaz("soko0-2"); return;
5154 case 104: makemaz("soko0-3"); return;
5155 case 105: makemaz("soko0-4"); return;
5156 case 106: makemaz("soko0-5"); return;
5157 case 107: makemaz("soko0-6"); return;
5158 case 108: makemaz("soko0-7"); return;
5159 case 109: makemaz("soko0-8"); return;
5160 case 110: makemaz("soko0-9"); return;
5161 case 111: makemaz("soko0-10"); return;
5162 case 112: makemaz("soko0-11"); return;
5163 case 113: makemaz("soko0-12"); return;
5164 case 114: makemaz("soko0-13"); return;
5165 case 115: makemaz("soko0-14"); return;
5166 case 116: makemaz("soko0-15"); return;
5167 case 117: makemaz("soko0-16"); return;
5168 case 118: makemaz("soko0-17"); return;
5169 case 119: makemaz("soko0-18"); return;
5170 case 120: makemaz("soko0-19"); return;
5171 case 121: makemaz("soko0-20"); return;
5172 case 122: makemaz("soko0-21"); return;
5173 case 123: makemaz("soko0-22"); return;
5174 case 124: makemaz("soko0-23"); return;
5175 case 125: makemaz("soko0-24"); return;
5176 case 126: makemaz("soko0-25"); return;
5177 case 127: makemaz("soko0-26"); return;
5178 case 128: makemaz("soko0-27"); return;
5179 case 129: makemaz("soko0-28"); return;
5180 case 130: makemaz("soko0-29"); return;
5181 case 131: makemaz("soko0-30"); return;
5182 case 132: makemaz("soko0-31"); return;
5183 case 133: makemaz("soko0-32"); return;
5184 case 134: makemaz("soko0-33"); return;
5185 case 135: makemaz("soko0-34"); return;
5186 case 136: makemaz("soko0-35"); return;
5187 case 137: makemaz("soko0-36"); return;
5188 case 138: makemaz("soko0-37"); return;
5189 case 139: makemaz("soko0-38"); return;
5190 case 140: makemaz("soko0-39"); return;
5191 case 141: makemaz("soko0-40"); return;
5192 case 142: makemaz("soko0-41"); return;
5193 case 143: makemaz("soko0-42"); return;
5194 case 144: makemaz("soko0-43"); return;
5195 case 145: makemaz("soko0-44"); return;
5196 case 146: makemaz("soko0-45"); return;
5197 case 147: makemaz("soko0-46"); return;
5198 case 148: makemaz("soko0-47"); return;
5199 case 149: makemaz("soko0-48"); return;
5200 case 150: makemaz("soko0-49"); return;
5201 case 151: makemaz("soko0-50"); return;
5202 case 152: makemaz("soko0-51"); return;
5204 case 153: makemaz("soko8-45"); return;
5206 case 154: makemaz("soko0-52"); return;
5209 break;
5211 case 44:
5212 case 45:
5214 switch (rnd(10)) {
5216 case 1: makemaz("hllma-1"); return;
5217 case 2: makemaz("hllma-2"); return;
5218 case 3: makemaz("hllma-3"); return;
5219 case 4: makemaz("hllma-4"); return;
5220 case 5: makemaz("hllma-5"); return;
5221 case 6: makemaz("hllma-6"); return;
5222 case 7: makemaz("hllma-7"); return;
5223 case 8: makemaz("hllma-8"); return;
5224 case 9: makemaz("hllma-9"); return;
5225 case 10: makemaz("hllma-10"); return;
5228 break;
5230 case 46:
5232 makemaz("oracleX"); return;
5233 break;
5235 case 47:
5237 switch (rnd(4)) {
5239 case 1: makemaz("hrats-1"); return;
5240 case 2: makemaz("hrats-2"); return;
5241 case 3: makemaz("hrats-3"); return;
5242 case 4: makemaz("hrats-4"); return;
5245 break;
5247 case 48:
5249 switch (rnd(6)) {
5251 case 1: makemaz("hkobol-1"); return;
5252 case 2: makemaz("hkobol-2"); return;
5253 case 3: makemaz("hkobol-3"); return;
5254 case 4: makemaz("hkobol-4"); return;
5255 case 5: makemaz("hkobol-5"); return;
5256 case 6: makemaz("hkobol-6"); return;
5259 break;
5261 case 49:
5263 switch (rnd(5)) {
5265 case 1: makemaz("hnymp-1"); return;
5266 case 2: makemaz("hnymp-2"); return;
5267 case 3: makemaz("hnymp-3"); return;
5268 case 4: makemaz("hnymp-4"); return;
5269 case 5: makemaz("hnymp-5"); return;
5272 break;
5274 case 50:
5276 switch (rnd(9)) {
5278 case 1: makemaz("hstor-1"); return;
5279 case 2: makemaz("hstor-2"); return;
5280 case 3: makemaz("hstor-3"); return;
5281 case 4: makemaz("hstor-4"); return;
5282 case 5: makemaz("hstor-5"); return;
5283 case 6: makemaz("hstor-6"); return;
5284 case 7: makemaz("hstor-7"); return;
5285 case 8: makemaz("hstor-8"); return;
5286 case 9: makemaz("hstor-9"); return;
5289 break;
5291 case 51:
5293 switch (rnd(8)) {
5295 case 1: makemaz("guild-1"); return;
5296 case 2: makemaz("guild-2"); return;
5297 case 3: makemaz("guild-3"); return;
5298 case 4: makemaz("guild-4"); return;
5299 case 5: makemaz("guild-5"); return;
5300 case 6: makemaz("guild-6"); return;
5301 case 7: makemaz("guild-7"); return;
5302 case 8: makemaz("guild-8"); return;
5305 break;
5307 case 52:
5309 switch (rnd(9)) {
5311 case 1: makemaz("forgeX"); return;
5312 case 2: makemaz("hitchX"); return;
5313 case 3: makemaz("compuX"); return;
5314 case 4: makemaz("keyX"); return;
5315 case 5: makemaz("robtnH"); return;
5316 case 6: makemaz("rabhoH"); return;
5317 case 7: makemaz("machnH"); return;
5318 case 8: makemaz("orcbaH"); return;
5319 case 9: makemaz("sewplH"); return;
5322 break;
5324 case 53:
5325 case 54:
5327 switch (rnd(12)) {
5329 case 1: makemaz("hmedu-1"); return;
5330 case 2: makemaz("hmedu-2"); return;
5331 case 3: makemaz("hmedu-3"); return;
5332 case 4: makemaz("hmedu-4"); return;
5333 case 5: makemaz("hmedu-5"); return;
5334 case 6: makemaz("hmedu-6"); return;
5335 case 7: makemaz("hmedu-7"); return;
5336 case 8: makemaz("hmedu-8"); return;
5337 case 9: makemaz("hmedu-9"); return;
5338 case 10: makemaz("hmedu-10"); return;
5339 case 11: makemaz("hmedu-11"); return;
5340 case 12: makemaz("hmedu-12"); return;
5343 break;
5345 case 55:
5346 case 56:
5348 switch (rnd(15)) {
5350 case 1: makemaz("hcstl-1"); return;
5351 case 2: makemaz("hcstl-2"); return;
5352 case 3: makemaz("hcstl-3"); return;
5353 case 4: makemaz("hcstl-4"); return;
5354 case 5: makemaz("hcstl-5"); return;
5355 case 6: makemaz("hcstl-6"); return;
5356 case 7: makemaz("hcstl-7"); return;
5357 case 8: makemaz("hcstl-8"); return;
5358 case 9: makemaz("hcstl-9"); return;
5359 case 10: makemaz("hcstl-10"); return;
5360 case 11: makemaz("hcstl-11"); return;
5361 case 12: makemaz("hcstl-12"); return;
5362 case 13: makemaz("hcstl-13"); return;
5363 case 14: makemaz("hcstl-14"); return;
5364 case 15: makemaz("hcstl-15"); return;
5367 break;
5369 case 57:
5370 case 58:
5371 case 59:
5372 case 60:
5373 case 61:
5375 switch (rnd(88)) {
5377 case 1: makemaz("hgehn-1"); return;
5378 case 2: makemaz("hgehn-2"); return;
5379 case 3: makemaz("hgehn-3"); return;
5380 case 4: makemaz("hgehn-4"); return;
5381 case 5: makemaz("hgehn-5"); return;
5382 case 6: makemaz("hgehn-6"); return;
5383 case 7: makemaz("hgehn-7"); return;
5384 case 8: makemaz("hgehn-8"); return;
5385 case 9: makemaz("hgehn-9"); return;
5386 case 10: makemaz("hgehn-10"); return;
5387 case 11: makemaz("hgehn-11"); return;
5388 case 12: makemaz("hgehn-12"); return;
5389 case 13: makemaz("hgehn-13"); return;
5390 case 14: makemaz("hgehn-14"); return;
5391 case 15: makemaz("hgehn-15"); return;
5392 case 16: makemaz("hgehn-16"); return;
5393 case 17: makemaz("hgehn-17"); return;
5394 case 18: makemaz("hgehn-18"); return;
5395 case 19: makemaz("hgehn-19"); return;
5396 case 20: makemaz("hgehn-20"); return;
5397 case 21: makemaz("hgehn-21"); return;
5398 case 22: makemaz("hgehn-22"); return;
5399 case 23: makemaz("hgehn-23"); return;
5400 case 24: makemaz("hgehn-24"); return;
5401 case 25: makemaz("hgehn-25"); return;
5402 case 26: makemaz("hgehn-26"); return;
5403 case 27: makemaz("hgehn-27"); return;
5404 case 28: makemaz("hgehn-28"); return;
5405 case 29: makemaz("hgehn-29"); return;
5406 case 30: makemaz("hgehn-30"); return;
5407 case 31: makemaz("hgehn-31"); return;
5408 case 32: makemaz("hgehn-32"); return;
5409 case 33: makemaz("hgehn-33"); return;
5410 case 34: makemaz("hgehn-34"); return;
5411 case 35: makemaz("hgehn-35"); return;
5412 case 36: makemaz("hgehn-36"); return;
5413 case 37: makemaz("hgehn-37"); return;
5414 case 38: makemaz("hgehn-38"); return;
5415 case 39: makemaz("hgehn-39"); return;
5416 case 40: makemaz("hgehn-40"); return;
5417 case 41: makemaz("hgehn-41"); return;
5418 case 42: makemaz("hgehn-42"); return;
5419 case 43: makemaz("hgehn-43"); return;
5420 case 44: makemaz("hgehn-44"); return;
5421 case 45: makemaz("hgehn-45"); return;
5422 case 46: makemaz("hgehn-46"); return;
5423 case 47: makemaz("hgehn-47"); return;
5424 case 48: makemaz("hgehn-48"); return;
5425 case 49: makemaz("hgehn-49"); return;
5426 case 50: makemaz("hgehn-50"); return;
5427 case 51: makemaz("hgehn-51"); return;
5428 case 52: makemaz("hgehn-52"); return;
5429 case 53: makemaz("hgehn-53"); return;
5430 case 54: makemaz("hgehn-54"); return;
5431 case 55: makemaz("hgehn-55"); return;
5432 case 56: makemaz("hgehn-56"); return;
5433 case 57: makemaz("hgehn-57"); return;
5434 case 58: makemaz("hgehn-58"); return;
5435 case 59: makemaz("hgehn-59"); return;
5436 case 60: makemaz("hgehn-60"); return;
5437 case 61: makemaz("hgehn-61"); return;
5438 case 62: makemaz("hgehn-62"); return;
5439 case 63: makemaz("hgehn-63"); return;
5440 case 64: makemaz("hgehn-64"); return;
5441 case 65: makemaz("hgehn-65"); return;
5442 case 66: makemaz("hgehn-66"); return;
5443 case 67: makemaz("hgehn-67"); return;
5444 case 68: makemaz("hgehn-68"); return;
5445 case 69: makemaz("hgehn-69"); return;
5446 case 70: makemaz("hgehn-70"); return;
5447 case 71: makemaz("hgehn-71"); return;
5448 case 72: makemaz("hgehn-72"); return;
5449 case 73: makemaz("hgehn-73"); return;
5450 case 74: makemaz("hgehn-74"); return;
5451 case 75: makemaz("hgehn-75"); return;
5452 case 76: makemaz("hgehn-76"); return;
5453 case 77: makemaz("hgehn-77"); return;
5454 case 78: makemaz("hgehn-78"); return;
5455 case 79: makemaz("hgehn-79"); return;
5456 case 80: makemaz("hgehn-80"); return;
5457 case 81: makemaz("hgehn-81"); return;
5458 case 82: makemaz("hgehn-82"); return;
5459 case 83: makemaz("hgehn-83"); return;
5460 case 84: makemaz("hgehn-84"); return;
5461 case 85: makemaz("hgehn-85"); return;
5462 case 86: makemaz("hgehn-86"); return;
5463 case 87: makemaz("hgehn-87"); return;
5464 case 88: makemaz("hgehn-88"); return;
5467 break;
5469 case 62:
5471 makemaz("schoolX"); return;
5472 break;
5474 case 63:
5476 switch (rnd(4)) {
5478 case 1: makemaz("htown-1"); return;
5479 case 2: makemaz("htown-2"); return;
5480 case 3: makemaz("htown-3"); return;
5481 case 4: makemaz("htown-4"); return;
5484 break;
5486 case 64:
5488 switch (rnd(3)) {
5490 case 1: makemaz("hgrund-1"); return;
5491 case 2: makemaz("hgrund-2"); return;
5492 case 3: makemaz("hgrund-3"); return;
5495 break;
5497 case 65:
5499 switch (rnd(3)) {
5501 case 1: makemaz("hknox-1"); return;
5502 case 2: makemaz("hknox-2"); return;
5503 case 3: makemaz("hknox-3"); return;
5506 break;
5508 case 66:
5510 makemaz("hdragons"); return;
5511 break;
5513 case 67:
5515 makemaz("htomb"); return;
5516 break;
5518 case 68:
5520 makemaz("hspiders"); return;
5521 break;
5523 case 69:
5525 makemaz("hsea"); return;
5526 break;
5528 case 70:
5530 makemaz("hmtemple"); return;
5531 break;
5533 case 71:
5534 case 72:
5535 case 73:
5537 switch (rnd(22)) {
5539 case 1: makemaz("hsheo-1"); return;
5540 case 2: makemaz("hsheo-2"); return;
5541 case 3: makemaz("hsheo-3"); return;
5542 case 4: makemaz("hsheo-4"); return;
5543 case 5: makemaz("hsheo-5"); return;
5544 case 6: makemaz("hsheo-6"); return;
5545 case 7: makemaz("hsheo-7"); return;
5546 case 8: makemaz("hsheo-8"); return;
5547 case 9: makemaz("hsheo-9"); return;
5548 case 10: makemaz("hsheo-10"); return;
5549 case 11: makemaz("hsheo-11"); return;
5550 case 12: makemaz("hsheo-12"); return;
5551 case 13: makemaz("hsheo-13"); return;
5552 case 14: makemaz("hsheo-14"); return;
5553 case 15: makemaz("hsheo-15"); return;
5554 case 16: makemaz("hsheo-16"); return;
5555 case 17: makemaz("hsheo-17"); return;
5556 case 18: makemaz("hsheo-18"); return;
5557 case 19: makemaz("hsheo-19"); return;
5558 case 20: makemaz("hsheo-20"); return;
5559 case 21: makemaz("hsheo-21"); return;
5560 case 22: makemaz("hsheo-22"); return;
5563 break;
5565 case 74:
5566 case 75:
5567 case 76:
5568 case 77:
5569 case 78:
5570 case 79:
5571 case 80:
5572 case 81:
5573 case 82:
5574 case 83:
5575 case 84:
5576 case 85:
5577 case 86:
5578 case 87:
5579 case 88:
5580 case 89:
5581 case 90:
5582 case 91:
5583 case 92:
5584 case 93:
5586 switch (rnd(870)) {
5588 case 1: makemaz("Aci-6"); return;
5589 case 2: makemaz("Aci-7"); return;
5590 case 3: makemaz("Aci-8"); return;
5591 case 4: makemaz("Aci-9"); return;
5592 case 5: makemaz("Aci-0"); return;
5593 case 6: makemaz("Act-6"); return;
5594 case 7: makemaz("Act-7"); return;
5595 case 8: makemaz("Act-8"); return;
5596 case 9: makemaz("Act-9"); return;
5597 case 10: makemaz("Act-0"); return;
5598 case 11: makemaz("Alt-6"); return;
5599 case 12: makemaz("Alt-7"); return;
5600 case 13: makemaz("Alt-8"); return;
5601 case 14: makemaz("Alt-9"); return;
5602 case 15: makemaz("Alt-0"); return;
5603 case 16: makemaz("Ama-6"); return;
5604 case 17: makemaz("Ama-7"); return;
5605 case 18: makemaz("Ama-8"); return;
5606 case 19: makemaz("Ama-9"); return;
5607 case 20: makemaz("Ama-0"); return;
5608 case 21: makemaz("Arc-6"); return;
5609 case 22: makemaz("Arc-7"); return;
5610 case 23: makemaz("Arc-8"); return;
5611 case 24: makemaz("Arc-9"); return;
5612 case 25: makemaz("Arc-0"); return;
5613 case 26: makemaz("Art-6"); return;
5614 case 27: makemaz("Art-7"); return;
5615 case 28: makemaz("Art-8"); return;
5616 case 29: makemaz("Art-9"); return;
5617 case 30: makemaz("Art-0"); return;
5618 case 31: makemaz("Ass-6"); return;
5619 case 32: makemaz("Ass-7"); return;
5620 case 33: makemaz("Ass-8"); return;
5621 case 34: makemaz("Ass-9"); return;
5622 case 35: makemaz("Ass-0"); return;
5623 case 36: makemaz("Aug-6"); return;
5624 case 37: makemaz("Aug-7"); return;
5625 case 38: makemaz("Aug-8"); return;
5626 case 39: makemaz("Aug-9"); return;
5627 case 40: makemaz("Aug-0"); return;
5628 case 41: makemaz("Bar-6"); return;
5629 case 42: makemaz("Bar-7"); return;
5630 case 43: makemaz("Bar-8"); return;
5631 case 44: makemaz("Bar-9"); return;
5632 case 45: makemaz("Bar-0"); return;
5633 case 46: makemaz("Brd-6"); return;
5634 case 47: makemaz("Brd-7"); return;
5635 case 48: makemaz("Brd-8"); return;
5636 case 49: makemaz("Brd-9"); return;
5637 case 50: makemaz("Brd-0"); return;
5638 case 51: makemaz("Bin-6"); return;
5639 case 52: makemaz("Bin-7"); return;
5640 case 53: makemaz("Bin-8"); return;
5641 case 54: makemaz("Bin-9"); return;
5642 case 55: makemaz("Bin-0"); return;
5643 case 56: makemaz("Ble-6"); return;
5644 case 57: makemaz("Ble-7"); return;
5645 case 58: makemaz("Ble-8"); return;
5646 case 59: makemaz("Ble-9"); return;
5647 case 60: makemaz("Ble-0"); return;
5648 case 61: makemaz("Blo-6"); return;
5649 case 62: makemaz("Blo-7"); return;
5650 case 63: makemaz("Blo-8"); return;
5651 case 64: makemaz("Blo-9"); return;
5652 case 65: makemaz("Blo-0"); return;
5653 case 66: makemaz("Bos-6"); return;
5654 case 67: makemaz("Bos-7"); return;
5655 case 68: makemaz("Bos-8"); return;
5656 case 69: makemaz("Bos-9"); return;
5657 case 70: makemaz("Bos-0"); return;
5658 case 71: makemaz("Bul-6"); return;
5659 case 72: makemaz("Bul-7"); return;
5660 case 73: makemaz("Bul-8"); return;
5661 case 74: makemaz("Bul-9"); return;
5662 case 75: makemaz("Bul-0"); return;
5663 case 76: makemaz("Cav-6"); return;
5664 case 77: makemaz("Cav-7"); return;
5665 case 78: makemaz("Cav-8"); return;
5666 case 79: makemaz("Cav-9"); return;
5667 case 80: makemaz("Cav-0"); return;
5668 case 81: makemaz("Che-6"); return;
5669 case 82: makemaz("Che-7"); return;
5670 case 83: makemaz("Che-8"); return;
5671 case 84: makemaz("Che-9"); return;
5672 case 85: makemaz("Che-0"); return;
5673 case 86: makemaz("Con-6"); return;
5674 case 87: makemaz("Con-7"); return;
5675 case 88: makemaz("Con-8"); return;
5676 case 89: makemaz("Con-9"); return;
5677 case 90: makemaz("Con-0"); return;
5678 case 91: makemaz("Coo-6"); return;
5679 case 92: makemaz("Coo-7"); return;
5680 case 93: makemaz("Coo-8"); return;
5681 case 94: makemaz("Coo-9"); return;
5682 case 95: makemaz("Coo-0"); return;
5683 case 96: makemaz("Cou-6"); return;
5684 case 97: makemaz("Cou-7"); return;
5685 case 98: makemaz("Cou-8"); return;
5686 case 99: makemaz("Cou-9"); return;
5687 case 100: makemaz("Cou-0"); return;
5688 case 101: makemaz("Abu-6"); return;
5689 case 102: makemaz("Abu-7"); return;
5690 case 103: makemaz("Abu-8"); return;
5691 case 104: makemaz("Abu-9"); return;
5692 case 105: makemaz("Abu-0"); return;
5693 case 106: makemaz("Dea-6"); return;
5694 case 107: makemaz("Dea-7"); return;
5695 case 108: makemaz("Dea-8"); return;
5696 case 109: makemaz("Dea-9"); return;
5697 case 110: makemaz("Dea-0"); return;
5698 case 111: makemaz("Div-6"); return;
5699 case 112: makemaz("Div-7"); return;
5700 case 113: makemaz("Div-8"); return;
5701 case 114: makemaz("Div-9"); return;
5702 case 115: makemaz("Div-0"); return;
5703 case 116: makemaz("Dol-6"); return;
5704 case 117: makemaz("Dol-7"); return;
5705 case 118: makemaz("Dol-8"); return;
5706 case 119: makemaz("Dol-9"); return;
5707 case 120: makemaz("Dol-0"); return;
5708 case 121: makemaz("Dru-6"); return;
5709 case 122: makemaz("Dru-7"); return;
5710 case 123: makemaz("Dru-8"); return;
5711 case 124: makemaz("Dru-9"); return;
5712 case 125: makemaz("Dru-0"); return;
5713 case 126: makemaz("Dun-6"); return;
5714 case 127: makemaz("Dun-7"); return;
5715 case 128: makemaz("Dun-8"); return;
5716 case 129: makemaz("Dun-9"); return;
5717 case 130: makemaz("Dun-0"); return;
5718 case 131: makemaz("Ele-6"); return;
5719 case 132: makemaz("Ele-7"); return;
5720 case 133: makemaz("Ele-8"); return;
5721 case 134: makemaz("Ele-9"); return;
5722 case 135: makemaz("Ele-0"); return;
5723 case 136: makemaz("Elp-6"); return;
5724 case 137: makemaz("Elp-7"); return;
5725 case 138: makemaz("Elp-8"); return;
5726 case 139: makemaz("Elp-9"); return;
5727 case 140: makemaz("Elp-0"); return;
5728 case 141: makemaz("Stu-6"); return;
5729 case 142: makemaz("Stu-7"); return;
5730 case 143: makemaz("Stu-8"); return;
5731 case 144: makemaz("Stu-9"); return;
5732 case 145: makemaz("Stu-0"); return;
5733 case 146: makemaz("Fir-6"); return;
5734 case 147: makemaz("Fir-7"); return;
5735 case 148: makemaz("Fir-8"); return;
5736 case 149: makemaz("Fir-9"); return;
5737 case 150: makemaz("Fir-0"); return;
5738 case 151: makemaz("Fla-6"); return;
5739 case 152: makemaz("Fla-7"); return;
5740 case 153: makemaz("Fla-8"); return;
5741 case 154: makemaz("Fla-9"); return;
5742 case 155: makemaz("Fla-0"); return;
5743 case 156: makemaz("Fox-6"); return;
5744 case 157: makemaz("Fox-7"); return;
5745 case 158: makemaz("Fox-8"); return;
5746 case 159: makemaz("Fox-9"); return;
5747 case 160: makemaz("Fox-0"); return;
5748 case 161: makemaz("Gam-6"); return;
5749 case 162: makemaz("Gam-7"); return;
5750 case 163: makemaz("Gam-8"); return;
5751 case 164: makemaz("Gam-9"); return;
5752 case 165: makemaz("Gam-0"); return;
5753 case 166: makemaz("Gan-6"); return;
5754 case 167: makemaz("Gan-7"); return;
5755 case 168: makemaz("Gan-8"); return;
5756 case 169: makemaz("Gan-9"); return;
5757 case 170: makemaz("Gan-0"); return;
5758 case 171: makemaz("Gee-6"); return;
5759 case 172: makemaz("Gee-7"); return;
5760 case 173: makemaz("Gee-8"); return;
5761 case 174: makemaz("Gee-9"); return;
5762 case 175: makemaz("Gee-0"); return;
5763 case 176: makemaz("Gla-6"); return;
5764 case 177: makemaz("Gla-7"); return;
5765 case 178: makemaz("Gla-8"); return;
5766 case 179: makemaz("Gla-9"); return;
5767 case 180: makemaz("Gla-0"); return;
5768 case 181: makemaz("Gof-6"); return;
5769 case 182: makemaz("Gof-7"); return;
5770 case 183: makemaz("Gof-8"); return;
5771 case 184: makemaz("Gof-9"); return;
5772 case 185: makemaz("Gof-0"); return;
5773 case 186: makemaz("Gra-6"); return;
5774 case 187: makemaz("Gra-7"); return;
5775 case 188: makemaz("Gra-8"); return;
5776 case 189: makemaz("Gra-9"); return;
5777 case 190: makemaz("Gra-0"); return;
5778 case 191: makemaz("Gun-6"); return;
5779 case 192: makemaz("Gun-7"); return;
5780 case 193: makemaz("Gun-8"); return;
5781 case 194: makemaz("Gun-9"); return;
5782 case 195: makemaz("Gun-0"); return;
5783 case 196: makemaz("Hea-6"); return;
5784 case 197: makemaz("Hea-7"); return;
5785 case 198: makemaz("Hea-8"); return;
5786 case 199: makemaz("Hea-9"); return;
5787 case 200: makemaz("Hea-0"); return;
5788 case 201: makemaz("Ice-6"); return;
5789 case 202: makemaz("Ice-7"); return;
5790 case 203: makemaz("Ice-8"); return;
5791 case 204: makemaz("Ice-9"); return;
5792 case 205: makemaz("Ice-0"); return;
5793 case 206: makemaz("Scr-6"); return;
5794 case 207: makemaz("Scr-7"); return;
5795 case 208: makemaz("Scr-8"); return;
5796 case 209: makemaz("Scr-9"); return;
5797 case 210: makemaz("Scr-0"); return;
5798 case 211: makemaz("Jed-6"); return;
5799 case 212: makemaz("Jed-7"); return;
5800 case 213: makemaz("Jed-8"); return;
5801 case 214: makemaz("Jed-9"); return;
5802 case 215: makemaz("Jed-0"); return;
5803 case 216: makemaz("Jes-6"); return;
5804 case 217: makemaz("Jes-7"); return;
5805 case 218: makemaz("Jes-8"); return;
5806 case 219: makemaz("Jes-9"); return;
5807 case 220: makemaz("Jes-0"); return;
5808 case 221: makemaz("Kni-6"); return;
5809 case 222: makemaz("Kni-7"); return;
5810 case 223: makemaz("Kni-8"); return;
5811 case 224: makemaz("Kni-9"); return;
5812 case 225: makemaz("Kni-0"); return;
5813 case 226: makemaz("Kor-6"); return;
5814 case 227: makemaz("Kor-7"); return;
5815 case 228: makemaz("Kor-8"); return;
5816 case 229: makemaz("Kor-9"); return;
5817 case 230: makemaz("Kor-0"); return;
5818 case 231: makemaz("Lad-6"); return;
5819 case 232: makemaz("Lad-7"); return;
5820 case 233: makemaz("Lad-8"); return;
5821 case 234: makemaz("Lad-9"); return;
5822 case 235: makemaz("Lad-0"); return;
5823 case 236: makemaz("Lib-6"); return;
5824 case 237: makemaz("Lib-7"); return;
5825 case 238: makemaz("Lib-8"); return;
5826 case 239: makemaz("Lib-9"); return;
5827 case 240: makemaz("Lib-0"); return;
5828 case 241: makemaz("Loc-6"); return;
5829 case 242: makemaz("Loc-7"); return;
5830 case 243: makemaz("Loc-8"); return;
5831 case 244: makemaz("Loc-9"); return;
5832 case 245: makemaz("Loc-0"); return;
5833 case 246: makemaz("Lun-6"); return;
5834 case 247: makemaz("Lun-7"); return;
5835 case 248: makemaz("Lun-8"); return;
5836 case 249: makemaz("Lun-9"); return;
5837 case 250: makemaz("Lun-0"); return;
5838 case 251: makemaz("Mah-6"); return;
5839 case 252: makemaz("Mah-7"); return;
5840 case 253: makemaz("Mah-8"); return;
5841 case 254: makemaz("Mah-9"); return;
5842 case 255: makemaz("Mah-0"); return;
5843 case 256: makemaz("Mon-6"); return;
5844 case 257: makemaz("Mon-7"); return;
5845 case 258: makemaz("Mon-8"); return;
5846 case 259: makemaz("Mon-9"); return;
5847 case 260: makemaz("Mon-0"); return;
5848 case 261: makemaz("Mus-6"); return;
5849 case 262: makemaz("Mus-7"); return;
5850 case 263: makemaz("Mus-8"); return;
5851 case 264: makemaz("Mus-9"); return;
5852 case 265: makemaz("Mus-0"); return;
5853 case 266: makemaz("Mys-6"); return;
5854 case 267: makemaz("Mys-7"); return;
5855 case 268: makemaz("Mys-8"); return;
5856 case 269: makemaz("Mys-9"); return;
5857 case 270: makemaz("Mys-0"); return;
5858 case 271: makemaz("Nec-6"); return;
5859 case 272: makemaz("Nec-7"); return;
5860 case 273: makemaz("Nec-8"); return;
5861 case 274: makemaz("Nec-9"); return;
5862 case 275: makemaz("Nec-0"); return;
5863 case 276: makemaz("Nin-6"); return;
5864 case 277: makemaz("Nin-7"); return;
5865 case 278: makemaz("Nin-8"); return;
5866 case 279: makemaz("Nin-9"); return;
5867 case 280: makemaz("Nin-0"); return;
5868 case 281: makemaz("Nob-6"); return;
5869 case 282: makemaz("Nob-7"); return;
5870 case 283: makemaz("Nob-8"); return;
5871 case 284: makemaz("Nob-9"); return;
5872 case 285: makemaz("Nob-0"); return;
5873 case 286: makemaz("Off-6"); return;
5874 case 287: makemaz("Off-7"); return;
5875 case 288: makemaz("Off-8"); return;
5876 case 289: makemaz("Off-9"); return;
5877 case 290: makemaz("Off-0"); return;
5878 case 291: makemaz("Ord-6"); return;
5879 case 292: makemaz("Ord-7"); return;
5880 case 293: makemaz("Ord-8"); return;
5881 case 294: makemaz("Ord-9"); return;
5882 case 295: makemaz("Ord-0"); return;
5883 case 296: makemaz("Ota-6"); return;
5884 case 297: makemaz("Ota-7"); return;
5885 case 298: makemaz("Ota-8"); return;
5886 case 299: makemaz("Ota-9"); return;
5887 case 300: makemaz("Ota-0"); return;
5888 case 301: makemaz("Pal-6"); return;
5889 case 302: makemaz("Pal-7"); return;
5890 case 303: makemaz("Pal-8"); return;
5891 case 304: makemaz("Pal-9"); return;
5892 case 305: makemaz("Pal-0"); return;
5893 case 306: makemaz("Pic-6"); return;
5894 case 307: makemaz("Pic-7"); return;
5895 case 308: makemaz("Pic-8"); return;
5896 case 309: makemaz("Pic-9"); return;
5897 case 310: makemaz("Pic-0"); return;
5898 case 311: makemaz("Pir-6"); return;
5899 case 312: makemaz("Pir-7"); return;
5900 case 313: makemaz("Pir-8"); return;
5901 case 314: makemaz("Pir-9"); return;
5902 case 315: makemaz("Pir-0"); return;
5903 case 316: makemaz("Pok-6"); return;
5904 case 317: makemaz("Pok-7"); return;
5905 case 318: makemaz("Pok-8"); return;
5906 case 319: makemaz("Pok-9"); return;
5907 case 320: makemaz("Pok-0"); return;
5908 case 321: makemaz("Pol-6"); return;
5909 case 322: makemaz("Pol-7"); return;
5910 case 323: makemaz("Pol-8"); return;
5911 case 324: makemaz("Pol-9"); return;
5912 case 325: makemaz("Pol-0"); return;
5913 case 326: makemaz("Pri-6"); return;
5914 case 327: makemaz("Pri-7"); return;
5915 case 328: makemaz("Pri-8"); return;
5916 case 329: makemaz("Pri-9"); return;
5917 case 330: makemaz("Pri-0"); return;
5918 case 331: makemaz("Psi-6"); return;
5919 case 332: makemaz("Psi-7"); return;
5920 case 333: makemaz("Psi-8"); return;
5921 case 334: makemaz("Psi-9"); return;
5922 case 335: makemaz("Psi-0"); return;
5923 case 336: makemaz("Ran-6"); return;
5924 case 337: makemaz("Ran-7"); return;
5925 case 338: makemaz("Ran-8"); return;
5926 case 339: makemaz("Ran-9"); return;
5927 case 340: makemaz("Ran-0"); return;
5928 case 341: makemaz("Roc-6"); return;
5929 case 342: makemaz("Roc-7"); return;
5930 case 343: makemaz("Roc-8"); return;
5931 case 344: makemaz("Roc-9"); return;
5932 case 345: makemaz("Roc-0"); return;
5933 case 346: makemaz("Rog-6"); return;
5934 case 347: makemaz("Rog-7"); return;
5935 case 348: makemaz("Rog-8"); return;
5936 case 349: makemaz("Rog-9"); return;
5937 case 350: makemaz("Rog-0"); return;
5938 case 351: makemaz("Sag-6"); return;
5939 case 352: makemaz("Sag-7"); return;
5940 case 353: makemaz("Sag-8"); return;
5941 case 354: makemaz("Sag-9"); return;
5942 case 355: makemaz("Sag-0"); return;
5943 case 356: makemaz("Sai-6"); return;
5944 case 357: makemaz("Sai-7"); return;
5945 case 358: makemaz("Sai-8"); return;
5946 case 359: makemaz("Sai-9"); return;
5947 case 360: makemaz("Sai-0"); return;
5948 case 361: makemaz("Sam-6"); return;
5949 case 362: makemaz("Sam-7"); return;
5950 case 363: makemaz("Sam-8"); return;
5951 case 364: makemaz("Sam-9"); return;
5952 case 365: makemaz("Sam-0"); return;
5953 case 366: makemaz("Sci-6"); return;
5954 case 367: makemaz("Sci-7"); return;
5955 case 368: makemaz("Sci-8"); return;
5956 case 369: makemaz("Sci-9"); return;
5957 case 370: makemaz("Sci-0"); return;
5958 case 371: makemaz("Sla-6"); return;
5959 case 372: makemaz("Sla-7"); return;
5960 case 373: makemaz("Sla-8"); return;
5961 case 374: makemaz("Sla-9"); return;
5962 case 375: makemaz("Sla-0"); return;
5963 case 376: makemaz("Spa-6"); return;
5964 case 377: makemaz("Spa-7"); return;
5965 case 378: makemaz("Spa-8"); return;
5966 case 379: makemaz("Spa-9"); return;
5967 case 380: makemaz("Spa-0"); return;
5968 case 381: makemaz("Sup-6"); return;
5969 case 382: makemaz("Sup-7"); return;
5970 case 383: makemaz("Sup-8"); return;
5971 case 384: makemaz("Sup-9"); return;
5972 case 385: makemaz("Sup-0"); return;
5973 case 386: makemaz("Tha-6"); return;
5974 case 387: makemaz("Tha-7"); return;
5975 case 388: makemaz("Tha-8"); return;
5976 case 389: makemaz("Tha-9"); return;
5977 case 390: makemaz("Tha-0"); return;
5978 case 391: makemaz("Top-6"); return;
5979 case 392: makemaz("Top-7"); return;
5980 case 393: makemaz("Top-8"); return;
5981 case 394: makemaz("Top-9"); return;
5982 case 395: makemaz("Top-0"); return;
5983 case 396: makemaz("Tou-6"); return;
5984 case 397: makemaz("Tou-7"); return;
5985 case 398: makemaz("Tou-8"); return;
5986 case 399: makemaz("Tou-9"); return;
5987 case 400: makemaz("Tou-0"); return;
5988 case 401: makemaz("Tra-6"); return;
5989 case 402: makemaz("Tra-7"); return;
5990 case 403: makemaz("Tra-8"); return;
5991 case 404: makemaz("Tra-9"); return;
5992 case 405: makemaz("Tra-0"); return;
5993 case 406: makemaz("Und-6"); return;
5994 case 407: makemaz("Und-7"); return;
5995 case 408: makemaz("Und-8"); return;
5996 case 409: makemaz("Und-9"); return;
5997 case 410: makemaz("Und-0"); return;
5998 case 411: makemaz("Unt-6"); return;
5999 case 412: makemaz("Unt-7"); return;
6000 case 413: makemaz("Unt-8"); return;
6001 case 414: makemaz("Unt-9"); return;
6002 case 415: makemaz("Unt-0"); return;
6003 case 416: makemaz("Val-6"); return;
6004 case 417: makemaz("Val-7"); return;
6005 case 418: makemaz("Val-8"); return;
6006 case 419: makemaz("Val-9"); return;
6007 case 420: makemaz("Val-0"); return;
6008 case 421: makemaz("Wan-6"); return;
6009 case 422: makemaz("Wan-7"); return;
6010 case 423: makemaz("Wan-8"); return;
6011 case 424: makemaz("Wan-9"); return;
6012 case 425: makemaz("Wan-0"); return;
6013 case 426: makemaz("War-6"); return;
6014 case 427: makemaz("War-7"); return;
6015 case 428: makemaz("War-8"); return;
6016 case 429: makemaz("War-9"); return;
6017 case 430: makemaz("War-0"); return;
6018 case 431: makemaz("Wiz-6"); return;
6019 case 432: makemaz("Wiz-7"); return;
6020 case 433: makemaz("Wiz-8"); return;
6021 case 434: makemaz("Wiz-9"); return;
6022 case 435: makemaz("Wiz-0"); return;
6023 case 436: makemaz("Yeo-6"); return;
6024 case 437: makemaz("Yeo-7"); return;
6025 case 438: makemaz("Yeo-8"); return;
6026 case 439: makemaz("Yeo-9"); return;
6027 case 440: makemaz("Yeo-0"); return;
6028 case 441: makemaz("Zoo-6"); return;
6029 case 442: makemaz("Zoo-7"); return;
6030 case 443: makemaz("Zoo-8"); return;
6031 case 444: makemaz("Zoo-9"); return;
6032 case 445: makemaz("Zoo-0"); return;
6033 case 446: makemaz("Zyb-6"); return;
6034 case 447: makemaz("Zyb-7"); return;
6035 case 448: makemaz("Zyb-8"); return;
6036 case 449: makemaz("Zyb-9"); return;
6037 case 450: makemaz("Zyb-0"); return;
6038 case 451: makemaz("Ana-6"); return;
6039 case 452: makemaz("Ana-7"); return;
6040 case 453: makemaz("Ana-8"); return;
6041 case 454: makemaz("Ana-9"); return;
6042 case 455: makemaz("Ana-0"); return;
6043 case 456: makemaz("Cam-6"); return;
6044 case 457: makemaz("Cam-7"); return;
6045 case 458: makemaz("Cam-8"); return;
6046 case 459: makemaz("Cam-9"); return;
6047 case 460: makemaz("Cam-0"); return;
6048 case 461: makemaz("Mar-6"); return;
6049 case 462: makemaz("Mar-7"); return;
6050 case 463: makemaz("Mar-8"); return;
6051 case 464: makemaz("Mar-9"); return;
6052 case 465: makemaz("Mar-0"); return;
6053 case 466: makemaz("Sli-6"); return;
6054 case 467: makemaz("Sli-7"); return;
6055 case 468: makemaz("Sli-8"); return;
6056 case 469: makemaz("Sli-9"); return;
6057 case 470: makemaz("Sli-0"); return;
6058 case 471: makemaz("Drd-6"); return;
6059 case 472: makemaz("Drd-7"); return;
6060 case 473: makemaz("Drd-8"); return;
6061 case 474: makemaz("Drd-9"); return;
6062 case 475: makemaz("Drd-0"); return;
6063 case 476: makemaz("Erd-6"); return;
6064 case 477: makemaz("Erd-7"); return;
6065 case 478: makemaz("Erd-8"); return;
6066 case 479: makemaz("Erd-9"); return;
6067 case 480: makemaz("Erd-0"); return;
6068 case 481: makemaz("Fai-6"); return;
6069 case 482: makemaz("Fai-7"); return;
6070 case 483: makemaz("Fai-8"); return;
6071 case 484: makemaz("Fai-9"); return;
6072 case 485: makemaz("Fai-0"); return;
6073 case 486: makemaz("Fen-6"); return;
6074 case 487: makemaz("Fen-7"); return;
6075 case 488: makemaz("Fen-8"); return;
6076 case 489: makemaz("Fen-9"); return;
6077 case 490: makemaz("Fen-0"); return;
6078 case 491: makemaz("Fig-6"); return;
6079 case 492: makemaz("Fig-7"); return;
6080 case 493: makemaz("Fig-8"); return;
6081 case 494: makemaz("Fig-9"); return;
6082 case 495: makemaz("Fig-0"); return;
6083 case 496: makemaz("Gol-6"); return;
6084 case 497: makemaz("Gol-7"); return;
6085 case 498: makemaz("Gol-8"); return;
6086 case 499: makemaz("Gol-9"); return;
6087 case 500: makemaz("Gol-0"); return;
6088 case 501: makemaz("Jus-6"); return;
6089 case 502: makemaz("Jus-7"); return;
6090 case 503: makemaz("Jus-8"); return;
6091 case 504: makemaz("Jus-9"); return;
6092 case 505: makemaz("Jus-0"); return;
6093 case 506: makemaz("Med-6"); return;
6094 case 507: makemaz("Med-7"); return;
6095 case 508: makemaz("Med-8"); return;
6096 case 509: makemaz("Med-9"); return;
6097 case 510: makemaz("Med-0"); return;
6098 case 511: makemaz("Mid-6"); return;
6099 case 512: makemaz("Mid-7"); return;
6100 case 513: makemaz("Mid-8"); return;
6101 case 514: makemaz("Mid-9"); return;
6102 case 515: makemaz("Mid-0"); return;
6103 case 516: makemaz("Mur-6"); return;
6104 case 517: makemaz("Mur-7"); return;
6105 case 518: makemaz("Mur-8"); return;
6106 case 519: makemaz("Mur-9"); return;
6107 case 520: makemaz("Mur-0"); return;
6108 case 521: makemaz("Poi-6"); return;
6109 case 522: makemaz("Poi-7"); return;
6110 case 523: makemaz("Poi-8"); return;
6111 case 524: makemaz("Poi-9"); return;
6112 case 525: makemaz("Poi-0"); return;
6113 case 526: makemaz("Rin-6"); return;
6114 case 527: makemaz("Rin-7"); return;
6115 case 528: makemaz("Rin-8"); return;
6116 case 529: makemaz("Rin-9"); return;
6117 case 530: makemaz("Rin-0"); return;
6118 case 531: makemaz("Sha-6"); return;
6119 case 532: makemaz("Sha-7"); return;
6120 case 533: makemaz("Sha-8"); return;
6121 case 534: makemaz("Sha-9"); return;
6122 case 535: makemaz("Sha-0"); return;
6123 case 536: makemaz("Twe-6"); return;
6124 case 537: makemaz("Twe-7"); return;
6125 case 538: makemaz("Twe-8"); return;
6126 case 539: makemaz("Twe-9"); return;
6127 case 540: makemaz("Twe-0"); return;
6128 case 541: makemaz("Use-6"); return;
6129 case 542: makemaz("Use-7"); return;
6130 case 543: makemaz("Use-8"); return;
6131 case 544: makemaz("Use-9"); return;
6132 case 545: makemaz("Use-0"); return;
6133 case 546: makemaz("Sex-6"); return;
6134 case 547: makemaz("Sex-7"); return;
6135 case 548: makemaz("Sex-8"); return;
6136 case 549: makemaz("Sex-9"); return;
6137 case 550: makemaz("Sex-0"); return;
6138 case 551: makemaz("Unb-6"); return;
6139 case 552: makemaz("Unb-7"); return;
6140 case 553: makemaz("Unb-8"); return;
6141 case 554: makemaz("Unb-9"); return;
6142 case 555: makemaz("Unb-0"); return;
6143 case 556: makemaz("Trs-6"); return;
6144 case 557: makemaz("Trs-7"); return;
6145 case 558: makemaz("Trs-8"); return;
6146 case 559: makemaz("Trs-9"); return;
6147 case 560: makemaz("Trs-0"); return;
6148 case 561: makemaz("Cha-6"); return;
6149 case 562: makemaz("Cha-7"); return;
6150 case 563: makemaz("Cha-8"); return;
6151 case 564: makemaz("Cha-9"); return;
6152 case 565: makemaz("Cha-0"); return;
6153 case 566: makemaz("Elm-6"); return;
6154 case 567: makemaz("Elm-7"); return;
6155 case 568: makemaz("Elm-8"); return;
6156 case 569: makemaz("Elm-9"); return;
6157 case 570: makemaz("Elm-0"); return;
6158 case 571: makemaz("Wil-6"); return;
6159 case 572: makemaz("Wil-7"); return;
6160 case 573: makemaz("Wil-8"); return;
6161 case 574: makemaz("Wil-9"); return;
6162 case 575: makemaz("Wil-0"); return;
6163 case 576: makemaz("Occ-6"); return;
6164 case 577: makemaz("Occ-7"); return;
6165 case 578: makemaz("Occ-8"); return;
6166 case 579: makemaz("Occ-9"); return;
6167 case 580: makemaz("Occ-0"); return;
6168 case 581: makemaz("Pro-6"); return;
6169 case 582: makemaz("Pro-7"); return;
6170 case 583: makemaz("Pro-8"); return;
6171 case 584: makemaz("Pro-9"); return;
6172 case 585: makemaz("Pro-0"); return;
6173 case 586: makemaz("Kur-6"); return;
6174 case 587: makemaz("Kur-7"); return;
6175 case 588: makemaz("Kur-8"); return;
6176 case 589: makemaz("Kur-9"); return;
6177 case 590: makemaz("Kur-0"); return;
6178 case 591: makemaz("For-6"); return;
6179 case 592: makemaz("For-7"); return;
6180 case 593: makemaz("For-8"); return;
6181 case 594: makemaz("For-9"); return;
6182 case 595: makemaz("For-0"); return;
6183 case 596: makemaz("Trc-6"); return;
6184 case 597: makemaz("Trc-7"); return;
6185 case 598: makemaz("Trc-8"); return;
6186 case 599: makemaz("Trc-9"); return;
6187 case 600: makemaz("Trc-0"); return;
6188 case 601: makemaz("Nuc-6"); return;
6189 case 602: makemaz("Nuc-7"); return;
6190 case 603: makemaz("Nuc-8"); return;
6191 case 604: makemaz("Nuc-9"); return;
6192 case 605: makemaz("Nuc-0"); return;
6193 case 606: makemaz("Sco-6"); return;
6194 case 607: makemaz("Sco-7"); return;
6195 case 608: makemaz("Sco-8"); return;
6196 case 609: makemaz("Sco-9"); return;
6197 case 610: makemaz("Sco-0"); return;
6198 case 611: makemaz("Fem-6"); return;
6199 case 612: makemaz("Fem-7"); return;
6200 case 613: makemaz("Fem-8"); return;
6201 case 614: makemaz("Fem-9"); return;
6202 case 615: makemaz("Fem-0"); return;
6203 case 616: makemaz("Hus-6"); return;
6204 case 617: makemaz("Hus-7"); return;
6205 case 618: makemaz("Hus-8"); return;
6206 case 619: makemaz("Hus-9"); return;
6207 case 620: makemaz("Hus-0"); return;
6208 case 621: makemaz("Acu-6"); return;
6209 case 622: makemaz("Acu-7"); return;
6210 case 623: makemaz("Acu-8"); return;
6211 case 624: makemaz("Acu-9"); return;
6212 case 625: makemaz("Acu-0"); return;
6213 case 626: makemaz("Mas-6"); return;
6214 case 627: makemaz("Mas-7"); return;
6215 case 628: makemaz("Mas-8"); return;
6216 case 629: makemaz("Mas-9"); return;
6217 case 630: makemaz("Mas-0"); return;
6218 case 631: makemaz("Gre-6"); return;
6219 case 632: makemaz("Gre-7"); return;
6220 case 633: makemaz("Gre-8"); return;
6221 case 634: makemaz("Gre-9"); return;
6222 case 635: makemaz("Gre-0"); return;
6223 case 636: makemaz("Cel-6"); return;
6224 case 637: makemaz("Cel-7"); return;
6225 case 638: makemaz("Cel-8"); return;
6226 case 639: makemaz("Cel-9"); return;
6227 case 640: makemaz("Cel-0"); return;
6228 case 641: makemaz("Wal-6"); return;
6229 case 642: makemaz("Wal-7"); return;
6230 case 643: makemaz("Wal-8"); return;
6231 case 644: makemaz("Wal-9"); return;
6232 case 645: makemaz("Wal-0"); return;
6233 case 646: makemaz("Soc-6"); return;
6234 case 647: makemaz("Soc-7"); return;
6235 case 648: makemaz("Soc-8"); return;
6236 case 649: makemaz("Soc-9"); return;
6237 case 650: makemaz("Soc-0"); return;
6238 case 651: makemaz("Dem-6"); return;
6239 case 652: makemaz("Dem-7"); return;
6240 case 653: makemaz("Dem-8"); return;
6241 case 654: makemaz("Dem-9"); return;
6242 case 655: makemaz("Dem-0"); return;
6243 case 656: makemaz("Dis-6"); return;
6244 case 657: makemaz("Dis-7"); return;
6245 case 658: makemaz("Dis-8"); return;
6246 case 659: makemaz("Dis-9"); return;
6247 case 660: makemaz("Dis-0"); return;
6248 case 661: makemaz("Sto-6"); return;
6249 case 662: makemaz("Sto-7"); return;
6250 case 663: makemaz("Sto-8"); return;
6251 case 664: makemaz("Sto-9"); return;
6252 case 665: makemaz("Sto-0"); return;
6253 case 666: makemaz("Mam-6"); return;
6254 case 667: makemaz("Mam-7"); return;
6255 case 668: makemaz("Mam-8"); return;
6256 case 669: makemaz("Mam-9"); return;
6257 case 670: makemaz("Mam-0"); return;
6258 case 671: makemaz("Jan-6"); return;
6259 case 672: makemaz("Jan-7"); return;
6260 case 673: makemaz("Jan-8"); return;
6261 case 674: makemaz("Jan-9"); return;
6262 case 675: makemaz("Jan-0"); return;
6263 case 676: makemaz("Emp-6"); return;
6264 case 677: makemaz("Emp-7"); return;
6265 case 678: makemaz("Emp-8"); return;
6266 case 679: makemaz("Emp-9"); return;
6267 case 680: makemaz("Emp-0"); return;
6268 case 681: makemaz("Psy-6"); return;
6269 case 682: makemaz("Psy-7"); return;
6270 case 683: makemaz("Psy-8"); return;
6271 case 684: makemaz("Psy-9"); return;
6272 case 685: makemaz("Psy-0"); return;
6273 case 686: makemaz("Qua-6"); return;
6274 case 687: makemaz("Qua-7"); return;
6275 case 688: makemaz("Qua-8"); return;
6276 case 689: makemaz("Qua-9"); return;
6277 case 690: makemaz("Qua-0"); return;
6278 case 691: makemaz("Cra-6"); return;
6279 case 692: makemaz("Cra-7"); return;
6280 case 693: makemaz("Cra-8"); return;
6281 case 694: makemaz("Cra-9"); return;
6282 case 695: makemaz("Cra-0"); return;
6283 case 696: makemaz("Wei-6"); return;
6284 case 697: makemaz("Wei-7"); return;
6285 case 698: makemaz("Wei-8"); return;
6286 case 699: makemaz("Wei-9"); return;
6287 case 700: makemaz("Wei-0"); return;
6288 case 701: makemaz("Xel-6"); return;
6289 case 702: makemaz("Xel-7"); return;
6290 case 703: makemaz("Xel-8"); return;
6291 case 704: makemaz("Xel-9"); return;
6292 case 705: makemaz("Xel-0"); return;
6293 case 706: makemaz("Yau-6"); return;
6294 case 707: makemaz("Yau-7"); return;
6295 case 708: makemaz("Yau-8"); return;
6296 case 709: makemaz("Yau-9"); return;
6297 case 710: makemaz("Yau-0"); return;
6298 case 711: makemaz("Sof-6"); return;
6299 case 712: makemaz("Sof-7"); return;
6300 case 713: makemaz("Sof-8"); return;
6301 case 714: makemaz("Sof-9"); return;
6302 case 715: makemaz("Sof-0"); return;
6303 case 716: makemaz("Ast-6"); return;
6304 case 717: makemaz("Ast-7"); return;
6305 case 718: makemaz("Ast-8"); return;
6306 case 719: makemaz("Ast-9"); return;
6307 case 720: makemaz("Ast-0"); return;
6308 case 721: makemaz("Sma-6"); return;
6309 case 722: makemaz("Sma-7"); return;
6310 case 723: makemaz("Sma-8"); return;
6311 case 724: makemaz("Sma-9"); return;
6312 case 725: makemaz("Sma-0"); return;
6313 case 726: makemaz("Cyb-6"); return;
6314 case 727: makemaz("Cyb-7"); return;
6315 case 728: makemaz("Cyb-8"); return;
6316 case 729: makemaz("Cyb-9"); return;
6317 case 730: makemaz("Cyb-0"); return;
6318 case 731: makemaz("Tos-6"); return;
6319 case 732: makemaz("Tos-7"); return;
6320 case 733: makemaz("Tos-8"); return;
6321 case 734: makemaz("Tos-9"); return;
6322 case 735: makemaz("Tos-0"); return;
6323 case 736: makemaz("Sym-6"); return;
6324 case 737: makemaz("Sym-7"); return;
6325 case 738: makemaz("Sym-8"); return;
6326 case 739: makemaz("Sym-9"); return;
6327 case 740: makemaz("Sym-0"); return;
6328 case 741: makemaz("Pra-6"); return;
6329 case 742: makemaz("Pra-7"); return;
6330 case 743: makemaz("Pra-8"); return;
6331 case 744: makemaz("Pra-9"); return;
6332 case 745: makemaz("Pra-0"); return;
6333 case 746: makemaz("Mil-6"); return;
6334 case 747: makemaz("Mil-7"); return;
6335 case 748: makemaz("Mil-8"); return;
6336 case 749: makemaz("Mil-9"); return;
6337 case 750: makemaz("Mil-0"); return;
6338 case 751: makemaz("Gen-6"); return;
6339 case 752: makemaz("Gen-7"); return;
6340 case 753: makemaz("Gen-8"); return;
6341 case 754: makemaz("Gen-9"); return;
6342 case 755: makemaz("Gen-0"); return;
6343 case 756: makemaz("Fjo-6"); return;
6344 case 757: makemaz("Fjo-7"); return;
6345 case 758: makemaz("Fjo-8"); return;
6346 case 759: makemaz("Fjo-9"); return;
6347 case 760: makemaz("Fjo-0"); return;
6348 case 761: makemaz("Eme-6"); return;
6349 case 762: makemaz("Eme-7"); return;
6350 case 763: makemaz("Eme-8"); return;
6351 case 764: makemaz("Eme-9"); return;
6352 case 765: makemaz("Eme-0"); return;
6353 case 766: makemaz("Com-6"); return;
6354 case 767: makemaz("Com-7"); return;
6355 case 768: makemaz("Com-8"); return;
6356 case 769: makemaz("Com-9"); return;
6357 case 770: makemaz("Com-0"); return;
6358 case 771: makemaz("Akl-6"); return;
6359 case 772: makemaz("Akl-7"); return;
6360 case 773: makemaz("Akl-8"); return;
6361 case 774: makemaz("Akl-9"); return;
6362 case 775: makemaz("Akl-0"); return;
6363 case 776: makemaz("Dra-6"); return;
6364 case 777: makemaz("Dra-7"); return;
6365 case 778: makemaz("Dra-8"); return;
6366 case 779: makemaz("Dra-9"); return;
6367 case 780: makemaz("Dra-0"); return;
6368 case 781: makemaz("Car-6"); return;
6369 case 782: makemaz("Car-7"); return;
6370 case 783: makemaz("Car-8"); return;
6371 case 784: makemaz("Car-9"); return;
6372 case 785: makemaz("Car-0"); return;
6373 case 786: makemaz("But-6"); return;
6374 case 787: makemaz("But-7"); return;
6375 case 788: makemaz("But-8"); return;
6376 case 789: makemaz("But-9"); return;
6377 case 790: makemaz("But-0"); return;
6378 case 791: makemaz("Dan-6"); return;
6379 case 792: makemaz("Dan-7"); return;
6380 case 793: makemaz("Dan-8"); return;
6381 case 794: makemaz("Dan-9"); return;
6382 case 795: makemaz("Dan-0"); return;
6383 case 796: makemaz("Dia-6"); return;
6384 case 797: makemaz("Dia-7"); return;
6385 case 798: makemaz("Dia-8"); return;
6386 case 799: makemaz("Dia-9"); return;
6387 case 800: makemaz("Dia-0"); return;
6388 case 801: makemaz("Pre-6"); return;
6389 case 802: makemaz("Pre-7"); return;
6390 case 803: makemaz("Pre-8"); return;
6391 case 804: makemaz("Pre-9"); return;
6392 case 805: makemaz("Pre-0"); return;
6393 case 806: makemaz("Sec-6"); return;
6394 case 807: makemaz("Sec-7"); return;
6395 case 808: makemaz("Sec-8"); return;
6396 case 809: makemaz("Sec-9"); return;
6397 case 810: makemaz("Sec-0"); return;
6398 case 811: makemaz("Sho-6"); return;
6399 case 812: makemaz("Sho-7"); return;
6400 case 813: makemaz("Sho-8"); return;
6401 case 814: makemaz("Sho-9"); return;
6402 case 815: makemaz("Sho-0"); return;
6403 case 816: makemaz("Hal-6"); return;
6404 case 817: makemaz("Hal-7"); return;
6405 case 818: makemaz("Hal-8"); return;
6406 case 819: makemaz("Hal-9"); return;
6407 case 820: makemaz("Hal-0"); return;
6408 case 821: makemaz("Sin-6"); return;
6409 case 822: makemaz("Sin-7"); return;
6410 case 823: makemaz("Sin-8"); return;
6411 case 824: makemaz("Sin-9"); return;
6412 case 825: makemaz("Sin-0"); return;
6413 case 826: makemaz("Hed-6"); return;
6414 case 827: makemaz("Hed-7"); return;
6415 case 828: makemaz("Hed-8"); return;
6416 case 829: makemaz("Hed-9"); return;
6417 case 830: makemaz("Hed-0"); return;
6418 case 831: makemaz("Van-6"); return;
6419 case 832: makemaz("Van-7"); return;
6420 case 833: makemaz("Van-8"); return;
6421 case 834: makemaz("Van-9"); return;
6422 case 835: makemaz("Van-0"); return;
6423 case 836: makemaz("Sdw-6"); return;
6424 case 837: makemaz("Sdw-7"); return;
6425 case 838: makemaz("Sdw-8"); return;
6426 case 839: makemaz("Sdw-9"); return;
6427 case 840: makemaz("Sdw-0"); return;
6428 case 841: makemaz("Cli-6"); return;
6429 case 842: makemaz("Cli-7"); return;
6430 case 843: makemaz("Cli-8"); return;
6431 case 844: makemaz("Cli-9"); return;
6432 case 845: makemaz("Cli-0"); return;
6433 case 846: makemaz("Wom-6"); return;
6434 case 847: makemaz("Wom-7"); return;
6435 case 848: makemaz("Wom-8"); return;
6436 case 849: makemaz("Wom-9"); return;
6437 case 850: makemaz("Wom-0"); return;
6438 case 851: makemaz("Noo-6"); return;
6439 case 852: makemaz("Noo-7"); return;
6440 case 853: makemaz("Noo-8"); return;
6441 case 854: makemaz("Noo-9"); return;
6442 case 855: makemaz("Noo-0"); return;
6443 case 856: makemaz("Joc-6"); return;
6444 case 857: makemaz("Joc-7"); return;
6445 case 858: makemaz("Joc-8"); return;
6446 case 859: makemaz("Joc-9"); return;
6447 case 860: makemaz("Joc-0"); return;
6448 case 861: makemaz("All-6"); return;
6449 case 862: makemaz("All-7"); return;
6450 case 863: makemaz("All-8"); return;
6451 case 864: makemaz("All-9"); return;
6452 case 865: makemaz("All-0"); return;
6453 case 866: makemaz("Spe-6"); return;
6454 case 867: makemaz("Spe-7"); return;
6455 case 868: makemaz("Spe-8"); return;
6456 case 869: makemaz("Spe-9"); return;
6457 case 870: makemaz("Spe-0"); return;
6459 break;
6461 case 94:
6462 case 95:
6463 case 96:
6464 case 97:
6465 case 98:
6466 case 99:
6467 case 100:
6469 switch (rnd(69)) {
6471 case 1: makemaz("mazes-1"); return;
6472 case 2: makemaz("mazes-2"); return;
6473 case 3: makemaz("mazes-3"); return;
6474 case 4: makemaz("mazes-4"); return;
6475 case 5: makemaz("mazes-5"); return;
6476 case 6: makemaz("mazes-6"); return;
6477 case 7: makemaz("mazes-7"); return;
6478 case 8: makemaz("mazes-8"); return;
6479 case 9: makemaz("mazes-9"); return;
6480 case 10: makemaz("mazes-10"); return;
6481 case 11: makemaz("mazes-11"); return;
6482 case 12: makemaz("mazes-12"); return;
6483 case 13: makemaz("mazes-13"); return;
6484 case 14: makemaz("mazes-14"); return;
6485 case 15: makemaz("mazes-15"); return;
6486 case 16: makemaz("mazes-16"); return;
6487 case 17: makemaz("mazes-17"); return;
6488 case 18: makemaz("mazes-18"); return;
6489 case 19: makemaz("mazes-19"); return;
6490 case 20: makemaz("mazes-20"); return;
6491 case 21: makemaz("mazes-21"); return;
6492 case 22: makemaz("mazes-22"); return;
6493 case 23: makemaz("mazes-23"); return;
6494 case 24: makemaz("mazes-24"); return;
6495 case 25: makemaz("mazes-25"); return;
6496 case 26: makemaz("mazes-26"); return;
6497 case 27: makemaz("mazes-27"); return;
6498 case 28: makemaz("mazes-28"); return;
6499 case 29: makemaz("mazes-29"); return;
6500 case 30: makemaz("mazes-30"); return;
6501 case 31: makemaz("mazes-31"); return;
6502 case 32: makemaz("mazes-32"); return;
6503 case 33: makemaz("mazes-33"); return;
6504 case 34: makemaz("mazes-34"); return;
6505 case 35: makemaz("mazes-35"); return;
6506 case 36: makemaz("mazes-36"); return;
6507 case 37: makemaz("mazes-37"); return;
6508 case 38: makemaz("mazes-38"); return;
6509 case 39: makemaz("mazes-39"); return;
6510 case 40: makemaz("mazes-40"); return;
6511 case 41: makemaz("mazes-41"); return;
6512 case 42: makemaz("mazes-42"); return;
6513 case 43: makemaz("mazes-43"); return;
6514 case 44: makemaz("mazes-44"); return;
6515 case 45: makemaz("mazes-45"); return;
6516 case 46: makemaz("mazes-46"); return;
6517 case 47: makemaz("mazes-47"); return;
6518 case 48: makemaz("mazes-48"); return;
6519 case 49: makemaz("mazes-49"); return;
6520 case 50: makemaz("mazes-50"); return;
6521 case 51: makemaz("mazes-51"); return;
6522 case 52: makemaz("mazes-52"); return;
6523 case 53: makemaz("mazes-53"); return;
6524 case 54: makemaz("mazes-54"); return;
6525 case 55: makemaz("mazes-55"); return;
6526 case 56: makemaz("mazes-56"); return;
6527 case 57: makemaz("mazes-57"); return;
6528 case 58: makemaz("mazes-58"); return;
6529 case 59: makemaz("mazes-59"); return;
6530 case 60: makemaz("mazes-60"); return;
6531 case 61: makemaz("mazes-61"); return;
6532 case 62: makemaz("mazes-62"); return;
6533 case 63: makemaz("mazes-63"); return;
6534 case 64: makemaz("mazes-64"); return;
6535 case 65: makemaz("mazes-65"); return;
6536 case 66: makemaz("mazes-66"); return;
6537 case 67: makemaz("mazes-67"); return;
6538 case 68: makemaz("mazes-68"); return;
6539 case 69: makemaz("mazes-69"); return;
6542 break;
6544 case 101:
6545 case 102:
6546 case 103:
6547 case 104:
6548 case 105:
6550 switch (rnd(95)) {
6552 case 1: makemaz("levgx-1"); return;
6553 case 2: makemaz("levgx-2"); return;
6554 case 3: makemaz("levgx-3"); return;
6555 case 4: makemaz("levgx-4"); return;
6556 case 5: makemaz("levgx-5"); return;
6557 case 6: makemaz("levgx-6"); return;
6558 case 7: makemaz("levgx-7"); return;
6559 case 8: makemaz("levgx-8"); return;
6560 case 9: makemaz("levgx-9"); return;
6561 case 10: makemaz("levgx-10"); return;
6562 case 11: makemaz("levgx-11"); return;
6563 case 12: makemaz("levgx-12"); return;
6564 case 13: makemaz("levgx-13"); return;
6565 case 14: makemaz("levgx-14"); return;
6566 case 15: makemaz("levgx-15"); return;
6567 case 16: makemaz("levgx-16"); return;
6568 case 17: makemaz("levgx-17"); return;
6569 case 18: makemaz("levgx-18"); return;
6570 case 19: makemaz("levgx-19"); return;
6571 case 20: makemaz("levgx-20"); return;
6572 case 21: makemaz("levgx-21"); return;
6573 case 22: makemaz("levgx-22"); return;
6574 case 23: makemaz("levgx-23"); return;
6575 case 24: makemaz("levgx-24"); return;
6576 case 25: makemaz("levgx-25"); return;
6577 case 26: makemaz("levgx-26"); return;
6578 case 27: makemaz("levgx-27"); return;
6579 case 28: makemaz("levgx-28"); return;
6580 case 29: makemaz("levgx-29"); return;
6581 case 30: makemaz("levgx-30"); return;
6582 case 31: makemaz("levgx-31"); return;
6583 case 32: makemaz("levgx-32"); return;
6584 case 33: makemaz("levgx-33"); return;
6585 case 34: makemaz("levgx-34"); return;
6586 case 35: makemaz("levgx-35"); return;
6587 case 36: makemaz("levgx-36"); return;
6588 case 37: makemaz("levgx-37"); return;
6589 case 38: makemaz("levgx-38"); return;
6590 case 39: makemaz("levgx-39"); return;
6591 case 40: makemaz("levgx-40"); return;
6592 case 41: makemaz("levgx-41"); return;
6593 case 42: makemaz("levgx-42"); return;
6594 case 43: makemaz("levgx-43"); return;
6595 case 44: makemaz("levgx-44"); return;
6596 case 45: makemaz("levgx-45"); return;
6597 case 46: makemaz("levgx-46"); return;
6598 case 47: makemaz("levgx-47"); return;
6599 case 48: makemaz("levgx-48"); return;
6600 case 49: makemaz("levgx-49"); return;
6601 case 50: makemaz("levgx-50"); return;
6602 case 51: makemaz("levgx-51"); return;
6603 case 52: makemaz("levgx-52"); return;
6604 case 53: makemaz("levgx-53"); return;
6605 case 54: makemaz("levgx-54"); return;
6606 case 55: makemaz("levgx-55"); return;
6607 case 56: makemaz("levgx-56"); return;
6608 case 57: makemaz("levgx-57"); return;
6609 case 58: makemaz("levgx-58"); return;
6610 case 59: makemaz("levgx-59"); return;
6611 case 60: makemaz("levgx-60"); return;
6612 case 61: makemaz("levgx-61"); return;
6613 case 62: makemaz("levgx-62"); return;
6614 case 63: makemaz("levgx-63"); return;
6615 case 64: makemaz("levgx-64"); return;
6616 case 65: makemaz("levgx-65"); return;
6617 case 66: makemaz("levgx-66"); return;
6618 case 67: makemaz("levgx-67"); return;
6619 case 68: makemaz("levgx-68"); return;
6620 case 69: makemaz("levgx-69"); return;
6621 case 70: makemaz("levgx-70"); return;
6622 case 71: makemaz("levgx-71"); return;
6623 case 72: makemaz("levgx-72"); return;
6624 case 73: makemaz("levgx-73"); return;
6625 case 74: makemaz("levgx-74"); return;
6626 case 75: makemaz("levgx-75"); return;
6627 case 76: makemaz("levgx-76"); return;
6628 case 77: makemaz("levgx-77"); return;
6629 case 78: makemaz("levgx-78"); return;
6630 case 79: makemaz("levgx-79"); return;
6631 case 80: makemaz("levgx-80"); return;
6632 case 81: makemaz("levgx-81"); return;
6633 case 82: makemaz("levgx-82"); return;
6634 case 83: makemaz("levgx-83"); return;
6635 case 84: makemaz("levgx-84"); return;
6636 case 85: makemaz("levgx-85"); return;
6637 case 86: makemaz("levgx-86"); return;
6638 case 87: makemaz("levgx-87"); return;
6639 case 88: makemaz("levgx-88"); return;
6640 case 89: makemaz("levgx-89"); return;
6641 case 90: makemaz("levgx-90"); return;
6642 case 91: makemaz("levgx-91"); return;
6643 case 92: makemaz("levgx-92"); return;
6644 case 93: makemaz("levgx-93"); return;
6645 case 94: makemaz("levgx-94"); return;
6646 case 95: makemaz("levgx-95"); return;
6648 case 106:
6650 makemaz("hcav2"); return;
6651 break;
6653 case 107:
6655 makemaz("hfrnk"); return;
6656 break;
6658 case 108:
6659 case 109:
6660 case 110:
6662 switch (rnd(8)) {
6664 case 1: {
6665 switch (rnd(5)) {
6667 case 1: makemaz("cowla-1"); return;
6668 case 2: makemaz("cowla-2"); return;
6669 case 3: makemaz("cowla-3"); return;
6670 case 4: makemaz("cowla-4"); return;
6671 case 5: makemaz("cowla-5"); return;
6674 break;
6676 case 2: makemaz("cowlb"); return;
6677 case 3: makemaz("cowlc"); return;
6678 case 4: makemaz("cowld"); return;
6679 case 5: makemaz("cowle"); return;
6680 case 6: makemaz("cowlf"); return;
6681 case 7: makemaz("cowlg"); return;
6682 case 8: makemaz("cowlh"); return;
6686 break;
6688 case 111:
6689 switch (rnd(15)) {
6690 case 1: makemaz("deehfila"); return;
6691 case 2: makemaz("deehfilb"); return;
6692 case 3: makemaz("deehfilc"); return;
6693 case 4: makemaz("deehfild"); return;
6694 case 5: makemaz("deehfile"); return;
6695 case 6: makemaz("deehfilf"); return;
6696 case 7: makemaz("deehfilg"); return;
6697 case 8: makemaz("deehfilh"); return;
6698 case 9: makemaz("deehfili"); return;
6699 case 10: makemaz("deehfilj"); return;
6700 case 11: makemaz("deehfilk"); return;
6701 case 12: makemaz("deehfill"); return;
6702 case 13: makemaz("deehfilm"); return;
6703 case 14: makemaz("deehfiln"); return;
6704 case 15: makemaz("deehfilo"); return;
6708 break;
6710 case 112:
6711 switch (rnd(10)) {
6712 case 1: makemaz("deptX-1"); return;
6713 case 2: makemaz("deptX-2"); return;
6714 case 3: makemaz("deptX-3"); return;
6715 case 4: makemaz("deptX-4"); return;
6716 case 5: makemaz("deptX-5"); return;
6717 case 6: makemaz("deptX-6"); return;
6718 case 7: makemaz("deptX-7"); return;
6719 case 8: makemaz("deptX-8"); return;
6720 case 9: makemaz("deptX-9"); return;
6721 case 10: makemaz("deptX-10"); return;
6725 break;
6727 case 113:
6728 switch (rnd(6)) {
6729 case 1: makemaz("depeX-1"); return;
6730 case 2: makemaz("depeX-2"); return;
6731 case 3: makemaz("depeX-3"); return;
6732 case 4: makemaz("depeX-4"); return;
6733 case 5: makemaz("depeX-5"); return;
6734 case 6: makemaz("depeX-6"); return;
6738 break;
6740 case 114:
6741 switch (rnd(5)) {
6742 case 1: makemaz("gruelaiX"); return;
6743 case 2: makemaz("joustX"); return;
6744 case 3: makemaz("pmazeX"); return;
6745 case 4: makemaz("poolhalX"); return;
6746 case 5: makemaz("dmazeX"); return;
6750 break;
6752 case 115:
6753 case 116:
6755 switch (rnd(8)) {
6757 case 1: makemaz("grcra"); return;
6758 case 2: makemaz("grcrb"); return;
6759 case 3: makemaz("grcrc"); return;
6760 case 4: makemaz("grcrd"); return;
6761 case 5: makemaz("grcre"); return;
6762 case 6: makemaz("grcrf"); return;
6763 case 7: makemaz("grcrg"); return;
6764 case 8: makemaz("grcrh"); return;
6767 break;
6769 case 117:
6770 switch (rnd(3)) {
6771 case 1: makemaz("hiceqa"); return;
6772 case 2: makemaz("hiceqb"); return;
6773 case 3: makemaz("hiceqc"); return;
6778 break;
6784 /* mazewalker only gets mazes (evil patch idea by jonadab) */
6785 /* special race flag: 1 = mazewalker, 2 = sokosolver, 3 = specialist */
6787 if (ismazewalker && issokosolver && isspecialist) specialraceflag = rnd(3);
6788 else if (ismazewalker && issokosolver) specialraceflag = rn2(2) ? 1 : 2;
6789 else if (ismazewalker && isspecialist) specialraceflag = rn2(2) ? 1 : 3;
6790 else if (issokosolver && isspecialist) specialraceflag = rn2(2) ? 2 : 3;
6791 else if (ismazewalker) specialraceflag = 1;
6792 else if (issokosolver) specialraceflag = 2;
6793 else if (isspecialist) specialraceflag = 3;
6794 else specialraceflag = 0; /* fail safe */
6796 if ((specialraceflag == 1) && (!rn2(100) || depth(&u.uz) > 1) ) { /* mazewalker */
6798 if (rn2(3)) {
6800 switch (rnd(69)) {
6802 case 1: makemaz("mazes-1"); return;
6803 case 2: makemaz("mazes-2"); return;
6804 case 3: makemaz("mazes-3"); return;
6805 case 4: makemaz("mazes-4"); return;
6806 case 5: makemaz("mazes-5"); return;
6807 case 6: makemaz("mazes-6"); return;
6808 case 7: makemaz("mazes-7"); return;
6809 case 8: makemaz("mazes-8"); return;
6810 case 9: makemaz("mazes-9"); return;
6811 case 10: makemaz("mazes-10"); return;
6812 case 11: makemaz("mazes-11"); return;
6813 case 12: makemaz("mazes-12"); return;
6814 case 13: makemaz("mazes-13"); return;
6815 case 14: makemaz("mazes-14"); return;
6816 case 15: makemaz("mazes-15"); return;
6817 case 16: makemaz("mazes-16"); return;
6818 case 17: makemaz("mazes-17"); return;
6819 case 18: makemaz("mazes-18"); return;
6820 case 19: makemaz("mazes-19"); return;
6821 case 20: makemaz("mazes-20"); return;
6822 case 21: makemaz("mazes-21"); return;
6823 case 22: makemaz("mazes-22"); return;
6824 case 23: makemaz("mazes-23"); return;
6825 case 24: makemaz("mazes-24"); return;
6826 case 25: makemaz("mazes-25"); return;
6827 case 26: makemaz("mazes-26"); return;
6828 case 27: makemaz("mazes-27"); return;
6829 case 28: makemaz("mazes-28"); return;
6830 case 29: makemaz("mazes-29"); return;
6831 case 30: makemaz("mazes-30"); return;
6832 case 31: makemaz("mazes-31"); return;
6833 case 32: makemaz("mazes-32"); return;
6834 case 33: makemaz("mazes-33"); return;
6835 case 34: makemaz("mazes-34"); return;
6836 case 35: makemaz("mazes-35"); return;
6837 case 36: makemaz("mazes-36"); return;
6838 case 37: makemaz("mazes-37"); return;
6839 case 38: makemaz("mazes-38"); return;
6840 case 39: makemaz("mazes-39"); return;
6841 case 40: makemaz("mazes-40"); return;
6842 case 41: makemaz("mazes-41"); return;
6843 case 42: makemaz("mazes-42"); return;
6844 case 43: makemaz("mazes-43"); return;
6845 case 44: makemaz("mazes-44"); return;
6846 case 45: makemaz("mazes-45"); return;
6847 case 46: makemaz("mazes-46"); return;
6848 case 47: makemaz("mazes-47"); return;
6849 case 48: makemaz("mazes-48"); return;
6850 case 49: makemaz("mazes-49"); return;
6851 case 50: makemaz("mazes-50"); return;
6852 case 51: makemaz("mazes-51"); return;
6853 case 52: makemaz("mazes-52"); return;
6854 case 53: makemaz("mazes-53"); return;
6855 case 54: makemaz("mazes-54"); return;
6856 case 55: makemaz("mazes-55"); return;
6857 case 56: makemaz("mazes-56"); return;
6858 case 57: makemaz("mazes-57"); return;
6859 case 58: makemaz("mazes-58"); return;
6860 case 59: makemaz("mazes-59"); return;
6861 case 60: makemaz("mazes-60"); return;
6862 case 61: makemaz("mazes-61"); return;
6863 case 62: makemaz("mazes-62"); return;
6864 case 63: makemaz("mazes-63"); return;
6865 case 64: makemaz("mazes-64"); return;
6866 case 65: makemaz("mazes-65"); return;
6867 case 66: makemaz("mazes-66"); return;
6868 case 67: makemaz("mazes-67"); return;
6869 case 68: makemaz("mazes-68"); return;
6870 case 69: makemaz("mazes-69"); return;
6874 } else makemaz("");
6875 return;
6879 if ((specialraceflag == 2) && (!rn2(100) || depth(&u.uz) > 1) ) { /* sokosolver */
6881 if (In_dod(&u.uz) || In_mines(&u.uz) || In_sokoban(&u.uz) || In_towndungeon(&u.uz) || In_illusorycastle(&u.uz) || In_deepmines(&u.uz) || In_ZAPM(&u.uz) || In_Devnull(&u.uz) || In_greencross(&u.uz) || !strcmp(dungeons[u.uz.dnum].dname, "Grund's Stronghold") || !strcmp(dungeons[u.uz.dnum].dname, "The Ice Queen's Realm") || !strcmp(dungeons[u.uz.dnum].dname, "The Temple of Moloch") || !strcmp(dungeons[u.uz.dnum].dname, "The Giant Caverns") || !strcmp(dungeons[u.uz.dnum].dname, "The Sunless Sea") || !strcmp(dungeons[u.uz.dnum].dname, "The Spider Caves") || !strcmp(dungeons[u.uz.dnum].dname, "The Lost Tomb") || !strcmp(dungeons[u.uz.dnum].dname, "Yendorian Tower") || !strcmp(dungeons[u.uz.dnum].dname, "Bell Caves") || !strcmp(dungeons[u.uz.dnum].dname, "Forging Chamber") || !strcmp(dungeons[u.uz.dnum].dname, "Dead Grounds") || !strcmp(dungeons[u.uz.dnum].dname, "Ordered Chaos") || !strcmp(dungeons[u.uz.dnum].dname, "The Wyrm Caves") || !strcmp(dungeons[u.uz.dnum].dname, "One-eyed Sam's Market") || !strcmp(dungeons[u.uz.dnum].dname, "Fort Ludios") || In_restingzone(&u.uz) ) {
6883 ghnhom3:
6884 switch (rnd(154)) {
6886 case 1: makemaz("soko2-1"); return;
6887 case 2: makemaz("soko2-2"); return;
6888 case 3: makemaz("soko2-3"); return;
6889 case 4: makemaz("soko2-4"); return;
6890 case 5: makemaz("soko2-5"); return;
6891 case 6: makemaz("soko2-6"); return;
6892 case 7: makemaz("soko2-7"); return;
6893 case 8: makemaz("soko2-8"); return;
6894 case 9: makemaz("soko2-9"); return;
6895 case 10: makemaz("soko2-10"); return;
6896 case 11: makemaz("soko2-11"); return;
6897 case 12: makemaz("soko2-12"); return;
6898 case 13: makemaz("soko2-13"); return;
6899 case 14: makemaz("soko2-14"); return;
6900 case 15: makemaz("soko2-15"); return;
6901 case 16: makemaz("soko2-16"); return;
6902 case 17: makemaz("soko2-17"); return;
6903 case 18: makemaz("soko2-18"); return;
6904 case 19: makemaz("soko2-19"); return;
6905 case 20: makemaz("soko2-20"); return;
6906 case 21: makemaz("soko2-21"); return;
6907 case 22: makemaz("soko2-22"); return;
6908 case 23: makemaz("soko2-23"); return;
6909 case 24: makemaz("soko2-24"); return;
6910 case 25: makemaz("soko2-25"); return;
6911 case 26: makemaz("soko2-26"); return;
6912 case 27: makemaz("soko2-27"); return;
6913 case 28: makemaz("soko2-28"); return;
6914 case 29: makemaz("soko2-29"); return;
6915 case 30: makemaz("soko2-30"); return;
6916 case 31: makemaz("soko2-31"); return;
6917 case 32: makemaz("soko2-32"); return;
6918 case 33: makemaz("soko2-33"); return;
6919 case 34: makemaz("soko2-34"); return;
6920 case 35: makemaz("soko2-35"); return;
6921 case 36: makemaz("soko2-36"); return;
6922 case 37: makemaz("soko2-37"); return;
6923 case 38: makemaz("soko2-38"); return;
6924 case 39: makemaz("soko2-39"); return;
6925 case 40: makemaz("soko2-40"); return;
6926 case 41: makemaz("soko2-41"); return;
6927 case 42: makemaz("soko2-42"); return;
6928 case 43: makemaz("soko2-43"); return;
6929 case 44: makemaz("soko2-44"); return;
6931 case 45: makemaz("soko3-1"); return;
6932 case 46: makemaz("soko3-2"); return;
6933 case 47: makemaz("soko3-3"); return;
6934 case 48: makemaz("soko3-4"); return;
6935 case 49: makemaz("soko3-5"); return;
6936 case 50: makemaz("soko3-6"); return;
6937 case 51: makemaz("soko3-7"); return;
6938 case 52: makemaz("soko3-8"); return;
6939 case 53: makemaz("soko3-9"); return;
6940 case 54: makemaz("soko3-10"); return;
6941 case 55: makemaz("soko3-11"); return;
6942 case 56: makemaz("soko3-12"); return;
6943 case 57: makemaz("soko3-13"); return;
6944 case 58: makemaz("soko3-14"); return;
6945 case 59: makemaz("soko3-15"); return;
6946 case 60: makemaz("soko3-16"); return;
6947 case 61: makemaz("soko3-17"); return;
6948 case 62: makemaz("soko3-18"); return;
6949 case 63: makemaz("soko3-19"); return;
6950 case 64: makemaz("soko3-20"); return;
6951 case 65: makemaz("soko3-21"); return;
6952 case 66: makemaz("soko3-22"); return;
6953 case 67: makemaz("soko3-23"); return;
6954 case 68: makemaz("soko3-24"); return;
6955 case 69: makemaz("soko3-25"); return;
6956 case 70: makemaz("soko3-26"); return;
6957 case 71: makemaz("soko3-27"); return;
6958 case 72: makemaz("soko3-28"); return;
6959 case 73: makemaz("soko3-29"); return;
6961 case 74: makemaz("soko5-1"); return;
6962 case 75: makemaz("soko5-2"); return;
6963 case 76: makemaz("soko5-3"); return;
6964 case 77: makemaz("soko5-4"); return;
6965 case 78: makemaz("soko5-5"); return;
6966 case 79: makemaz("soko5-6"); return;
6967 case 80: makemaz("soko5-7"); return;
6968 case 81: makemaz("soko5-8"); return;
6969 case 82: makemaz("soko5-9"); return;
6970 case 83: makemaz("soko5-10"); return;
6971 case 84: makemaz("soko5-11"); return;
6972 case 85: makemaz("soko5-12"); return;
6973 case 86: makemaz("soko5-13"); return;
6974 case 87: makemaz("soko5-14"); return;
6975 case 88: makemaz("soko5-15"); return;
6976 case 89: makemaz("soko5-16"); return;
6977 case 90: makemaz("soko5-17"); return;
6978 case 91: makemaz("soko5-18"); return;
6979 case 92: makemaz("soko5-19"); return;
6980 case 93: makemaz("soko5-20"); return;
6981 case 94: makemaz("soko5-21"); return;
6982 case 95: makemaz("soko5-22"); return;
6983 case 96: makemaz("soko5-23"); return;
6984 case 97: makemaz("soko5-24"); return;
6985 case 98: makemaz("soko5-25"); return;
6986 case 99: makemaz("soko5-26"); return;
6987 case 100: makemaz("soko5-27"); return;
6988 case 101: makemaz("soko5-28"); return;
6990 case 102: makemaz("soko6-1"); return;
6991 case 103: makemaz("soko6-2"); return;
6992 case 104: makemaz("soko6-3"); return;
6993 case 105: makemaz("soko6-4"); return;
6994 case 106: makemaz("soko6-5"); return;
6995 case 107: makemaz("soko6-6"); return;
6996 case 108: makemaz("soko6-7"); return;
6997 case 109: makemaz("soko6-8"); return;
6998 case 110: makemaz("soko6-9"); return;
6999 case 111: makemaz("soko6-10"); return;
7000 case 112: makemaz("soko6-11"); return;
7001 case 113: makemaz("soko6-12"); return;
7002 case 114: makemaz("soko6-13"); return;
7003 case 115: makemaz("soko6-14"); return;
7004 case 116: makemaz("soko6-15"); return;
7005 case 117: makemaz("soko6-16"); return;
7006 case 118: makemaz("soko6-17"); return;
7007 case 119: makemaz("soko6-18"); return;
7008 case 120: makemaz("soko6-19"); return;
7009 case 121: makemaz("soko6-20"); return;
7010 case 122: makemaz("soko6-21"); return;
7011 case 123: makemaz("soko6-22"); return;
7012 case 124: makemaz("soko6-23"); return;
7013 case 125: makemaz("soko6-24"); return;
7014 case 126: makemaz("soko6-25"); return;
7015 case 127: makemaz("soko6-26"); return;
7016 case 128: makemaz("soko6-27"); return;
7017 case 129: makemaz("soko6-28"); return;
7018 case 130: makemaz("soko6-29"); return;
7019 case 131: makemaz("soko6-30"); return;
7020 case 132: makemaz("soko6-31"); return;
7021 case 133: makemaz("soko6-32"); return;
7022 case 134: makemaz("soko6-33"); return;
7023 case 135: makemaz("soko6-34"); return;
7024 case 136: makemaz("soko6-35"); return;
7025 case 137: makemaz("soko6-36"); return;
7026 case 138: makemaz("soko6-37"); return;
7027 case 139: makemaz("soko6-38"); return;
7028 case 140: makemaz("soko6-39"); return;
7029 case 141: makemaz("soko6-40"); return;
7030 case 142: makemaz("soko6-41"); return;
7031 case 143: makemaz("soko6-42"); return;
7032 case 144: makemaz("soko6-43"); return;
7033 case 145: makemaz("soko6-44"); return;
7034 case 146: makemaz("soko6-45"); return;
7035 case 147: makemaz("soko6-46"); return;
7036 case 148: makemaz("soko6-47"); return;
7037 case 149: makemaz("soko6-48"); return;
7038 case 150: makemaz("soko6-49"); return;
7039 case 151: makemaz("soko6-50"); return;
7040 case 152: makemaz("soko6-51"); return;
7042 case 153: makemaz("soko2-45"); return;
7044 case 154: makemaz("soko6-52"); return;
7048 } else if (In_gehennom(&u.uz) || In_sheol(&u.uz) || In_voiddungeon(&u.uz) || In_netherrealm(&u.uz) || In_angmar(&u.uz) || In_emynluin(&u.uz) || In_swimmingpool(&u.uz) || In_hellbathroom(&u.uz) || !strcmp(dungeons[u.uz.dnum].dname, "Frankenstein's Lab") ) {
7050 if (rn2(3)) goto ghnhom3;
7052 switch (rnd(154)) {
7054 case 1: makemaz("soko8-1"); return;
7055 case 2: makemaz("soko8-2"); return;
7056 case 3: makemaz("soko8-3"); return;
7057 case 4: makemaz("soko8-4"); return;
7058 case 5: makemaz("soko8-5"); return;
7059 case 6: makemaz("soko8-6"); return;
7060 case 7: makemaz("soko8-7"); return;
7061 case 8: makemaz("soko8-8"); return;
7062 case 9: makemaz("soko8-9"); return;
7063 case 10: makemaz("soko8-10"); return;
7064 case 11: makemaz("soko8-11"); return;
7065 case 12: makemaz("soko8-12"); return;
7066 case 13: makemaz("soko8-13"); return;
7067 case 14: makemaz("soko8-14"); return;
7068 case 15: makemaz("soko8-15"); return;
7069 case 16: makemaz("soko8-16"); return;
7070 case 17: makemaz("soko8-17"); return;
7071 case 18: makemaz("soko8-18"); return;
7072 case 19: makemaz("soko8-19"); return;
7073 case 20: makemaz("soko8-20"); return;
7074 case 21: makemaz("soko8-21"); return;
7075 case 22: makemaz("soko8-22"); return;
7076 case 23: makemaz("soko8-23"); return;
7077 case 24: makemaz("soko8-24"); return;
7078 case 25: makemaz("soko8-25"); return;
7079 case 26: makemaz("soko8-26"); return;
7080 case 27: makemaz("soko8-27"); return;
7081 case 28: makemaz("soko8-28"); return;
7082 case 29: makemaz("soko8-29"); return;
7083 case 30: makemaz("soko8-30"); return;
7084 case 31: makemaz("soko8-31"); return;
7085 case 32: makemaz("soko8-32"); return;
7086 case 33: makemaz("soko8-33"); return;
7087 case 34: makemaz("soko8-34"); return;
7088 case 35: makemaz("soko8-35"); return;
7089 case 36: makemaz("soko8-36"); return;
7090 case 37: makemaz("soko8-37"); return;
7091 case 38: makemaz("soko8-38"); return;
7092 case 39: makemaz("soko8-39"); return;
7093 case 40: makemaz("soko8-40"); return;
7094 case 41: makemaz("soko8-41"); return;
7095 case 42: makemaz("soko8-42"); return;
7096 case 43: makemaz("soko8-43"); return;
7097 case 44: makemaz("soko8-44"); return;
7099 case 45: makemaz("soko7-1"); return;
7100 case 46: makemaz("soko7-2"); return;
7101 case 47: makemaz("soko7-3"); return;
7102 case 48: makemaz("soko7-4"); return;
7103 case 49: makemaz("soko7-5"); return;
7104 case 50: makemaz("soko7-6"); return;
7105 case 51: makemaz("soko7-7"); return;
7106 case 52: makemaz("soko7-8"); return;
7107 case 53: makemaz("soko7-9"); return;
7108 case 54: makemaz("soko7-10"); return;
7109 case 55: makemaz("soko7-11"); return;
7110 case 56: makemaz("soko7-12"); return;
7111 case 57: makemaz("soko7-13"); return;
7112 case 58: makemaz("soko7-14"); return;
7113 case 59: makemaz("soko7-15"); return;
7114 case 60: makemaz("soko7-16"); return;
7115 case 61: makemaz("soko7-17"); return;
7116 case 62: makemaz("soko7-18"); return;
7117 case 63: makemaz("soko7-19"); return;
7118 case 64: makemaz("soko7-20"); return;
7119 case 65: makemaz("soko7-21"); return;
7120 case 66: makemaz("soko7-22"); return;
7121 case 67: makemaz("soko7-23"); return;
7122 case 68: makemaz("soko7-24"); return;
7123 case 69: makemaz("soko7-25"); return;
7124 case 70: makemaz("soko7-26"); return;
7125 case 71: makemaz("soko7-27"); return;
7126 case 72: makemaz("soko7-28"); return;
7127 case 73: makemaz("soko7-29"); return;
7129 case 74: makemaz("soko9-1"); return;
7130 case 75: makemaz("soko9-2"); return;
7131 case 76: makemaz("soko9-3"); return;
7132 case 77: makemaz("soko9-4"); return;
7133 case 78: makemaz("soko9-5"); return;
7134 case 79: makemaz("soko9-6"); return;
7135 case 80: makemaz("soko9-7"); return;
7136 case 81: makemaz("soko9-8"); return;
7137 case 82: makemaz("soko9-9"); return;
7138 case 83: makemaz("soko9-10"); return;
7139 case 84: makemaz("soko9-11"); return;
7140 case 85: makemaz("soko9-12"); return;
7141 case 86: makemaz("soko9-13"); return;
7142 case 87: makemaz("soko9-14"); return;
7143 case 88: makemaz("soko9-15"); return;
7144 case 89: makemaz("soko9-16"); return;
7145 case 90: makemaz("soko9-17"); return;
7146 case 91: makemaz("soko9-18"); return;
7147 case 92: makemaz("soko9-19"); return;
7148 case 93: makemaz("soko9-20"); return;
7149 case 94: makemaz("soko9-21"); return;
7150 case 95: makemaz("soko9-22"); return;
7151 case 96: makemaz("soko9-23"); return;
7152 case 97: makemaz("soko9-24"); return;
7153 case 98: makemaz("soko9-25"); return;
7154 case 99: makemaz("soko9-26"); return;
7155 case 100: makemaz("soko9-27"); return;
7156 case 101: makemaz("soko9-28"); return;
7158 case 102: makemaz("soko0-1"); return;
7159 case 103: makemaz("soko0-2"); return;
7160 case 104: makemaz("soko0-3"); return;
7161 case 105: makemaz("soko0-4"); return;
7162 case 106: makemaz("soko0-5"); return;
7163 case 107: makemaz("soko0-6"); return;
7164 case 108: makemaz("soko0-7"); return;
7165 case 109: makemaz("soko0-8"); return;
7166 case 110: makemaz("soko0-9"); return;
7167 case 111: makemaz("soko0-10"); return;
7168 case 112: makemaz("soko0-11"); return;
7169 case 113: makemaz("soko0-12"); return;
7170 case 114: makemaz("soko0-13"); return;
7171 case 115: makemaz("soko0-14"); return;
7172 case 116: makemaz("soko0-15"); return;
7173 case 117: makemaz("soko0-16"); return;
7174 case 118: makemaz("soko0-17"); return;
7175 case 119: makemaz("soko0-18"); return;
7176 case 120: makemaz("soko0-19"); return;
7177 case 121: makemaz("soko0-20"); return;
7178 case 122: makemaz("soko0-21"); return;
7179 case 123: makemaz("soko0-22"); return;
7180 case 124: makemaz("soko0-23"); return;
7181 case 125: makemaz("soko0-24"); return;
7182 case 126: makemaz("soko0-25"); return;
7183 case 127: makemaz("soko0-26"); return;
7184 case 128: makemaz("soko0-27"); return;
7185 case 129: makemaz("soko0-28"); return;
7186 case 130: makemaz("soko0-29"); return;
7187 case 131: makemaz("soko0-30"); return;
7188 case 132: makemaz("soko0-31"); return;
7189 case 133: makemaz("soko0-32"); return;
7190 case 134: makemaz("soko0-33"); return;
7191 case 135: makemaz("soko0-34"); return;
7192 case 136: makemaz("soko0-35"); return;
7193 case 137: makemaz("soko0-36"); return;
7194 case 138: makemaz("soko0-37"); return;
7195 case 139: makemaz("soko0-38"); return;
7196 case 140: makemaz("soko0-39"); return;
7197 case 141: makemaz("soko0-40"); return;
7198 case 142: makemaz("soko0-41"); return;
7199 case 143: makemaz("soko0-42"); return;
7200 case 144: makemaz("soko0-43"); return;
7201 case 145: makemaz("soko0-44"); return;
7202 case 146: makemaz("soko0-45"); return;
7203 case 147: makemaz("soko0-46"); return;
7204 case 148: makemaz("soko0-47"); return;
7205 case 149: makemaz("soko0-48"); return;
7206 case 150: makemaz("soko0-49"); return;
7207 case 151: makemaz("soko0-50"); return;
7208 case 152: makemaz("soko0-51"); return;
7210 case 153: makemaz("soko8-45"); return;
7212 case 154: makemaz("soko0-52"); return;
7218 return;
7222 if ((specialraceflag == 3) && (!rn2(100) || depth(&u.uz) > 1) ) { /* specialist */
7224 if (In_dod(&u.uz) || In_mines(&u.uz) || In_sokoban(&u.uz) || In_towndungeon(&u.uz) || In_illusorycastle(&u.uz) || In_deepmines(&u.uz) || In_ZAPM(&u.uz) || In_Devnull(&u.uz) || In_greencross(&u.uz) || !strcmp(dungeons[u.uz.dnum].dname, "Grund's Stronghold") || !strcmp(dungeons[u.uz.dnum].dname, "The Ice Queen's Realm") || !strcmp(dungeons[u.uz.dnum].dname, "The Temple of Moloch") || !strcmp(dungeons[u.uz.dnum].dname, "The Giant Caverns") || !strcmp(dungeons[u.uz.dnum].dname, "The Sunless Sea") || !strcmp(dungeons[u.uz.dnum].dname, "The Spider Caves") || !strcmp(dungeons[u.uz.dnum].dname, "The Lost Tomb") || !strcmp(dungeons[u.uz.dnum].dname, "Yendorian Tower") || !strcmp(dungeons[u.uz.dnum].dname, "Bell Caves") || !strcmp(dungeons[u.uz.dnum].dname, "Forging Chamber") || !strcmp(dungeons[u.uz.dnum].dname, "Dead Grounds") || !strcmp(dungeons[u.uz.dnum].dname, "Ordered Chaos") || !strcmp(dungeons[u.uz.dnum].dname, "The Wyrm Caves") || !strcmp(dungeons[u.uz.dnum].dname, "One-eyed Sam's Market") || !strcmp(dungeons[u.uz.dnum].dname, "Fort Ludios") || In_restingzone(&u.uz)) {
7226 ghnhom4:
7227 switch (rnd(117)) {
7229 case 1:
7230 case 2:
7231 case 3:
7232 case 4:
7233 case 5:
7234 case 6:
7235 case 7:
7236 case 8:
7237 case 9:
7238 case 10:
7240 switch (rnd(60)) {
7242 case 1: makemaz("bigrm-1"); return;
7243 case 2: makemaz("bigrm-2"); return;
7244 case 3: makemaz("bigrm-3"); return;
7245 case 4: makemaz("bigrm-4"); return;
7246 case 5: makemaz("bigrm-5"); return;
7247 case 6: makemaz("bigrm-6"); return;
7248 case 7: makemaz("bigrm-7"); return;
7249 case 8: makemaz("bigrm-8"); return;
7250 case 9: makemaz("bigrm-9"); return;
7251 case 10: makemaz("bigrm-10"); return;
7252 case 11: makemaz("bigrm-11"); return;
7253 case 12: makemaz("bigrm-12"); return;
7254 case 13: makemaz("bigrm-13"); return;
7255 case 14: makemaz("bigrm-14"); return;
7256 case 15: makemaz("bigrm-15"); return;
7257 case 16: makemaz("bigrm-16"); return;
7258 case 17: makemaz("bigrm-17"); return;
7259 case 18: makemaz("bigrm-18"); return;
7260 case 19: makemaz("bigrm-19"); return;
7261 case 20: makemaz("bigrm-20"); return;
7262 case 21: makemaz("bigrm-21"); return;
7263 case 22: makemaz("bigrm-22"); return;
7264 case 23: makemaz("bigrm-23"); return;
7265 case 24: makemaz("bigrm-24"); return;
7266 case 25: makemaz("bigrm-25"); return;
7267 case 26: makemaz("bigrm-26"); return;
7268 case 27: makemaz("bigrm-27"); return;
7269 case 28: makemaz("bigrm-28"); return;
7270 case 29: makemaz("bigrm-29"); return;
7271 case 30: makemaz("bigrm-30"); return;
7272 case 31: makemaz("bigrm-31"); return;
7273 case 32: makemaz("bigrm-32"); return;
7274 case 33: makemaz("bigrm-33"); return;
7275 case 34: makemaz("bigrm-34"); return;
7276 case 35: makemaz("bigrm-35"); return;
7277 case 36: makemaz("bigrm-36"); return;
7278 case 37: makemaz("bigrm-37"); return;
7279 case 38: makemaz("bigrm-38"); return;
7280 case 39: makemaz("bigrm-39"); return;
7281 case 40: makemaz("bigrm-40"); return;
7282 case 41: makemaz("bigrm-41"); return;
7283 case 42: makemaz("bigrm-42"); return;
7284 case 43: makemaz("bigrm-43"); return;
7285 case 44: makemaz("bigrm-44"); return;
7286 case 45: makemaz("bigrm-45"); return;
7287 case 46: makemaz("bigrm-46"); return;
7288 case 47: makemaz("bigrm-47"); return;
7289 case 48: makemaz("bigrm-48"); return;
7290 case 49: makemaz("bigrm-49"); return;
7291 case 50: makemaz("bigrm-50"); return;
7292 case 51: makemaz("bigrm-51"); return;
7293 case 52: makemaz("bigrm-52"); return;
7294 case 53: makemaz("bigrm-53"); return;
7295 case 54: makemaz("bigrm-54"); return;
7296 case 55: makemaz("bigrm-55"); return;
7297 case 56: makemaz("bigrm-56"); return;
7298 case 57: makemaz("bigrm-57"); return;
7299 case 58: makemaz("bigrm-58"); return;
7300 case 59: makemaz("bigrm-59"); return;
7301 case 60: makemaz("bigrm-60"); return;
7304 break;
7306 case 11:
7307 case 12:
7308 case 13:
7309 case 14:
7310 case 15:
7311 case 16:
7312 case 17:
7313 case 18:
7314 case 19:
7315 case 20:
7317 switch (rnd(97)) {
7319 case 1: makemaz("unhck-1"); return;
7320 case 2: makemaz("unhck-2"); return;
7321 case 3: makemaz("unhck-3"); return;
7322 case 4: makemaz("unhck-4"); return;
7323 case 5: makemaz("unhck-5"); return;
7324 case 6: makemaz("unhck-6"); return;
7325 case 7: makemaz("unhck-7"); return;
7326 case 8: makemaz("unhck-8"); return;
7327 case 9: makemaz("unhck-9"); return;
7328 case 10: makemaz("unhck-10"); return;
7329 case 11: makemaz("unhck-11"); return;
7330 case 12: makemaz("unhck-12"); return;
7331 case 13: makemaz("unhck-13"); return;
7332 case 14: makemaz("unhck-14"); return;
7333 case 15: makemaz("unhck-15"); return;
7334 case 16: makemaz("unhck-16"); return;
7335 case 17: makemaz("unhck-17"); return;
7336 case 18: makemaz("unhck-18"); return;
7337 case 19: makemaz("unhck-19"); return;
7338 case 20: makemaz("unhck-20"); return;
7339 case 21: makemaz("unhck-21"); return;
7340 case 22: makemaz("unhck-22"); return;
7341 case 23: makemaz("unhck-23"); return;
7342 case 24: makemaz("unhck-24"); return;
7343 case 25: makemaz("unhck-25"); return;
7344 case 26: makemaz("unhck-26"); return;
7345 case 27: makemaz("unhck-27"); return;
7346 case 28: makemaz("unhck-28"); return;
7347 case 29: makemaz("unhck-29"); return;
7348 case 30: makemaz("unhck-30"); return;
7349 case 31: makemaz("unhck-31"); return;
7350 case 32: makemaz("unhck-32"); return;
7351 case 33: makemaz("unhck-33"); return;
7352 case 34: makemaz("unhck-34"); return;
7353 case 35: makemaz("unhck-35"); return;
7354 case 36: makemaz("unhck-36"); return;
7355 case 37: makemaz("unhck-37"); return;
7356 case 38: makemaz("unhck-38"); return;
7357 case 39: makemaz("unhck-39"); return;
7358 case 40: makemaz("unhck-40"); return;
7359 case 41: makemaz("unhck-41"); return;
7360 case 42: makemaz("unhck-42"); return;
7361 case 43: makemaz("unhck-43"); return;
7362 case 44: makemaz("unhck-44"); return;
7363 case 45: makemaz("unhck-45"); return;
7364 case 46: makemaz("unhck-46"); return;
7365 case 47: makemaz("unhck-47"); return;
7366 case 48: makemaz("unhck-48"); return;
7367 case 49: makemaz("unhck-49"); return;
7368 case 50: makemaz("unhck-50"); return;
7369 case 51: makemaz("unhck-51"); return;
7370 case 52: makemaz("unhck-52"); return;
7371 case 53: makemaz("unhck-53"); return;
7372 case 54: makemaz("unhck-54"); return;
7373 case 55: makemaz("unhck-55"); return;
7374 case 56: makemaz("unhck-56"); return;
7375 case 57: makemaz("unhck-57"); return;
7376 case 58: makemaz("unhck-58"); return;
7377 case 59: makemaz("unhck-59"); return;
7378 case 60: makemaz("unhck-60"); return;
7379 case 61: makemaz("unhck-61"); return;
7380 case 62: makemaz("unhck-62"); return;
7381 case 63: makemaz("unhck-63"); return;
7382 case 64: makemaz("unhck-64"); return;
7383 case 65: makemaz("unhck-65"); return;
7384 case 66: makemaz("unhck-66"); return;
7385 case 67: makemaz("unhck-67"); return;
7386 case 68: makemaz("unhck-68"); return;
7387 case 69: makemaz("unhck-69"); return;
7388 case 70: makemaz("unhck-70"); return;
7389 case 71: makemaz("unhck-71"); return;
7390 case 72: makemaz("unhck-72"); return;
7391 case 73: makemaz("unhck-73"); return;
7392 case 74: makemaz("unhck-74"); return;
7393 case 75: makemaz("unhck-75"); return;
7394 case 76: makemaz("unhck-76"); return;
7395 case 77: makemaz("unhck-77"); return;
7396 case 78: makemaz("unhck-78"); return;
7397 case 79: makemaz("unhck-79"); return;
7398 case 80: makemaz("unhck-80"); return;
7399 case 81: makemaz("unhck-81"); return;
7400 case 82: makemaz("unhck-82"); return;
7401 case 83: makemaz("unhck-83"); return;
7402 case 84: makemaz("unhck-84"); return;
7403 case 85: makemaz("unhck-85"); return;
7404 case 86: makemaz("unhck-86"); return;
7405 case 87: makemaz("unhck-87"); return;
7406 case 88: makemaz("unhck-88"); return;
7407 case 89: makemaz("unhck-89"); return;
7408 case 90: makemaz("unhck-90"); return;
7409 case 91: makemaz("unhck-91"); return;
7410 case 92: makemaz("unhck-92"); return;
7411 case 93: makemaz("unhck-93"); return;
7412 case 94: makemaz("unhck-94"); return;
7413 case 95: makemaz("unhck-95"); return;
7414 case 96: makemaz("unhck-96"); return;
7415 case 97: makemaz("minusw"); return;
7418 break;
7420 case 21:
7422 switch (rnd(5)) {
7424 case 1: makemaz("intpla-1"); return;
7425 case 2: makemaz("intpla-2"); return;
7426 case 3: makemaz("intpla-3"); return;
7427 case 4: makemaz("intpla-4"); return;
7428 case 5: makemaz("intpla-5"); return;
7431 break;
7433 case 22:
7434 case 23:
7435 case 24:
7437 switch (rnd(14)) {
7439 case 1: makemaz("minefill"); return;
7440 case 2: makemaz("minefila"); return;
7441 case 3: makemaz("minefilb"); return;
7442 case 4: makemaz("minefilc"); return;
7443 case 5: makemaz("minefild"); return;
7444 case 6: makemaz("minefile"); return;
7445 case 7: makemaz("minefilf"); return;
7446 case 8: makemaz("minefilg"); return;
7447 case 9: makemaz("minefill"); return;
7448 case 10: makemaz("minefill"); return;
7449 case 11: makemaz("minefill"); return;
7450 case 12: makemaz("minefill"); return;
7451 case 13: makemaz("minefill"); return;
7452 case 14: makemaz("minefill"); return;
7455 break;
7457 case 25:
7458 case 26:
7459 case 27:
7460 case 28:
7461 case 29:
7463 switch (rnd(21)) {
7465 case 1: makemaz("mintn-1"); return;
7466 case 2: makemaz("mintn-2"); return;
7467 case 3: makemaz("mintn-3"); return;
7468 case 4: makemaz("mintn-4"); return;
7469 case 5: makemaz("mintn-5"); return;
7470 case 6: makemaz("mintn-6"); return;
7471 case 7: makemaz("mintn-7"); return;
7472 case 8: makemaz("mintn-8"); return;
7473 case 9: makemaz("mintn-9"); return;
7474 case 10: makemaz("mintn-10"); return;
7475 case 11: makemaz("mintn-11"); return;
7476 case 12: makemaz("mintn-12"); return;
7477 case 13: makemaz("mintn-13"); return;
7478 case 14: makemaz("mintn-14"); return;
7479 case 15: makemaz("mintn-15"); return;
7480 case 16: makemaz("mintn-16"); return;
7481 case 17: makemaz("mintn-17"); return;
7482 case 18: makemaz("mintn-18"); return;
7483 case 19: makemaz("mintn-19"); return;
7484 case 20: makemaz("mintn-20"); return;
7485 case 21: makemaz("mintn-21"); return;
7488 break;
7490 case 30:
7491 case 31:
7493 switch (rnd(10)) {
7495 case 1: makemaz("mnend-1"); return;
7496 case 2: makemaz("mnend-2"); return;
7497 case 3: makemaz("mnend-3"); return;
7498 case 4: makemaz("mnend-4"); return;
7499 case 5: makemaz("mnend-5"); return;
7500 case 6: makemaz("mnend-6"); return;
7501 case 7: makemaz("mnend-7"); return;
7502 case 8: makemaz("mnend-8"); return;
7503 case 9: makemaz("mnend-9"); return;
7504 case 10: makemaz("mnend-10"); return;
7507 break;
7509 case 32:
7510 case 33:
7512 switch (rnd(18)) {
7514 case 1: makemaz("eking-1"); return;
7515 case 2: makemaz("eking-2"); return;
7516 case 3: makemaz("eking-3"); return;
7517 case 4: makemaz("eking-4"); return;
7518 case 5: makemaz("eking-5"); return;
7519 case 6: makemaz("eking-6"); return;
7520 case 7: makemaz("eking-7"); return;
7521 case 8: makemaz("eking-8"); return;
7522 case 9: makemaz("eking-9"); return;
7523 case 10: makemaz("eking-10"); return;
7524 case 11: makemaz("eking-11"); return;
7525 case 12: makemaz("eking-12"); return;
7526 case 13: makemaz("eking-13"); return;
7527 case 14: makemaz("eking-14"); return;
7528 case 15: makemaz("eking-15"); return;
7529 case 16: makemaz("eking-16"); return;
7530 case 17: makemaz("eking-17"); return;
7531 case 18: makemaz("eking-18"); return;
7534 break;
7536 case 34:
7537 case 35:
7538 case 36:
7539 case 37:
7540 case 38:
7541 case 39:
7542 case 40:
7543 case 41:
7544 case 42:
7545 case 43:
7547 switch (rnd(154)) {
7549 case 1: makemaz("soko2-1"); return;
7550 case 2: makemaz("soko2-2"); return;
7551 case 3: makemaz("soko2-3"); return;
7552 case 4: makemaz("soko2-4"); return;
7553 case 5: makemaz("soko2-5"); return;
7554 case 6: makemaz("soko2-6"); return;
7555 case 7: makemaz("soko2-7"); return;
7556 case 8: makemaz("soko2-8"); return;
7557 case 9: makemaz("soko2-9"); return;
7558 case 10: makemaz("soko2-10"); return;
7559 case 11: makemaz("soko2-11"); return;
7560 case 12: makemaz("soko2-12"); return;
7561 case 13: makemaz("soko2-13"); return;
7562 case 14: makemaz("soko2-14"); return;
7563 case 15: makemaz("soko2-15"); return;
7564 case 16: makemaz("soko2-16"); return;
7565 case 17: makemaz("soko2-17"); return;
7566 case 18: makemaz("soko2-18"); return;
7567 case 19: makemaz("soko2-19"); return;
7568 case 20: makemaz("soko2-20"); return;
7569 case 21: makemaz("soko2-21"); return;
7570 case 22: makemaz("soko2-22"); return;
7571 case 23: makemaz("soko2-23"); return;
7572 case 24: makemaz("soko2-24"); return;
7573 case 25: makemaz("soko2-25"); return;
7574 case 26: makemaz("soko2-26"); return;
7575 case 27: makemaz("soko2-27"); return;
7576 case 28: makemaz("soko2-28"); return;
7577 case 29: makemaz("soko2-29"); return;
7578 case 30: makemaz("soko2-30"); return;
7579 case 31: makemaz("soko2-31"); return;
7580 case 32: makemaz("soko2-32"); return;
7581 case 33: makemaz("soko2-33"); return;
7582 case 34: makemaz("soko2-34"); return;
7583 case 35: makemaz("soko2-35"); return;
7584 case 36: makemaz("soko2-36"); return;
7585 case 37: makemaz("soko2-37"); return;
7586 case 38: makemaz("soko2-38"); return;
7587 case 39: makemaz("soko2-39"); return;
7588 case 40: makemaz("soko2-40"); return;
7589 case 41: makemaz("soko2-41"); return;
7590 case 42: makemaz("soko2-42"); return;
7591 case 43: makemaz("soko2-43"); return;
7592 case 44: makemaz("soko2-44"); return;
7594 case 45: makemaz("soko3-1"); return;
7595 case 46: makemaz("soko3-2"); return;
7596 case 47: makemaz("soko3-3"); return;
7597 case 48: makemaz("soko3-4"); return;
7598 case 49: makemaz("soko3-5"); return;
7599 case 50: makemaz("soko3-6"); return;
7600 case 51: makemaz("soko3-7"); return;
7601 case 52: makemaz("soko3-8"); return;
7602 case 53: makemaz("soko3-9"); return;
7603 case 54: makemaz("soko3-10"); return;
7604 case 55: makemaz("soko3-11"); return;
7605 case 56: makemaz("soko3-12"); return;
7606 case 57: makemaz("soko3-13"); return;
7607 case 58: makemaz("soko3-14"); return;
7608 case 59: makemaz("soko3-15"); return;
7609 case 60: makemaz("soko3-16"); return;
7610 case 61: makemaz("soko3-17"); return;
7611 case 62: makemaz("soko3-18"); return;
7612 case 63: makemaz("soko3-19"); return;
7613 case 64: makemaz("soko3-20"); return;
7614 case 65: makemaz("soko3-21"); return;
7615 case 66: makemaz("soko3-22"); return;
7616 case 67: makemaz("soko3-23"); return;
7617 case 68: makemaz("soko3-24"); return;
7618 case 69: makemaz("soko3-25"); return;
7619 case 70: makemaz("soko3-26"); return;
7620 case 71: makemaz("soko3-27"); return;
7621 case 72: makemaz("soko3-28"); return;
7622 case 73: makemaz("soko3-29"); return;
7624 case 74: makemaz("soko5-1"); return;
7625 case 75: makemaz("soko5-2"); return;
7626 case 76: makemaz("soko5-3"); return;
7627 case 77: makemaz("soko5-4"); return;
7628 case 78: makemaz("soko5-5"); return;
7629 case 79: makemaz("soko5-6"); return;
7630 case 80: makemaz("soko5-7"); return;
7631 case 81: makemaz("soko5-8"); return;
7632 case 82: makemaz("soko5-9"); return;
7633 case 83: makemaz("soko5-10"); return;
7634 case 84: makemaz("soko5-11"); return;
7635 case 85: makemaz("soko5-12"); return;
7636 case 86: makemaz("soko5-13"); return;
7637 case 87: makemaz("soko5-14"); return;
7638 case 88: makemaz("soko5-15"); return;
7639 case 89: makemaz("soko5-16"); return;
7640 case 90: makemaz("soko5-17"); return;
7641 case 91: makemaz("soko5-18"); return;
7642 case 92: makemaz("soko5-19"); return;
7643 case 93: makemaz("soko5-20"); return;
7644 case 94: makemaz("soko5-21"); return;
7645 case 95: makemaz("soko5-22"); return;
7646 case 96: makemaz("soko5-23"); return;
7647 case 97: makemaz("soko5-24"); return;
7648 case 98: makemaz("soko5-25"); return;
7649 case 99: makemaz("soko5-26"); return;
7650 case 100: makemaz("soko5-27"); return;
7651 case 101: makemaz("soko5-28"); return;
7653 case 102: makemaz("soko6-1"); return;
7654 case 103: makemaz("soko6-2"); return;
7655 case 104: makemaz("soko6-3"); return;
7656 case 105: makemaz("soko6-4"); return;
7657 case 106: makemaz("soko6-5"); return;
7658 case 107: makemaz("soko6-6"); return;
7659 case 108: makemaz("soko6-7"); return;
7660 case 109: makemaz("soko6-8"); return;
7661 case 110: makemaz("soko6-9"); return;
7662 case 111: makemaz("soko6-10"); return;
7663 case 112: makemaz("soko6-11"); return;
7664 case 113: makemaz("soko6-12"); return;
7665 case 114: makemaz("soko6-13"); return;
7666 case 115: makemaz("soko6-14"); return;
7667 case 116: makemaz("soko6-15"); return;
7668 case 117: makemaz("soko6-16"); return;
7669 case 118: makemaz("soko6-17"); return;
7670 case 119: makemaz("soko6-18"); return;
7671 case 120: makemaz("soko6-19"); return;
7672 case 121: makemaz("soko6-20"); return;
7673 case 122: makemaz("soko6-21"); return;
7674 case 123: makemaz("soko6-22"); return;
7675 case 124: makemaz("soko6-23"); return;
7676 case 125: makemaz("soko6-24"); return;
7677 case 126: makemaz("soko6-25"); return;
7678 case 127: makemaz("soko6-26"); return;
7679 case 128: makemaz("soko6-27"); return;
7680 case 129: makemaz("soko6-28"); return;
7681 case 130: makemaz("soko6-29"); return;
7682 case 131: makemaz("soko6-30"); return;
7683 case 132: makemaz("soko6-31"); return;
7684 case 133: makemaz("soko6-32"); return;
7685 case 134: makemaz("soko6-33"); return;
7686 case 135: makemaz("soko6-34"); return;
7687 case 136: makemaz("soko6-35"); return;
7688 case 137: makemaz("soko6-36"); return;
7689 case 138: makemaz("soko6-37"); return;
7690 case 139: makemaz("soko6-38"); return;
7691 case 140: makemaz("soko6-39"); return;
7692 case 141: makemaz("soko6-40"); return;
7693 case 142: makemaz("soko6-41"); return;
7694 case 143: makemaz("soko6-42"); return;
7695 case 144: makemaz("soko6-43"); return;
7696 case 145: makemaz("soko6-44"); return;
7697 case 146: makemaz("soko6-45"); return;
7698 case 147: makemaz("soko6-46"); return;
7699 case 148: makemaz("soko6-47"); return;
7700 case 149: makemaz("soko6-48"); return;
7701 case 150: makemaz("soko6-49"); return;
7702 case 151: makemaz("soko6-50"); return;
7703 case 152: makemaz("soko6-51"); return;
7705 case 153: makemaz("soko2-45"); return;
7707 case 154: makemaz("soko6-52"); return;
7710 break;
7712 case 44:
7713 case 45:
7715 switch (rnd(15)) {
7717 case 1: makemaz("mall-1"); return;
7718 case 2: makemaz("mall-2"); return;
7719 case 3: makemaz("mall-3"); return;
7720 case 4: makemaz("mall-4"); return;
7721 case 5: makemaz("mall-5"); return;
7722 case 6: makemaz("mall-6"); return;
7723 case 7: makemaz("exmall-1"); return;
7724 case 8: makemaz("exmall-2"); return;
7725 case 9: makemaz("exmall-3"); return;
7726 case 10: makemaz("exmall-4"); return;
7727 case 11: makemaz("exmall-5"); return;
7728 case 12: makemaz("exmall-6"); return;
7729 case 13: makemaz("exmall-7"); return;
7730 case 14: makemaz("exmall-8"); return;
7731 case 15: makemaz("exmall-9"); return;
7734 break;
7736 case 46:
7738 makemaz("oracleX"); return;
7739 break;
7741 case 47:
7743 switch (rnd(4)) {
7745 case 1: makemaz("erats-1"); return;
7746 case 2: makemaz("erats-2"); return;
7747 case 3: makemaz("erats-3"); return;
7748 case 4: makemaz("erats-4"); return;
7751 break;
7753 case 48:
7755 switch (rnd(6)) {
7757 case 1: makemaz("ekobol-1"); return;
7758 case 2: makemaz("ekobol-2"); return;
7759 case 3: makemaz("ekobol-3"); return;
7760 case 4: makemaz("ekobol-4"); return;
7761 case 5: makemaz("ekobol-5"); return;
7762 case 6: makemaz("ekobol-6"); return;
7765 break;
7767 case 49:
7769 switch (rnd(5)) {
7771 case 1: makemaz("enymp-1"); return;
7772 case 2: makemaz("enymp-2"); return;
7773 case 3: makemaz("enymp-3"); return;
7774 case 4: makemaz("enymp-4"); return;
7775 case 5: makemaz("enymp-5"); return;
7778 break;
7780 case 50:
7782 switch (rnd(9)) {
7784 case 1: makemaz("stor-1"); return;
7785 case 2: makemaz("stor-2"); return;
7786 case 3: makemaz("stor-3"); return;
7787 case 4: makemaz("stor-4"); return;
7788 case 5: makemaz("stor-5"); return;
7789 case 6: makemaz("stor-6"); return;
7790 case 7: makemaz("stor-7"); return;
7791 case 8: makemaz("stor-8"); return;
7792 case 9: makemaz("stor-9"); return;
7795 break;
7797 case 51:
7799 switch (rnd(8)) {
7801 case 1: makemaz("guild-1"); return;
7802 case 2: makemaz("guild-2"); return;
7803 case 3: makemaz("guild-3"); return;
7804 case 4: makemaz("guild-4"); return;
7805 case 5: makemaz("guild-5"); return;
7806 case 6: makemaz("guild-6"); return;
7807 case 7: makemaz("guild-7"); return;
7808 case 8: makemaz("guild-8"); return;
7811 break;
7813 case 52:
7815 switch (rnd(9)) {
7817 case 1: makemaz("forge"); return;
7818 case 2: makemaz("hitchE"); return;
7819 case 3: makemaz("compuE"); return;
7820 case 4: makemaz("keyE"); return;
7821 case 5: makemaz("robtn"); return;
7822 case 6: makemaz("rabhoE"); return;
7823 case 7: makemaz("machnE"); return;
7824 case 8: makemaz("orcbaE"); return;
7825 case 9: makemaz("sewpl"); return;
7828 break;
7830 case 53:
7831 case 54:
7833 switch (rnd(12)) {
7835 case 1: makemaz("emedu-1"); return;
7836 case 2: makemaz("emedu-2"); return;
7837 case 3: makemaz("emedu-3"); return;
7838 case 4: makemaz("emedu-4"); return;
7839 case 5: makemaz("emedu-5"); return;
7840 case 6: makemaz("emedu-6"); return;
7841 case 7: makemaz("emedu-7"); return;
7842 case 8: makemaz("emedu-8"); return;
7843 case 9: makemaz("emedu-9"); return;
7844 case 10: makemaz("emedu-10"); return;
7845 case 11: makemaz("emedu-11"); return;
7846 case 12: makemaz("emedu-12"); return;
7849 break;
7851 case 55:
7852 case 56:
7854 switch (rnd(15)) {
7856 case 1: makemaz("ecstl-1"); return;
7857 case 2: makemaz("ecstl-2"); return;
7858 case 3: makemaz("ecstl-3"); return;
7859 case 4: makemaz("ecstl-4"); return;
7860 case 5: makemaz("ecstl-5"); return;
7861 case 6: makemaz("ecstl-6"); return;
7862 case 7: makemaz("ecstl-7"); return;
7863 case 8: makemaz("ecstl-8"); return;
7864 case 9: makemaz("ecstl-9"); return;
7865 case 10: makemaz("ecstl-10"); return;
7866 case 11: makemaz("ecstl-11"); return;
7867 case 12: makemaz("ecstl-12"); return;
7868 case 13: makemaz("ecstl-13"); return;
7869 case 14: makemaz("ecstl-14"); return;
7870 case 15: makemaz("ecstl-15"); return;
7873 break;
7875 case 57:
7876 case 58:
7877 case 59:
7878 case 60:
7879 case 61:
7881 switch (rnd(88)) {
7883 case 1: makemaz("egehn-1"); return;
7884 case 2: makemaz("egehn-2"); return;
7885 case 3: makemaz("egehn-3"); return;
7886 case 4: makemaz("egehn-4"); return;
7887 case 5: makemaz("egehn-5"); return;
7888 case 6: makemaz("egehn-6"); return;
7889 case 7: makemaz("egehn-7"); return;
7890 case 8: makemaz("egehn-8"); return;
7891 case 9: makemaz("egehn-9"); return;
7892 case 10: makemaz("egehn-10"); return;
7893 case 11: makemaz("egehn-11"); return;
7894 case 12: makemaz("egehn-12"); return;
7895 case 13: makemaz("egehn-13"); return;
7896 case 14: makemaz("egehn-14"); return;
7897 case 15: makemaz("egehn-15"); return;
7898 case 16: makemaz("egehn-16"); return;
7899 case 17: makemaz("egehn-17"); return;
7900 case 18: makemaz("egehn-18"); return;
7901 case 19: makemaz("egehn-19"); return;
7902 case 20: makemaz("egehn-20"); return;
7903 case 21: makemaz("egehn-21"); return;
7904 case 22: makemaz("egehn-22"); return;
7905 case 23: makemaz("egehn-23"); return;
7906 case 24: makemaz("egehn-24"); return;
7907 case 25: makemaz("egehn-25"); return;
7908 case 26: makemaz("egehn-26"); return;
7909 case 27: makemaz("egehn-27"); return;
7910 case 28: makemaz("egehn-28"); return;
7911 case 29: makemaz("egehn-29"); return;
7912 case 30: makemaz("egehn-30"); return;
7913 case 31: makemaz("egehn-31"); return;
7914 case 32: makemaz("egehn-32"); return;
7915 case 33: makemaz("egehn-33"); return;
7916 case 34: makemaz("egehn-34"); return;
7917 case 35: makemaz("egehn-35"); return;
7918 case 36: makemaz("egehn-36"); return;
7919 case 37: makemaz("egehn-37"); return;
7920 case 38: makemaz("egehn-38"); return;
7921 case 39: makemaz("egehn-39"); return;
7922 case 40: makemaz("egehn-40"); return;
7923 case 41: makemaz("egehn-41"); return;
7924 case 42: makemaz("egehn-42"); return;
7925 case 43: makemaz("egehn-43"); return;
7926 case 44: makemaz("egehn-44"); return;
7927 case 45: makemaz("egehn-45"); return;
7928 case 46: makemaz("egehn-46"); return;
7929 case 47: makemaz("egehn-47"); return;
7930 case 48: makemaz("egehn-48"); return;
7931 case 49: makemaz("egehn-49"); return;
7932 case 50: makemaz("egehn-50"); return;
7933 case 51: makemaz("egehn-51"); return;
7934 case 52: makemaz("egehn-52"); return;
7935 case 53: makemaz("egehn-53"); return;
7936 case 54: makemaz("egehn-54"); return;
7937 case 55: makemaz("egehn-55"); return;
7938 case 56: makemaz("egehn-56"); return;
7939 case 57: makemaz("egehn-57"); return;
7940 case 58: makemaz("egehn-58"); return;
7941 case 59: makemaz("egehn-59"); return;
7942 case 60: makemaz("egehn-60"); return;
7943 case 61: makemaz("egehn-61"); return;
7944 case 62: makemaz("egehn-62"); return;
7945 case 63: makemaz("egehn-63"); return;
7946 case 64: makemaz("egehn-64"); return;
7947 case 65: makemaz("egehn-65"); return;
7948 case 66: makemaz("egehn-66"); return;
7949 case 67: makemaz("egehn-67"); return;
7950 case 68: makemaz("egehn-68"); return;
7951 case 69: makemaz("egehn-69"); return;
7952 case 70: makemaz("egehn-70"); return;
7953 case 71: makemaz("egehn-71"); return;
7954 case 72: makemaz("egehn-72"); return;
7955 case 73: makemaz("egehn-73"); return;
7956 case 74: makemaz("egehn-74"); return;
7957 case 75: makemaz("egehn-75"); return;
7958 case 76: makemaz("egehn-76"); return;
7959 case 77: makemaz("egehn-77"); return;
7960 case 78: makemaz("egehn-78"); return;
7961 case 79: makemaz("egehn-79"); return;
7962 case 80: makemaz("egehn-80"); return;
7963 case 81: makemaz("egehn-81"); return;
7964 case 82: makemaz("egehn-82"); return;
7965 case 83: makemaz("egehn-83"); return;
7966 case 84: makemaz("egehn-84"); return;
7967 case 85: makemaz("egehn-85"); return;
7968 case 86: makemaz("egehn-86"); return;
7969 case 87: makemaz("egehn-87"); return;
7970 case 88: makemaz("egehn-88"); return;
7973 break;
7975 case 62:
7977 makemaz("schoolX"); return;
7978 break;
7980 case 63:
7982 switch (rnd(4)) {
7984 case 1: makemaz("etown-1"); return;
7985 case 2: makemaz("etown-2"); return;
7986 case 3: makemaz("etown-3"); return;
7987 case 4: makemaz("etown-4"); return;
7990 break;
7992 case 64:
7994 switch (rnd(3)) {
7996 case 1: makemaz("egrund-1"); return;
7997 case 2: makemaz("egrund-2"); return;
7998 case 3: makemaz("egrund-3"); return;
8001 break;
8003 case 65:
8005 switch (rnd(3)) {
8007 case 1: makemaz("eknox-1"); return;
8008 case 2: makemaz("eknox-2"); return;
8009 case 3: makemaz("eknox-3"); return;
8012 break;
8014 case 66:
8016 makemaz("dragons"); return;
8017 break;
8019 case 67:
8021 makemaz("etomb"); return;
8022 break;
8024 case 68:
8026 makemaz("espiders"); return;
8027 break;
8029 case 69:
8031 makemaz("esea"); return;
8032 break;
8034 case 70:
8036 makemaz("emtemple"); return;
8037 break;
8039 case 71:
8040 case 72:
8041 case 73:
8043 switch (rnd(22)) {
8045 case 1: makemaz("esheo-1"); return;
8046 case 2: makemaz("esheo-2"); return;
8047 case 3: makemaz("esheo-3"); return;
8048 case 4: makemaz("esheo-4"); return;
8049 case 5: makemaz("esheo-5"); return;
8050 case 6: makemaz("esheo-6"); return;
8051 case 7: makemaz("esheo-7"); return;
8052 case 8: makemaz("esheo-8"); return;
8053 case 9: makemaz("esheo-9"); return;
8054 case 10: makemaz("esheo-10"); return;
8055 case 11: makemaz("esheo-11"); return;
8056 case 12: makemaz("esheo-12"); return;
8057 case 13: makemaz("esheo-13"); return;
8058 case 14: makemaz("esheo-14"); return;
8059 case 15: makemaz("esheo-15"); return;
8060 case 16: makemaz("esheo-16"); return;
8061 case 17: makemaz("esheo-17"); return;
8062 case 18: makemaz("esheo-18"); return;
8063 case 19: makemaz("esheo-19"); return;
8064 case 20: makemaz("esheo-20"); return;
8065 case 21: makemaz("esheo-21"); return;
8066 case 22: makemaz("esheo-22"); return;
8069 break;
8071 case 74:
8072 case 75:
8073 case 76:
8074 case 77:
8075 case 78:
8076 case 79:
8077 case 80:
8078 case 81:
8079 case 82:
8080 case 83:
8081 case 84:
8082 case 85:
8083 case 86:
8084 case 87:
8085 case 88:
8086 case 89:
8087 case 90:
8088 case 91:
8089 case 92:
8090 case 93:
8092 switch (rnd(870)) {
8094 case 1: makemaz("Aci-1"); return;
8095 case 2: makemaz("Aci-2"); return;
8096 case 3: makemaz("Aci-3"); return;
8097 case 4: makemaz("Aci-4"); return;
8098 case 5: makemaz("Aci-5"); return;
8099 case 6: makemaz("Act-1"); return;
8100 case 7: makemaz("Act-2"); return;
8101 case 8: makemaz("Act-3"); return;
8102 case 9: makemaz("Act-4"); return;
8103 case 10: makemaz("Act-5"); return;
8104 case 11: makemaz("Alt-1"); return;
8105 case 12: makemaz("Alt-2"); return;
8106 case 13: makemaz("Alt-3"); return;
8107 case 14: makemaz("Alt-4"); return;
8108 case 15: makemaz("Alt-5"); return;
8109 case 16: makemaz("Ama-1"); return;
8110 case 17: makemaz("Ama-2"); return;
8111 case 18: makemaz("Ama-3"); return;
8112 case 19: makemaz("Ama-4"); return;
8113 case 20: makemaz("Ama-5"); return;
8114 case 21: makemaz("Arc-1"); return;
8115 case 22: makemaz("Arc-2"); return;
8116 case 23: makemaz("Arc-3"); return;
8117 case 24: makemaz("Arc-4"); return;
8118 case 25: makemaz("Arc-5"); return;
8119 case 26: makemaz("Art-1"); return;
8120 case 27: makemaz("Art-2"); return;
8121 case 28: makemaz("Art-3"); return;
8122 case 29: makemaz("Art-4"); return;
8123 case 30: makemaz("Art-5"); return;
8124 case 31: makemaz("Ass-1"); return;
8125 case 32: makemaz("Ass-2"); return;
8126 case 33: makemaz("Ass-3"); return;
8127 case 34: makemaz("Ass-4"); return;
8128 case 35: makemaz("Ass-5"); return;
8129 case 36: makemaz("Aug-1"); return;
8130 case 37: makemaz("Aug-2"); return;
8131 case 38: makemaz("Aug-3"); return;
8132 case 39: makemaz("Aug-4"); return;
8133 case 40: makemaz("Aug-5"); return;
8134 case 41: makemaz("Bar-1"); return;
8135 case 42: makemaz("Bar-2"); return;
8136 case 43: makemaz("Bar-3"); return;
8137 case 44: makemaz("Bar-4"); return;
8138 case 45: makemaz("Bar-5"); return;
8139 case 46: makemaz("Brd-1"); return;
8140 case 47: makemaz("Brd-2"); return;
8141 case 48: makemaz("Brd-3"); return;
8142 case 49: makemaz("Brd-4"); return;
8143 case 50: makemaz("Brd-5"); return;
8144 case 51: makemaz("Bin-1"); return;
8145 case 52: makemaz("Bin-2"); return;
8146 case 53: makemaz("Bin-3"); return;
8147 case 54: makemaz("Bin-4"); return;
8148 case 55: makemaz("Bin-5"); return;
8149 case 56: makemaz("Ble-1"); return;
8150 case 57: makemaz("Ble-2"); return;
8151 case 58: makemaz("Ble-3"); return;
8152 case 59: makemaz("Ble-4"); return;
8153 case 60: makemaz("Ble-5"); return;
8154 case 61: makemaz("Blo-1"); return;
8155 case 62: makemaz("Blo-2"); return;
8156 case 63: makemaz("Blo-3"); return;
8157 case 64: makemaz("Blo-4"); return;
8158 case 65: makemaz("Blo-5"); return;
8159 case 66: makemaz("Bos-1"); return;
8160 case 67: makemaz("Bos-2"); return;
8161 case 68: makemaz("Bos-3"); return;
8162 case 69: makemaz("Bos-4"); return;
8163 case 70: makemaz("Bos-5"); return;
8164 case 71: makemaz("Bul-1"); return;
8165 case 72: makemaz("Bul-2"); return;
8166 case 73: makemaz("Bul-3"); return;
8167 case 74: makemaz("Bul-4"); return;
8168 case 75: makemaz("Bul-5"); return;
8169 case 76: makemaz("Cav-1"); return;
8170 case 77: makemaz("Cav-2"); return;
8171 case 78: makemaz("Cav-3"); return;
8172 case 79: makemaz("Cav-4"); return;
8173 case 80: makemaz("Cav-5"); return;
8174 case 81: makemaz("Che-1"); return;
8175 case 82: makemaz("Che-2"); return;
8176 case 83: makemaz("Che-3"); return;
8177 case 84: makemaz("Che-4"); return;
8178 case 85: makemaz("Che-5"); return;
8179 case 86: makemaz("Con-1"); return;
8180 case 87: makemaz("Con-2"); return;
8181 case 88: makemaz("Con-3"); return;
8182 case 89: makemaz("Con-4"); return;
8183 case 90: makemaz("Con-5"); return;
8184 case 91: makemaz("Coo-1"); return;
8185 case 92: makemaz("Coo-2"); return;
8186 case 93: makemaz("Coo-3"); return;
8187 case 94: makemaz("Coo-4"); return;
8188 case 95: makemaz("Coo-5"); return;
8189 case 96: makemaz("Cou-1"); return;
8190 case 97: makemaz("Cou-2"); return;
8191 case 98: makemaz("Cou-3"); return;
8192 case 99: makemaz("Cou-4"); return;
8193 case 100: makemaz("Cou-5"); return;
8194 case 101: makemaz("Abu-1"); return;
8195 case 102: makemaz("Abu-2"); return;
8196 case 103: makemaz("Abu-3"); return;
8197 case 104: makemaz("Abu-4"); return;
8198 case 105: makemaz("Abu-5"); return;
8199 case 106: makemaz("Dea-1"); return;
8200 case 107: makemaz("Dea-2"); return;
8201 case 108: makemaz("Dea-3"); return;
8202 case 109: makemaz("Dea-4"); return;
8203 case 110: makemaz("Dea-5"); return;
8204 case 111: makemaz("Div-1"); return;
8205 case 112: makemaz("Div-2"); return;
8206 case 113: makemaz("Div-3"); return;
8207 case 114: makemaz("Div-4"); return;
8208 case 115: makemaz("Div-5"); return;
8209 case 116: makemaz("Dol-1"); return;
8210 case 117: makemaz("Dol-2"); return;
8211 case 118: makemaz("Dol-3"); return;
8212 case 119: makemaz("Dol-4"); return;
8213 case 120: makemaz("Dol-5"); return;
8214 case 121: makemaz("Dru-1"); return;
8215 case 122: makemaz("Dru-2"); return;
8216 case 123: makemaz("Dru-3"); return;
8217 case 124: makemaz("Dru-4"); return;
8218 case 125: makemaz("Dru-5"); return;
8219 case 126: makemaz("Dun-1"); return;
8220 case 127: makemaz("Dun-2"); return;
8221 case 128: makemaz("Dun-3"); return;
8222 case 129: makemaz("Dun-4"); return;
8223 case 130: makemaz("Dun-5"); return;
8224 case 131: makemaz("Ele-1"); return;
8225 case 132: makemaz("Ele-2"); return;
8226 case 133: makemaz("Ele-3"); return;
8227 case 134: makemaz("Ele-4"); return;
8228 case 135: makemaz("Ele-5"); return;
8229 case 136: makemaz("Elp-1"); return;
8230 case 137: makemaz("Elp-2"); return;
8231 case 138: makemaz("Elp-3"); return;
8232 case 139: makemaz("Elp-4"); return;
8233 case 140: makemaz("Elp-5"); return;
8234 case 141: makemaz("Stu-1"); return;
8235 case 142: makemaz("Stu-2"); return;
8236 case 143: makemaz("Stu-3"); return;
8237 case 144: makemaz("Stu-4"); return;
8238 case 145: makemaz("Stu-5"); return;
8239 case 146: makemaz("Fir-1"); return;
8240 case 147: makemaz("Fir-2"); return;
8241 case 148: makemaz("Fir-3"); return;
8242 case 149: makemaz("Fir-4"); return;
8243 case 150: makemaz("Fir-5"); return;
8244 case 151: makemaz("Fla-1"); return;
8245 case 152: makemaz("Fla-2"); return;
8246 case 153: makemaz("Fla-3"); return;
8247 case 154: makemaz("Fla-4"); return;
8248 case 155: makemaz("Fla-5"); return;
8249 case 156: makemaz("Fox-1"); return;
8250 case 157: makemaz("Fox-2"); return;
8251 case 158: makemaz("Fox-3"); return;
8252 case 159: makemaz("Fox-4"); return;
8253 case 160: makemaz("Fox-5"); return;
8254 case 161: makemaz("Gam-1"); return;
8255 case 162: makemaz("Gam-2"); return;
8256 case 163: makemaz("Gam-3"); return;
8257 case 164: makemaz("Gam-4"); return;
8258 case 165: makemaz("Gam-5"); return;
8259 case 166: makemaz("Gan-1"); return;
8260 case 167: makemaz("Gan-2"); return;
8261 case 168: makemaz("Gan-3"); return;
8262 case 169: makemaz("Gan-4"); return;
8263 case 170: makemaz("Gan-5"); return;
8264 case 171: makemaz("Gee-1"); return;
8265 case 172: makemaz("Gee-2"); return;
8266 case 173: makemaz("Gee-3"); return;
8267 case 174: makemaz("Gee-4"); return;
8268 case 175: makemaz("Gee-5"); return;
8269 case 176: makemaz("Gla-1"); return;
8270 case 177: makemaz("Gla-2"); return;
8271 case 178: makemaz("Gla-3"); return;
8272 case 179: makemaz("Gla-4"); return;
8273 case 180: makemaz("Gla-5"); return;
8274 case 181: makemaz("Gof-1"); return;
8275 case 182: makemaz("Gof-2"); return;
8276 case 183: makemaz("Gof-3"); return;
8277 case 184: makemaz("Gof-4"); return;
8278 case 185: makemaz("Gof-5"); return;
8279 case 186: makemaz("Gra-1"); return;
8280 case 187: makemaz("Gra-2"); return;
8281 case 188: makemaz("Gra-3"); return;
8282 case 189: makemaz("Gra-4"); return;
8283 case 190: makemaz("Gra-5"); return;
8284 case 191: makemaz("Gun-1"); return;
8285 case 192: makemaz("Gun-2"); return;
8286 case 193: makemaz("Gun-3"); return;
8287 case 194: makemaz("Gun-4"); return;
8288 case 195: makemaz("Gun-5"); return;
8289 case 196: makemaz("Hea-1"); return;
8290 case 197: makemaz("Hea-2"); return;
8291 case 198: makemaz("Hea-3"); return;
8292 case 199: makemaz("Hea-4"); return;
8293 case 200: makemaz("Hea-5"); return;
8294 case 201: makemaz("Ice-1"); return;
8295 case 202: makemaz("Ice-2"); return;
8296 case 203: makemaz("Ice-3"); return;
8297 case 204: makemaz("Ice-4"); return;
8298 case 205: makemaz("Ice-5"); return;
8299 case 206: makemaz("Scr-1"); return;
8300 case 207: makemaz("Scr-2"); return;
8301 case 208: makemaz("Scr-3"); return;
8302 case 209: makemaz("Scr-4"); return;
8303 case 210: makemaz("Scr-5"); return;
8304 case 211: makemaz("Jed-1"); return;
8305 case 212: makemaz("Jed-2"); return;
8306 case 213: makemaz("Jed-3"); return;
8307 case 214: makemaz("Jed-4"); return;
8308 case 215: makemaz("Jed-5"); return;
8309 case 216: makemaz("Jes-1"); return;
8310 case 217: makemaz("Jes-2"); return;
8311 case 218: makemaz("Jes-3"); return;
8312 case 219: makemaz("Jes-4"); return;
8313 case 220: makemaz("Jes-5"); return;
8314 case 221: makemaz("Kni-1"); return;
8315 case 222: makemaz("Kni-2"); return;
8316 case 223: makemaz("Kni-3"); return;
8317 case 224: makemaz("Kni-4"); return;
8318 case 225: makemaz("Kni-5"); return;
8319 case 226: makemaz("Kor-1"); return;
8320 case 227: makemaz("Kor-2"); return;
8321 case 228: makemaz("Kor-3"); return;
8322 case 229: makemaz("Kor-4"); return;
8323 case 230: makemaz("Kor-5"); return;
8324 case 231: makemaz("Lad-1"); return;
8325 case 232: makemaz("Lad-2"); return;
8326 case 233: makemaz("Lad-3"); return;
8327 case 234: makemaz("Lad-4"); return;
8328 case 235: makemaz("Lad-5"); return;
8329 case 236: makemaz("Lib-1"); return;
8330 case 237: makemaz("Lib-2"); return;
8331 case 238: makemaz("Lib-3"); return;
8332 case 239: makemaz("Lib-4"); return;
8333 case 240: makemaz("Lib-5"); return;
8334 case 241: makemaz("Loc-1"); return;
8335 case 242: makemaz("Loc-2"); return;
8336 case 243: makemaz("Loc-3"); return;
8337 case 244: makemaz("Loc-4"); return;
8338 case 245: makemaz("Loc-5"); return;
8339 case 246: makemaz("Lun-1"); return;
8340 case 247: makemaz("Lun-2"); return;
8341 case 248: makemaz("Lun-3"); return;
8342 case 249: makemaz("Lun-4"); return;
8343 case 250: makemaz("Lun-5"); return;
8344 case 251: makemaz("Mah-1"); return;
8345 case 252: makemaz("Mah-2"); return;
8346 case 253: makemaz("Mah-3"); return;
8347 case 254: makemaz("Mah-4"); return;
8348 case 255: makemaz("Mah-5"); return;
8349 case 256: makemaz("Mon-1"); return;
8350 case 257: makemaz("Mon-2"); return;
8351 case 258: makemaz("Mon-3"); return;
8352 case 259: makemaz("Mon-4"); return;
8353 case 260: makemaz("Mon-5"); return;
8354 case 261: makemaz("Mus-1"); return;
8355 case 262: makemaz("Mus-2"); return;
8356 case 263: makemaz("Mus-3"); return;
8357 case 264: makemaz("Mus-4"); return;
8358 case 265: makemaz("Mus-5"); return;
8359 case 266: makemaz("Mys-1"); return;
8360 case 267: makemaz("Mys-2"); return;
8361 case 268: makemaz("Mys-3"); return;
8362 case 269: makemaz("Mys-4"); return;
8363 case 270: makemaz("Mys-5"); return;
8364 case 271: makemaz("Nec-1"); return;
8365 case 272: makemaz("Nec-2"); return;
8366 case 273: makemaz("Nec-3"); return;
8367 case 274: makemaz("Nec-4"); return;
8368 case 275: makemaz("Nec-5"); return;
8369 case 276: makemaz("Nin-1"); return;
8370 case 277: makemaz("Nin-2"); return;
8371 case 278: makemaz("Nin-3"); return;
8372 case 279: makemaz("Nin-4"); return;
8373 case 280: makemaz("Nin-5"); return;
8374 case 281: makemaz("Nob-1"); return;
8375 case 282: makemaz("Nob-2"); return;
8376 case 283: makemaz("Nob-3"); return;
8377 case 284: makemaz("Nob-4"); return;
8378 case 285: makemaz("Nob-5"); return;
8379 case 286: makemaz("Off-1"); return;
8380 case 287: makemaz("Off-2"); return;
8381 case 288: makemaz("Off-3"); return;
8382 case 289: makemaz("Off-4"); return;
8383 case 290: makemaz("Off-5"); return;
8384 case 291: makemaz("Ord-1"); return;
8385 case 292: makemaz("Ord-2"); return;
8386 case 293: makemaz("Ord-3"); return;
8387 case 294: makemaz("Ord-4"); return;
8388 case 295: makemaz("Ord-5"); return;
8389 case 296: makemaz("Ota-1"); return;
8390 case 297: makemaz("Ota-2"); return;
8391 case 298: makemaz("Ota-3"); return;
8392 case 299: makemaz("Ota-4"); return;
8393 case 300: makemaz("Ota-5"); return;
8394 case 301: makemaz("Pal-1"); return;
8395 case 302: makemaz("Pal-2"); return;
8396 case 303: makemaz("Pal-3"); return;
8397 case 304: makemaz("Pal-4"); return;
8398 case 305: makemaz("Pal-5"); return;
8399 case 306: makemaz("Pic-1"); return;
8400 case 307: makemaz("Pic-2"); return;
8401 case 308: makemaz("Pic-3"); return;
8402 case 309: makemaz("Pic-4"); return;
8403 case 310: makemaz("Pic-5"); return;
8404 case 311: makemaz("Pir-1"); return;
8405 case 312: makemaz("Pir-2"); return;
8406 case 313: makemaz("Pir-3"); return;
8407 case 314: makemaz("Pir-4"); return;
8408 case 315: makemaz("Pir-5"); return;
8409 case 316: makemaz("Pok-1"); return;
8410 case 317: makemaz("Pok-2"); return;
8411 case 318: makemaz("Pok-3"); return;
8412 case 319: makemaz("Pok-4"); return;
8413 case 320: makemaz("Pok-5"); return;
8414 case 321: makemaz("Pol-1"); return;
8415 case 322: makemaz("Pol-2"); return;
8416 case 323: makemaz("Pol-3"); return;
8417 case 324: makemaz("Pol-4"); return;
8418 case 325: makemaz("Pol-5"); return;
8419 case 326: makemaz("Pri-1"); return;
8420 case 327: makemaz("Pri-2"); return;
8421 case 328: makemaz("Pri-3"); return;
8422 case 329: makemaz("Pri-4"); return;
8423 case 330: makemaz("Pri-5"); return;
8424 case 331: makemaz("Psi-1"); return;
8425 case 332: makemaz("Psi-2"); return;
8426 case 333: makemaz("Psi-3"); return;
8427 case 334: makemaz("Psi-4"); return;
8428 case 335: makemaz("Psi-5"); return;
8429 case 336: makemaz("Ran-1"); return;
8430 case 337: makemaz("Ran-2"); return;
8431 case 338: makemaz("Ran-3"); return;
8432 case 339: makemaz("Ran-4"); return;
8433 case 340: makemaz("Ran-5"); return;
8434 case 341: makemaz("Roc-1"); return;
8435 case 342: makemaz("Roc-2"); return;
8436 case 343: makemaz("Roc-3"); return;
8437 case 344: makemaz("Roc-4"); return;
8438 case 345: makemaz("Roc-5"); return;
8439 case 346: makemaz("Rog-1"); return;
8440 case 347: makemaz("Rog-2"); return;
8441 case 348: makemaz("Rog-3"); return;
8442 case 349: makemaz("Rog-4"); return;
8443 case 350: makemaz("Rog-5"); return;
8444 case 351: makemaz("Sag-1"); return;
8445 case 352: makemaz("Sag-2"); return;
8446 case 353: makemaz("Sag-3"); return;
8447 case 354: makemaz("Sag-4"); return;
8448 case 355: makemaz("Sag-5"); return;
8449 case 356: makemaz("Sai-1"); return;
8450 case 357: makemaz("Sai-2"); return;
8451 case 358: makemaz("Sai-3"); return;
8452 case 359: makemaz("Sai-4"); return;
8453 case 360: makemaz("Sai-5"); return;
8454 case 361: makemaz("Sam-1"); return;
8455 case 362: makemaz("Sam-2"); return;
8456 case 363: makemaz("Sam-3"); return;
8457 case 364: makemaz("Sam-4"); return;
8458 case 365: makemaz("Sam-5"); return;
8459 case 366: makemaz("Sci-1"); return;
8460 case 367: makemaz("Sci-2"); return;
8461 case 368: makemaz("Sci-3"); return;
8462 case 369: makemaz("Sci-4"); return;
8463 case 370: makemaz("Sci-5"); return;
8464 case 371: makemaz("Sla-1"); return;
8465 case 372: makemaz("Sla-2"); return;
8466 case 373: makemaz("Sla-3"); return;
8467 case 374: makemaz("Sla-4"); return;
8468 case 375: makemaz("Sla-5"); return;
8469 case 376: makemaz("Spa-1"); return;
8470 case 377: makemaz("Spa-2"); return;
8471 case 378: makemaz("Spa-3"); return;
8472 case 379: makemaz("Spa-4"); return;
8473 case 380: makemaz("Spa-5"); return;
8474 case 381: makemaz("Sup-1"); return;
8475 case 382: makemaz("Sup-2"); return;
8476 case 383: makemaz("Sup-3"); return;
8477 case 384: makemaz("Sup-4"); return;
8478 case 385: makemaz("Sup-5"); return;
8479 case 386: makemaz("Tha-1"); return;
8480 case 387: makemaz("Tha-2"); return;
8481 case 388: makemaz("Tha-3"); return;
8482 case 389: makemaz("Tha-4"); return;
8483 case 390: makemaz("Tha-5"); return;
8484 case 391: makemaz("Top-1"); return;
8485 case 392: makemaz("Top-2"); return;
8486 case 393: makemaz("Top-3"); return;
8487 case 394: makemaz("Top-4"); return;
8488 case 395: makemaz("Top-5"); return;
8489 case 396: makemaz("Tou-1"); return;
8490 case 397: makemaz("Tou-2"); return;
8491 case 398: makemaz("Tou-3"); return;
8492 case 399: makemaz("Tou-4"); return;
8493 case 400: makemaz("Tou-5"); return;
8494 case 401: makemaz("Tra-1"); return;
8495 case 402: makemaz("Tra-2"); return;
8496 case 403: makemaz("Tra-3"); return;
8497 case 404: makemaz("Tra-4"); return;
8498 case 405: makemaz("Tra-5"); return;
8499 case 406: makemaz("Und-1"); return;
8500 case 407: makemaz("Und-2"); return;
8501 case 408: makemaz("Und-3"); return;
8502 case 409: makemaz("Und-4"); return;
8503 case 410: makemaz("Und-5"); return;
8504 case 411: makemaz("Unt-1"); return;
8505 case 412: makemaz("Unt-2"); return;
8506 case 413: makemaz("Unt-3"); return;
8507 case 414: makemaz("Unt-4"); return;
8508 case 415: makemaz("Unt-5"); return;
8509 case 416: makemaz("Val-1"); return;
8510 case 417: makemaz("Val-2"); return;
8511 case 418: makemaz("Val-3"); return;
8512 case 419: makemaz("Val-4"); return;
8513 case 420: makemaz("Val-5"); return;
8514 case 421: makemaz("Wan-1"); return;
8515 case 422: makemaz("Wan-2"); return;
8516 case 423: makemaz("Wan-3"); return;
8517 case 424: makemaz("Wan-4"); return;
8518 case 425: makemaz("Wan-5"); return;
8519 case 426: makemaz("War-1"); return;
8520 case 427: makemaz("War-2"); return;
8521 case 428: makemaz("War-3"); return;
8522 case 429: makemaz("War-4"); return;
8523 case 430: makemaz("War-5"); return;
8524 case 431: makemaz("Wiz-1"); return;
8525 case 432: makemaz("Wiz-2"); return;
8526 case 433: makemaz("Wiz-3"); return;
8527 case 434: makemaz("Wiz-4"); return;
8528 case 435: makemaz("Wiz-5"); return;
8529 case 436: makemaz("Yeo-1"); return;
8530 case 437: makemaz("Yeo-2"); return;
8531 case 438: makemaz("Yeo-3"); return;
8532 case 439: makemaz("Yeo-4"); return;
8533 case 440: makemaz("Yeo-5"); return;
8534 case 441: makemaz("Zoo-1"); return;
8535 case 442: makemaz("Zoo-2"); return;
8536 case 443: makemaz("Zoo-3"); return;
8537 case 444: makemaz("Zoo-4"); return;
8538 case 445: makemaz("Zoo-5"); return;
8539 case 446: makemaz("Zyb-1"); return;
8540 case 447: makemaz("Zyb-2"); return;
8541 case 448: makemaz("Zyb-3"); return;
8542 case 449: makemaz("Zyb-4"); return;
8543 case 450: makemaz("Zyb-5"); return;
8544 case 451: makemaz("Ana-1"); return;
8545 case 452: makemaz("Ana-2"); return;
8546 case 453: makemaz("Ana-3"); return;
8547 case 454: makemaz("Ana-4"); return;
8548 case 455: makemaz("Ana-5"); return;
8549 case 456: makemaz("Cam-1"); return;
8550 case 457: makemaz("Cam-2"); return;
8551 case 458: makemaz("Cam-3"); return;
8552 case 459: makemaz("Cam-4"); return;
8553 case 460: makemaz("Cam-5"); return;
8554 case 461: makemaz("Mar-1"); return;
8555 case 462: makemaz("Mar-2"); return;
8556 case 463: makemaz("Mar-3"); return;
8557 case 464: makemaz("Mar-4"); return;
8558 case 465: makemaz("Mar-5"); return;
8559 case 466: makemaz("Sli-1"); return;
8560 case 467: makemaz("Sli-2"); return;
8561 case 468: makemaz("Sli-3"); return;
8562 case 469: makemaz("Sli-4"); return;
8563 case 470: makemaz("Sli-5"); return;
8564 case 471: makemaz("Drd-1"); return;
8565 case 472: makemaz("Drd-2"); return;
8566 case 473: makemaz("Drd-3"); return;
8567 case 474: makemaz("Drd-4"); return;
8568 case 475: makemaz("Drd-5"); return;
8569 case 476: makemaz("Erd-1"); return;
8570 case 477: makemaz("Erd-2"); return;
8571 case 478: makemaz("Erd-3"); return;
8572 case 479: makemaz("Erd-4"); return;
8573 case 480: makemaz("Erd-5"); return;
8574 case 481: makemaz("Fai-1"); return;
8575 case 482: makemaz("Fai-2"); return;
8576 case 483: makemaz("Fai-3"); return;
8577 case 484: makemaz("Fai-4"); return;
8578 case 485: makemaz("Fai-5"); return;
8579 case 486: makemaz("Fen-1"); return;
8580 case 487: makemaz("Fen-2"); return;
8581 case 488: makemaz("Fen-3"); return;
8582 case 489: makemaz("Fen-4"); return;
8583 case 490: makemaz("Fen-5"); return;
8584 case 491: makemaz("Fig-1"); return;
8585 case 492: makemaz("Fig-2"); return;
8586 case 493: makemaz("Fig-3"); return;
8587 case 494: makemaz("Fig-4"); return;
8588 case 495: makemaz("Fig-5"); return;
8589 case 496: makemaz("Gol-1"); return;
8590 case 497: makemaz("Gol-2"); return;
8591 case 498: makemaz("Gol-3"); return;
8592 case 499: makemaz("Gol-4"); return;
8593 case 500: makemaz("Gol-5"); return;
8594 case 501: makemaz("Jus-1"); return;
8595 case 502: makemaz("Jus-2"); return;
8596 case 503: makemaz("Jus-3"); return;
8597 case 504: makemaz("Jus-4"); return;
8598 case 505: makemaz("Jus-5"); return;
8599 case 506: makemaz("Med-1"); return;
8600 case 507: makemaz("Med-2"); return;
8601 case 508: makemaz("Med-3"); return;
8602 case 509: makemaz("Med-4"); return;
8603 case 510: makemaz("Med-5"); return;
8604 case 511: makemaz("Mid-1"); return;
8605 case 512: makemaz("Mid-2"); return;
8606 case 513: makemaz("Mid-3"); return;
8607 case 514: makemaz("Mid-4"); return;
8608 case 515: makemaz("Mid-5"); return;
8609 case 516: makemaz("Mur-1"); return;
8610 case 517: makemaz("Mur-2"); return;
8611 case 518: makemaz("Mur-3"); return;
8612 case 519: makemaz("Mur-4"); return;
8613 case 520: makemaz("Mur-5"); return;
8614 case 521: makemaz("Poi-1"); return;
8615 case 522: makemaz("Poi-2"); return;
8616 case 523: makemaz("Poi-3"); return;
8617 case 524: makemaz("Poi-4"); return;
8618 case 525: makemaz("Poi-5"); return;
8619 case 526: makemaz("Rin-1"); return;
8620 case 527: makemaz("Rin-2"); return;
8621 case 528: makemaz("Rin-3"); return;
8622 case 529: makemaz("Rin-4"); return;
8623 case 530: makemaz("Rin-5"); return;
8624 case 531: makemaz("Sha-1"); return;
8625 case 532: makemaz("Sha-2"); return;
8626 case 533: makemaz("Sha-3"); return;
8627 case 534: makemaz("Sha-4"); return;
8628 case 535: makemaz("Sha-5"); return;
8629 case 536: makemaz("Twe-1"); return;
8630 case 537: makemaz("Twe-2"); return;
8631 case 538: makemaz("Twe-3"); return;
8632 case 539: makemaz("Twe-4"); return;
8633 case 540: makemaz("Twe-5"); return;
8634 case 541: makemaz("Use-1"); return;
8635 case 542: makemaz("Use-2"); return;
8636 case 543: makemaz("Use-3"); return;
8637 case 544: makemaz("Use-4"); return;
8638 case 545: makemaz("Use-5"); return;
8639 case 546: makemaz("Sex-1"); return;
8640 case 547: makemaz("Sex-2"); return;
8641 case 548: makemaz("Sex-3"); return;
8642 case 549: makemaz("Sex-4"); return;
8643 case 550: makemaz("Sex-5"); return;
8644 case 551: makemaz("Unb-1"); return;
8645 case 552: makemaz("Unb-2"); return;
8646 case 553: makemaz("Unb-3"); return;
8647 case 554: makemaz("Unb-4"); return;
8648 case 555: makemaz("Unb-5"); return;
8649 case 556: makemaz("Trs-1"); return;
8650 case 557: makemaz("Trs-2"); return;
8651 case 558: makemaz("Trs-3"); return;
8652 case 559: makemaz("Trs-4"); return;
8653 case 560: makemaz("Trs-5"); return;
8654 case 561: makemaz("Cha-1"); return;
8655 case 562: makemaz("Cha-2"); return;
8656 case 563: makemaz("Cha-3"); return;
8657 case 564: makemaz("Cha-4"); return;
8658 case 565: makemaz("Cha-5"); return;
8659 case 566: makemaz("Elm-1"); return;
8660 case 567: makemaz("Elm-2"); return;
8661 case 568: makemaz("Elm-3"); return;
8662 case 569: makemaz("Elm-4"); return;
8663 case 570: makemaz("Elm-5"); return;
8664 case 571: makemaz("Wil-1"); return;
8665 case 572: makemaz("Wil-2"); return;
8666 case 573: makemaz("Wil-3"); return;
8667 case 574: makemaz("Wil-4"); return;
8668 case 575: makemaz("Wil-5"); return;
8669 case 576: makemaz("Occ-1"); return;
8670 case 577: makemaz("Occ-2"); return;
8671 case 578: makemaz("Occ-3"); return;
8672 case 579: makemaz("Occ-4"); return;
8673 case 580: makemaz("Occ-5"); return;
8674 case 581: makemaz("Pro-1"); return;
8675 case 582: makemaz("Pro-2"); return;
8676 case 583: makemaz("Pro-3"); return;
8677 case 584: makemaz("Pro-4"); return;
8678 case 585: makemaz("Pro-5"); return;
8679 case 586: makemaz("Kur-1"); return;
8680 case 587: makemaz("Kur-2"); return;
8681 case 588: makemaz("Kur-3"); return;
8682 case 589: makemaz("Kur-4"); return;
8683 case 590: makemaz("Kur-5"); return;
8684 case 591: makemaz("For-1"); return;
8685 case 592: makemaz("For-2"); return;
8686 case 593: makemaz("For-3"); return;
8687 case 594: makemaz("For-4"); return;
8688 case 595: makemaz("For-5"); return;
8689 case 596: makemaz("Trc-1"); return;
8690 case 597: makemaz("Trc-2"); return;
8691 case 598: makemaz("Trc-3"); return;
8692 case 599: makemaz("Trc-4"); return;
8693 case 600: makemaz("Trc-5"); return;
8694 case 601: makemaz("Nuc-1"); return;
8695 case 602: makemaz("Nuc-2"); return;
8696 case 603: makemaz("Nuc-3"); return;
8697 case 604: makemaz("Nuc-4"); return;
8698 case 605: makemaz("Nuc-5"); return;
8699 case 606: makemaz("Sco-1"); return;
8700 case 607: makemaz("Sco-2"); return;
8701 case 608: makemaz("Sco-3"); return;
8702 case 609: makemaz("Sco-4"); return;
8703 case 610: makemaz("Sco-5"); return;
8704 case 611: makemaz("Fem-1"); return;
8705 case 612: makemaz("Fem-2"); return;
8706 case 613: makemaz("Fem-3"); return;
8707 case 614: makemaz("Fem-4"); return;
8708 case 615: makemaz("Fem-5"); return;
8709 case 616: makemaz("Hus-1"); return;
8710 case 617: makemaz("Hus-2"); return;
8711 case 618: makemaz("Hus-3"); return;
8712 case 619: makemaz("Hus-4"); return;
8713 case 620: makemaz("Hus-5"); return;
8714 case 621: makemaz("Acu-1"); return;
8715 case 622: makemaz("Acu-2"); return;
8716 case 623: makemaz("Acu-3"); return;
8717 case 624: makemaz("Acu-4"); return;
8718 case 625: makemaz("Acu-5"); return;
8719 case 626: makemaz("Mas-1"); return;
8720 case 627: makemaz("Mas-2"); return;
8721 case 628: makemaz("Mas-3"); return;
8722 case 629: makemaz("Mas-4"); return;
8723 case 630: makemaz("Mas-5"); return;
8724 case 631: makemaz("Gre-1"); return;
8725 case 632: makemaz("Gre-2"); return;
8726 case 633: makemaz("Gre-3"); return;
8727 case 634: makemaz("Gre-4"); return;
8728 case 635: makemaz("Gre-5"); return;
8729 case 636: makemaz("Cel-1"); return;
8730 case 637: makemaz("Cel-2"); return;
8731 case 638: makemaz("Cel-3"); return;
8732 case 639: makemaz("Cel-4"); return;
8733 case 640: makemaz("Cel-5"); return;
8734 case 641: makemaz("Wal-1"); return;
8735 case 642: makemaz("Wal-2"); return;
8736 case 643: makemaz("Wal-3"); return;
8737 case 644: makemaz("Wal-4"); return;
8738 case 645: makemaz("Wal-5"); return;
8739 case 646: makemaz("Soc-1"); return;
8740 case 647: makemaz("Soc-2"); return;
8741 case 648: makemaz("Soc-3"); return;
8742 case 649: makemaz("Soc-4"); return;
8743 case 650: makemaz("Soc-5"); return;
8744 case 651: makemaz("Dem-1"); return;
8745 case 652: makemaz("Dem-2"); return;
8746 case 653: makemaz("Dem-3"); return;
8747 case 654: makemaz("Dem-4"); return;
8748 case 655: makemaz("Dem-5"); return;
8749 case 656: makemaz("Dis-1"); return;
8750 case 657: makemaz("Dis-2"); return;
8751 case 658: makemaz("Dis-3"); return;
8752 case 659: makemaz("Dis-4"); return;
8753 case 660: makemaz("Dis-5"); return;
8754 case 661: makemaz("Sto-1"); return;
8755 case 662: makemaz("Sto-2"); return;
8756 case 663: makemaz("Sto-3"); return;
8757 case 664: makemaz("Sto-4"); return;
8758 case 665: makemaz("Sto-5"); return;
8759 case 666: makemaz("Mam-1"); return;
8760 case 667: makemaz("Mam-2"); return;
8761 case 668: makemaz("Mam-3"); return;
8762 case 669: makemaz("Mam-4"); return;
8763 case 670: makemaz("Mam-5"); return;
8764 case 671: makemaz("Jan-1"); return;
8765 case 672: makemaz("Jan-2"); return;
8766 case 673: makemaz("Jan-3"); return;
8767 case 674: makemaz("Jan-4"); return;
8768 case 675: makemaz("Jan-5"); return;
8769 case 676: makemaz("Emp-1"); return;
8770 case 677: makemaz("Emp-2"); return;
8771 case 678: makemaz("Emp-3"); return;
8772 case 679: makemaz("Emp-4"); return;
8773 case 680: makemaz("Emp-5"); return;
8774 case 681: makemaz("Psy-1"); return;
8775 case 682: makemaz("Psy-2"); return;
8776 case 683: makemaz("Psy-3"); return;
8777 case 684: makemaz("Psy-4"); return;
8778 case 685: makemaz("Psy-5"); return;
8779 case 686: makemaz("Qua-1"); return;
8780 case 687: makemaz("Qua-2"); return;
8781 case 688: makemaz("Qua-3"); return;
8782 case 689: makemaz("Qua-4"); return;
8783 case 690: makemaz("Qua-5"); return;
8784 case 691: makemaz("Cra-1"); return;
8785 case 692: makemaz("Cra-2"); return;
8786 case 693: makemaz("Cra-3"); return;
8787 case 694: makemaz("Cra-4"); return;
8788 case 695: makemaz("Cra-5"); return;
8789 case 696: makemaz("Wei-1"); return;
8790 case 697: makemaz("Wei-2"); return;
8791 case 698: makemaz("Wei-3"); return;
8792 case 699: makemaz("Wei-4"); return;
8793 case 700: makemaz("Wei-5"); return;
8794 case 701: makemaz("Xel-1"); return;
8795 case 702: makemaz("Xel-2"); return;
8796 case 703: makemaz("Xel-3"); return;
8797 case 704: makemaz("Xel-4"); return;
8798 case 705: makemaz("Xel-5"); return;
8799 case 706: makemaz("Yau-1"); return;
8800 case 707: makemaz("Yau-2"); return;
8801 case 708: makemaz("Yau-3"); return;
8802 case 709: makemaz("Yau-4"); return;
8803 case 710: makemaz("Yau-5"); return;
8804 case 711: makemaz("Sof-1"); return;
8805 case 712: makemaz("Sof-2"); return;
8806 case 713: makemaz("Sof-3"); return;
8807 case 714: makemaz("Sof-4"); return;
8808 case 715: makemaz("Sof-5"); return;
8809 case 716: makemaz("Ast-1"); return;
8810 case 717: makemaz("Ast-2"); return;
8811 case 718: makemaz("Ast-3"); return;
8812 case 719: makemaz("Ast-4"); return;
8813 case 720: makemaz("Ast-5"); return;
8814 case 721: makemaz("Sma-1"); return;
8815 case 722: makemaz("Sma-2"); return;
8816 case 723: makemaz("Sma-3"); return;
8817 case 724: makemaz("Sma-4"); return;
8818 case 725: makemaz("Sma-5"); return;
8819 case 726: makemaz("Cyb-1"); return;
8820 case 727: makemaz("Cyb-2"); return;
8821 case 728: makemaz("Cyb-3"); return;
8822 case 729: makemaz("Cyb-4"); return;
8823 case 730: makemaz("Cyb-5"); return;
8824 case 731: makemaz("Tos-1"); return;
8825 case 732: makemaz("Tos-2"); return;
8826 case 733: makemaz("Tos-3"); return;
8827 case 734: makemaz("Tos-4"); return;
8828 case 735: makemaz("Tos-5"); return;
8829 case 736: makemaz("Sym-1"); return;
8830 case 737: makemaz("Sym-2"); return;
8831 case 738: makemaz("Sym-3"); return;
8832 case 739: makemaz("Sym-4"); return;
8833 case 740: makemaz("Sym-5"); return;
8834 case 741: makemaz("Pra-1"); return;
8835 case 742: makemaz("Pra-2"); return;
8836 case 743: makemaz("Pra-3"); return;
8837 case 744: makemaz("Pra-4"); return;
8838 case 745: makemaz("Pra-5"); return;
8839 case 746: makemaz("Mil-1"); return;
8840 case 747: makemaz("Mil-2"); return;
8841 case 748: makemaz("Mil-3"); return;
8842 case 749: makemaz("Mil-4"); return;
8843 case 750: makemaz("Mil-5"); return;
8844 case 751: makemaz("Gen-1"); return;
8845 case 752: makemaz("Gen-2"); return;
8846 case 753: makemaz("Gen-3"); return;
8847 case 754: makemaz("Gen-4"); return;
8848 case 755: makemaz("Gen-5"); return;
8849 case 756: makemaz("Fjo-1"); return;
8850 case 757: makemaz("Fjo-2"); return;
8851 case 758: makemaz("Fjo-3"); return;
8852 case 759: makemaz("Fjo-4"); return;
8853 case 760: makemaz("Fjo-5"); return;
8854 case 761: makemaz("Eme-1"); return;
8855 case 762: makemaz("Eme-2"); return;
8856 case 763: makemaz("Eme-3"); return;
8857 case 764: makemaz("Eme-4"); return;
8858 case 765: makemaz("Eme-5"); return;
8859 case 766: makemaz("Com-1"); return;
8860 case 767: makemaz("Com-2"); return;
8861 case 768: makemaz("Com-3"); return;
8862 case 769: makemaz("Com-4"); return;
8863 case 770: makemaz("Com-5"); return;
8864 case 771: makemaz("Akl-1"); return;
8865 case 772: makemaz("Akl-2"); return;
8866 case 773: makemaz("Akl-3"); return;
8867 case 774: makemaz("Akl-4"); return;
8868 case 775: makemaz("Akl-5"); return;
8869 case 776: makemaz("Dra-1"); return;
8870 case 777: makemaz("Dra-2"); return;
8871 case 778: makemaz("Dra-3"); return;
8872 case 779: makemaz("Dra-4"); return;
8873 case 780: makemaz("Dra-5"); return;
8874 case 781: makemaz("Car-1"); return;
8875 case 782: makemaz("Car-2"); return;
8876 case 783: makemaz("Car-3"); return;
8877 case 784: makemaz("Car-4"); return;
8878 case 785: makemaz("Car-5"); return;
8879 case 786: makemaz("But-1"); return;
8880 case 787: makemaz("But-2"); return;
8881 case 788: makemaz("But-3"); return;
8882 case 789: makemaz("But-4"); return;
8883 case 790: makemaz("But-5"); return;
8884 case 791: makemaz("Dan-1"); return;
8885 case 792: makemaz("Dan-2"); return;
8886 case 793: makemaz("Dan-3"); return;
8887 case 794: makemaz("Dan-4"); return;
8888 case 795: makemaz("Dan-5"); return;
8889 case 796: makemaz("Dia-1"); return;
8890 case 797: makemaz("Dia-2"); return;
8891 case 798: makemaz("Dia-3"); return;
8892 case 799: makemaz("Dia-4"); return;
8893 case 800: makemaz("Dia-5"); return;
8894 case 801: makemaz("Pre-1"); return;
8895 case 802: makemaz("Pre-2"); return;
8896 case 803: makemaz("Pre-3"); return;
8897 case 804: makemaz("Pre-4"); return;
8898 case 805: makemaz("Pre-5"); return;
8899 case 806: makemaz("Sec-1"); return;
8900 case 807: makemaz("Sec-2"); return;
8901 case 808: makemaz("Sec-3"); return;
8902 case 809: makemaz("Sec-4"); return;
8903 case 810: makemaz("Sec-5"); return;
8904 case 811: makemaz("Sho-1"); return;
8905 case 812: makemaz("Sho-2"); return;
8906 case 813: makemaz("Sho-3"); return;
8907 case 814: makemaz("Sho-4"); return;
8908 case 815: makemaz("Sho-5"); return;
8909 case 816: makemaz("Hal-1"); return;
8910 case 817: makemaz("Hal-2"); return;
8911 case 818: makemaz("Hal-3"); return;
8912 case 819: makemaz("Hal-4"); return;
8913 case 820: makemaz("Hal-5"); return;
8914 case 821: makemaz("Sin-1"); return;
8915 case 822: makemaz("Sin-2"); return;
8916 case 823: makemaz("Sin-3"); return;
8917 case 824: makemaz("Sin-4"); return;
8918 case 825: makemaz("Sin-5"); return;
8919 case 826: makemaz("Hed-1"); return;
8920 case 827: makemaz("Hed-2"); return;
8921 case 828: makemaz("Hed-3"); return;
8922 case 829: makemaz("Hed-4"); return;
8923 case 830: makemaz("Hed-5"); return;
8924 case 831: makemaz("Van-1"); return;
8925 case 832: makemaz("Van-2"); return;
8926 case 833: makemaz("Van-3"); return;
8927 case 834: makemaz("Van-4"); return;
8928 case 835: makemaz("Van-5"); return;
8929 case 836: makemaz("Sdw-1"); return;
8930 case 837: makemaz("Sdw-2"); return;
8931 case 838: makemaz("Sdw-3"); return;
8932 case 839: makemaz("Sdw-4"); return;
8933 case 840: makemaz("Sdw-5"); return;
8934 case 841: makemaz("Cli-1"); return;
8935 case 842: makemaz("Cli-2"); return;
8936 case 843: makemaz("Cli-3"); return;
8937 case 844: makemaz("Cli-4"); return;
8938 case 845: makemaz("Cli-5"); return;
8939 case 846: makemaz("Wom-1"); return;
8940 case 847: makemaz("Wom-2"); return;
8941 case 848: makemaz("Wom-3"); return;
8942 case 849: makemaz("Wom-4"); return;
8943 case 850: makemaz("Wom-5"); return;
8944 case 851: makemaz("Noo-1"); return;
8945 case 852: makemaz("Noo-2"); return;
8946 case 853: makemaz("Noo-3"); return;
8947 case 854: makemaz("Noo-4"); return;
8948 case 855: makemaz("Noo-5"); return;
8949 case 856: makemaz("Joc-1"); return;
8950 case 857: makemaz("Joc-2"); return;
8951 case 858: makemaz("Joc-3"); return;
8952 case 859: makemaz("Joc-4"); return;
8953 case 860: makemaz("Joc-5"); return;
8954 case 861: makemaz("All-1"); return;
8955 case 862: makemaz("All-2"); return;
8956 case 863: makemaz("All-3"); return;
8957 case 864: makemaz("All-4"); return;
8958 case 865: makemaz("All-5"); return;
8959 case 866: makemaz("Spe-1"); return;
8960 case 867: makemaz("Spe-2"); return;
8961 case 868: makemaz("Spe-3"); return;
8962 case 869: makemaz("Spe-4"); return;
8963 case 870: makemaz("Spe-5"); return;
8965 break;
8967 case 94:
8968 case 95:
8969 case 96:
8970 case 97:
8971 case 98:
8972 case 99:
8973 case 100:
8975 switch (rnd(69)) {
8977 case 1: makemaz("mazes-1"); return;
8978 case 2: makemaz("mazes-2"); return;
8979 case 3: makemaz("mazes-3"); return;
8980 case 4: makemaz("mazes-4"); return;
8981 case 5: makemaz("mazes-5"); return;
8982 case 6: makemaz("mazes-6"); return;
8983 case 7: makemaz("mazes-7"); return;
8984 case 8: makemaz("mazes-8"); return;
8985 case 9: makemaz("mazes-9"); return;
8986 case 10: makemaz("mazes-10"); return;
8987 case 11: makemaz("mazes-11"); return;
8988 case 12: makemaz("mazes-12"); return;
8989 case 13: makemaz("mazes-13"); return;
8990 case 14: makemaz("mazes-14"); return;
8991 case 15: makemaz("mazes-15"); return;
8992 case 16: makemaz("mazes-16"); return;
8993 case 17: makemaz("mazes-17"); return;
8994 case 18: makemaz("mazes-18"); return;
8995 case 19: makemaz("mazes-19"); return;
8996 case 20: makemaz("mazes-20"); return;
8997 case 21: makemaz("mazes-21"); return;
8998 case 22: makemaz("mazes-22"); return;
8999 case 23: makemaz("mazes-23"); return;
9000 case 24: makemaz("mazes-24"); return;
9001 case 25: makemaz("mazes-25"); return;
9002 case 26: makemaz("mazes-26"); return;
9003 case 27: makemaz("mazes-27"); return;
9004 case 28: makemaz("mazes-28"); return;
9005 case 29: makemaz("mazes-29"); return;
9006 case 30: makemaz("mazes-30"); return;
9007 case 31: makemaz("mazes-31"); return;
9008 case 32: makemaz("mazes-32"); return;
9009 case 33: makemaz("mazes-33"); return;
9010 case 34: makemaz("mazes-34"); return;
9011 case 35: makemaz("mazes-35"); return;
9012 case 36: makemaz("mazes-36"); return;
9013 case 37: makemaz("mazes-37"); return;
9014 case 38: makemaz("mazes-38"); return;
9015 case 39: makemaz("mazes-39"); return;
9016 case 40: makemaz("mazes-40"); return;
9017 case 41: makemaz("mazes-41"); return;
9018 case 42: makemaz("mazes-42"); return;
9019 case 43: makemaz("mazes-43"); return;
9020 case 44: makemaz("mazes-44"); return;
9021 case 45: makemaz("mazes-45"); return;
9022 case 46: makemaz("mazes-46"); return;
9023 case 47: makemaz("mazes-47"); return;
9024 case 48: makemaz("mazes-48"); return;
9025 case 49: makemaz("mazes-49"); return;
9026 case 50: makemaz("mazes-50"); return;
9027 case 51: makemaz("mazes-51"); return;
9028 case 52: makemaz("mazes-52"); return;
9029 case 53: makemaz("mazes-53"); return;
9030 case 54: makemaz("mazes-54"); return;
9031 case 55: makemaz("mazes-55"); return;
9032 case 56: makemaz("mazes-56"); return;
9033 case 57: makemaz("mazes-57"); return;
9034 case 58: makemaz("mazes-58"); return;
9035 case 59: makemaz("mazes-59"); return;
9036 case 60: makemaz("mazes-60"); return;
9037 case 61: makemaz("mazes-61"); return;
9038 case 62: makemaz("mazes-62"); return;
9039 case 63: makemaz("mazes-63"); return;
9040 case 64: makemaz("mazes-64"); return;
9041 case 65: makemaz("mazes-65"); return;
9042 case 66: makemaz("mazes-66"); return;
9043 case 67: makemaz("mazes-67"); return;
9044 case 68: makemaz("mazes-68"); return;
9045 case 69: makemaz("mazes-69"); return;
9048 break;
9050 case 101:
9051 case 102:
9052 case 103:
9053 case 104:
9054 case 105:
9055 switch (rnd(95)) {
9057 case 1: makemaz("levgn-1"); return;
9058 case 2: makemaz("levgn-2"); return;
9059 case 3: makemaz("levgn-3"); return;
9060 case 4: makemaz("levgn-4"); return;
9061 case 5: makemaz("levgn-5"); return;
9062 case 6: makemaz("levgn-6"); return;
9063 case 7: makemaz("levgn-7"); return;
9064 case 8: makemaz("levgn-8"); return;
9065 case 9: makemaz("levgn-9"); return;
9066 case 10: makemaz("levgn-10"); return;
9067 case 11: makemaz("levgn-11"); return;
9068 case 12: makemaz("levgn-12"); return;
9069 case 13: makemaz("levgn-13"); return;
9070 case 14: makemaz("levgn-14"); return;
9071 case 15: makemaz("levgn-15"); return;
9072 case 16: makemaz("levgn-16"); return;
9073 case 17: makemaz("levgn-17"); return;
9074 case 18: makemaz("levgn-18"); return;
9075 case 19: makemaz("levgn-19"); return;
9076 case 20: makemaz("levgn-20"); return;
9077 case 21: makemaz("levgn-21"); return;
9078 case 22: makemaz("levgn-22"); return;
9079 case 23: makemaz("levgn-23"); return;
9080 case 24: makemaz("levgn-24"); return;
9081 case 25: makemaz("levgn-25"); return;
9082 case 26: makemaz("levgn-26"); return;
9083 case 27: makemaz("levgn-27"); return;
9084 case 28: makemaz("levgn-28"); return;
9085 case 29: makemaz("levgn-29"); return;
9086 case 30: makemaz("levgn-30"); return;
9087 case 31: makemaz("levgn-31"); return;
9088 case 32: makemaz("levgn-32"); return;
9089 case 33: makemaz("levgn-33"); return;
9090 case 34: makemaz("levgn-34"); return;
9091 case 35: makemaz("levgn-35"); return;
9092 case 36: makemaz("levgn-36"); return;
9093 case 37: makemaz("levgn-37"); return;
9094 case 38: makemaz("levgn-38"); return;
9095 case 39: makemaz("levgn-39"); return;
9096 case 40: makemaz("levgn-40"); return;
9097 case 41: makemaz("levgn-41"); return;
9098 case 42: makemaz("levgn-42"); return;
9099 case 43: makemaz("levgn-43"); return;
9100 case 44: makemaz("levgn-44"); return;
9101 case 45: makemaz("levgn-45"); return;
9102 case 46: makemaz("levgn-46"); return;
9103 case 47: makemaz("levgn-47"); return;
9104 case 48: makemaz("levgn-48"); return;
9105 case 49: makemaz("levgn-49"); return;
9106 case 50: makemaz("levgn-50"); return;
9107 case 51: makemaz("levgn-51"); return;
9108 case 52: makemaz("levgn-52"); return;
9109 case 53: makemaz("levgn-53"); return;
9110 case 54: makemaz("levgn-54"); return;
9111 case 55: makemaz("levgn-55"); return;
9112 case 56: makemaz("levgn-56"); return;
9113 case 57: makemaz("levgn-57"); return;
9114 case 58: makemaz("levgn-58"); return;
9115 case 59: makemaz("levgn-59"); return;
9116 case 60: makemaz("levgn-60"); return;
9117 case 61: makemaz("levgn-61"); return;
9118 case 62: makemaz("levgn-62"); return;
9119 case 63: makemaz("levgn-63"); return;
9120 case 64: makemaz("levgn-64"); return;
9121 case 65: makemaz("levgn-65"); return;
9122 case 66: makemaz("levgn-66"); return;
9123 case 67: makemaz("levgn-67"); return;
9124 case 68: makemaz("levgn-68"); return;
9125 case 69: makemaz("levgn-69"); return;
9126 case 70: makemaz("levgn-70"); return;
9127 case 71: makemaz("levgn-71"); return;
9128 case 72: makemaz("levgn-72"); return;
9129 case 73: makemaz("levgn-73"); return;
9130 case 74: makemaz("levgn-74"); return;
9131 case 75: makemaz("levgn-75"); return;
9132 case 76: makemaz("levgn-76"); return;
9133 case 77: makemaz("levgn-77"); return;
9134 case 78: makemaz("levgn-78"); return;
9135 case 79: makemaz("levgn-79"); return;
9136 case 80: makemaz("levgn-80"); return;
9137 case 81: makemaz("levgn-81"); return;
9138 case 82: makemaz("levgn-82"); return;
9139 case 83: makemaz("levgn-83"); return;
9140 case 84: makemaz("levgn-84"); return;
9141 case 85: makemaz("levgn-85"); return;
9142 case 86: makemaz("levgn-86"); return;
9143 case 87: makemaz("levgn-87"); return;
9144 case 88: makemaz("levgn-88"); return;
9145 case 89: makemaz("levgn-89"); return;
9146 case 90: makemaz("levgn-90"); return;
9147 case 91: makemaz("levgn-91"); return;
9148 case 92: makemaz("levgn-92"); return;
9149 case 93: makemaz("levgn-93"); return;
9150 case 94: makemaz("levgn-94"); return;
9151 case 95: makemaz("levgn-95"); return;
9154 case 106:
9156 makemaz("ecav2"); return;
9157 break;
9159 case 107:
9161 makemaz("efrnk"); return;
9162 break;
9164 case 108:
9165 case 109:
9166 case 110:
9168 switch (rnd(8)) {
9170 case 1: {
9171 switch (rnd(5)) {
9173 case 1: makemaz("cowla-1"); return;
9174 case 2: makemaz("cowla-2"); return;
9175 case 3: makemaz("cowla-3"); return;
9176 case 4: makemaz("cowla-4"); return;
9177 case 5: makemaz("cowla-5"); return;
9180 break;
9182 case 2: makemaz("cowlb"); return;
9183 case 3: makemaz("cowlc"); return;
9184 case 4: makemaz("cowld"); return;
9185 case 5: makemaz("cowle"); return;
9186 case 6: makemaz("cowlf"); return;
9187 case 7: makemaz("cowlg"); return;
9188 case 8: makemaz("cowlh"); return;
9192 break;
9194 case 111:
9195 switch (rnd(15)) {
9196 case 1: makemaz("deepfila"); return;
9197 case 2: makemaz("deepfilb"); return;
9198 case 3: makemaz("deepfilc"); return;
9199 case 4: makemaz("deepfild"); return;
9200 case 5: makemaz("deepfile"); return;
9201 case 6: makemaz("deepfilf"); return;
9202 case 7: makemaz("deepfilg"); return;
9203 case 8: makemaz("deepfilh"); return;
9204 case 9: makemaz("deepfili"); return;
9205 case 10: makemaz("deepfilj"); return;
9206 case 11: makemaz("deepfilk"); return;
9207 case 12: makemaz("deepfill"); return;
9208 case 13: makemaz("deepfilm"); return;
9209 case 14: makemaz("deepfiln"); return;
9210 case 15: makemaz("deepfilo"); return;
9214 break;
9216 case 112:
9217 switch (rnd(10)) {
9218 case 1: makemaz("deptn-1"); return;
9219 case 2: makemaz("deptn-2"); return;
9220 case 3: makemaz("deptn-3"); return;
9221 case 4: makemaz("deptn-4"); return;
9222 case 5: makemaz("deptn-5"); return;
9223 case 6: makemaz("deptn-6"); return;
9224 case 7: makemaz("deptn-7"); return;
9225 case 8: makemaz("deptn-8"); return;
9226 case 9: makemaz("deptn-9"); return;
9227 case 10: makemaz("deptn-10"); return;
9231 break;
9233 case 113:
9234 switch (rnd(6)) {
9235 case 1: makemaz("depeE-1"); return;
9236 case 2: makemaz("depeE-2"); return;
9237 case 3: makemaz("depeE-3"); return;
9238 case 4: makemaz("depeE-4"); return;
9239 case 5: makemaz("depeE-5"); return;
9240 case 6: makemaz("depeE-6"); return;
9244 break;
9246 case 114:
9247 switch (rnd(5)) {
9248 case 1: makemaz("gruelaiX"); return;
9249 case 2: makemaz("joustX"); return;
9250 case 3: makemaz("pmazeX"); return;
9251 case 4: makemaz("poolhalX"); return;
9252 case 5: makemaz("dmazeX"); return;
9256 break;
9258 case 115:
9259 case 116:
9261 switch (rnd(8)) {
9263 case 1: makemaz("grcra"); return;
9264 case 2: makemaz("grcrb"); return;
9265 case 3: makemaz("grcrc"); return;
9266 case 4: makemaz("grcrd"); return;
9267 case 5: makemaz("grcre"); return;
9268 case 6: makemaz("grcrf"); return;
9269 case 7: makemaz("grcrg"); return;
9270 case 8: makemaz("grcrh"); return;
9273 break;
9275 case 117:
9276 switch (rnd(3)) {
9277 case 1: makemaz("eiceqa"); return;
9278 case 2: makemaz("eiceqb"); return;
9279 case 3: makemaz("eiceqc"); return;
9283 break;
9287 } else if (In_gehennom(&u.uz) || In_sheol(&u.uz) || In_voiddungeon(&u.uz) || In_netherrealm(&u.uz) || In_angmar(&u.uz) || In_emynluin(&u.uz) || In_swimmingpool(&u.uz) || In_hellbathroom(&u.uz) || !strcmp(dungeons[u.uz.dnum].dname, "Frankenstein's Lab")) {
9289 if (rn2(3)) goto ghnhom4;
9291 switch (rnd(117)) {
9293 case 1:
9294 case 2:
9295 case 3:
9296 case 4:
9297 case 5:
9298 case 6:
9299 case 7:
9300 case 8:
9301 case 9:
9302 case 10:
9304 switch (rnd(60)) {
9306 case 1: makemaz("ghbgr-1"); return;
9307 case 2: makemaz("ghbgr-2"); return;
9308 case 3: makemaz("ghbgr-3"); return;
9309 case 4: makemaz("ghbgr-4"); return;
9310 case 5: makemaz("ghbgr-5"); return;
9311 case 6: makemaz("ghbgr-6"); return;
9312 case 7: makemaz("ghbgr-7"); return;
9313 case 8: makemaz("ghbgr-8"); return;
9314 case 9: makemaz("ghbgr-9"); return;
9315 case 10: makemaz("ghbgr-10"); return;
9316 case 11: makemaz("ghbgr-11"); return;
9317 case 12: makemaz("ghbgr-12"); return;
9318 case 13: makemaz("ghbgr-13"); return;
9319 case 14: makemaz("ghbgr-14"); return;
9320 case 15: makemaz("ghbgr-15"); return;
9321 case 16: makemaz("ghbgr-16"); return;
9322 case 17: makemaz("ghbgr-17"); return;
9323 case 18: makemaz("ghbgr-18"); return;
9324 case 19: makemaz("ghbgr-19"); return;
9325 case 20: makemaz("ghbgr-20"); return;
9326 case 21: makemaz("ghbgr-21"); return;
9327 case 22: makemaz("ghbgr-22"); return;
9328 case 23: makemaz("ghbgr-23"); return;
9329 case 24: makemaz("ghbgr-24"); return;
9330 case 25: makemaz("ghbgr-25"); return;
9331 case 26: makemaz("ghbgr-26"); return;
9332 case 27: makemaz("ghbgr-27"); return;
9333 case 28: makemaz("ghbgr-28"); return;
9334 case 29: makemaz("ghbgr-29"); return;
9335 case 30: makemaz("ghbgr-30"); return;
9336 case 31: makemaz("ghbgr-31"); return;
9337 case 32: makemaz("ghbgr-32"); return;
9338 case 33: makemaz("ghbgr-33"); return;
9339 case 34: makemaz("ghbgr-34"); return;
9340 case 35: makemaz("ghbgr-35"); return;
9341 case 36: makemaz("ghbgr-36"); return;
9342 case 37: makemaz("ghbgr-37"); return;
9343 case 38: makemaz("ghbgr-38"); return;
9344 case 39: makemaz("ghbgr-39"); return;
9345 case 40: makemaz("ghbgr-40"); return;
9346 case 41: makemaz("ghbgr-41"); return;
9347 case 42: makemaz("ghbgr-42"); return;
9348 case 43: makemaz("ghbgr-43"); return;
9349 case 44: makemaz("ghbgr-44"); return;
9350 case 45: makemaz("ghbgr-45"); return;
9351 case 46: makemaz("ghbgr-46"); return;
9352 case 47: makemaz("ghbgr-47"); return;
9353 case 48: makemaz("ghbgr-48"); return;
9354 case 49: makemaz("ghbgr-49"); return;
9355 case 50: makemaz("ghbgr-50"); return;
9356 case 51: makemaz("ghbgr-51"); return;
9357 case 52: makemaz("ghbgr-52"); return;
9358 case 53: makemaz("ghbgr-53"); return;
9359 case 54: makemaz("ghbgr-54"); return;
9360 case 55: makemaz("ghbgr-55"); return;
9361 case 56: makemaz("ghbgr-56"); return;
9362 case 57: makemaz("ghbgr-57"); return;
9363 case 58: makemaz("ghbgr-58"); return;
9364 case 59: makemaz("ghbgr-59"); return;
9365 case 60: makemaz("ghbgr-60"); return;
9368 break;
9370 case 11:
9371 case 12:
9372 case 13:
9373 case 14:
9374 case 15:
9375 case 16:
9376 case 17:
9377 case 18:
9378 case 19:
9379 case 20:
9381 switch (rnd(97)) {
9383 case 1: makemaz("heck-1"); return;
9384 case 2: makemaz("heck-2"); return;
9385 case 3: makemaz("heck-3"); return;
9386 case 4: makemaz("heck-4"); return;
9387 case 5: makemaz("heck-5"); return;
9388 case 6: makemaz("heck-6"); return;
9389 case 7: makemaz("heck-7"); return;
9390 case 8: makemaz("heck-8"); return;
9391 case 9: makemaz("heck-9"); return;
9392 case 10: makemaz("heck-10"); return;
9393 case 11: makemaz("heck-11"); return;
9394 case 12: makemaz("heck-12"); return;
9395 case 13: makemaz("heck-13"); return;
9396 case 14: makemaz("heck-14"); return;
9397 case 15: makemaz("heck-15"); return;
9398 case 16: makemaz("heck-16"); return;
9399 case 17: makemaz("heck-17"); return;
9400 case 18: makemaz("heck-18"); return;
9401 case 19: makemaz("heck-19"); return;
9402 case 20: makemaz("heck-20"); return;
9403 case 21: makemaz("heck-21"); return;
9404 case 22: makemaz("heck-22"); return;
9405 case 23: makemaz("heck-23"); return;
9406 case 24: makemaz("heck-24"); return;
9407 case 25: makemaz("heck-25"); return;
9408 case 26: makemaz("heck-26"); return;
9409 case 27: makemaz("heck-27"); return;
9410 case 28: makemaz("heck-28"); return;
9411 case 29: makemaz("heck-29"); return;
9412 case 30: makemaz("heck-30"); return;
9413 case 31: makemaz("heck-31"); return;
9414 case 32: makemaz("heck-32"); return;
9415 case 33: makemaz("heck-33"); return;
9416 case 34: makemaz("heck-34"); return;
9417 case 35: makemaz("heck-35"); return;
9418 case 36: makemaz("heck-36"); return;
9419 case 37: makemaz("heck-37"); return;
9420 case 38: makemaz("heck-38"); return;
9421 case 39: makemaz("heck-39"); return;
9422 case 40: makemaz("heck-40"); return;
9423 case 41: makemaz("heck-41"); return;
9424 case 42: makemaz("heck-42"); return;
9425 case 43: makemaz("heck-43"); return;
9426 case 44: makemaz("heck-44"); return;
9427 case 45: makemaz("heck-45"); return;
9428 case 46: makemaz("heck-46"); return;
9429 case 47: makemaz("heck-47"); return;
9430 case 48: makemaz("heck-48"); return;
9431 case 49: makemaz("heck-49"); return;
9432 case 50: makemaz("heck-50"); return;
9433 case 51: makemaz("heck-51"); return;
9434 case 52: makemaz("heck-52"); return;
9435 case 53: makemaz("heck-53"); return;
9436 case 54: makemaz("heck-54"); return;
9437 case 55: makemaz("heck-55"); return;
9438 case 56: makemaz("heck-56"); return;
9439 case 57: makemaz("heck-57"); return;
9440 case 58: makemaz("heck-58"); return;
9441 case 59: makemaz("heck-59"); return;
9442 case 60: makemaz("heck-60"); return;
9443 case 61: makemaz("heck-61"); return;
9444 case 62: makemaz("heck-62"); return;
9445 case 63: makemaz("heck-63"); return;
9446 case 64: makemaz("heck-64"); return;
9447 case 65: makemaz("heck-65"); return;
9448 case 66: makemaz("heck-66"); return;
9449 case 67: makemaz("heck-67"); return;
9450 case 68: makemaz("heck-68"); return;
9451 case 69: makemaz("heck-69"); return;
9452 case 70: makemaz("heck-70"); return;
9453 case 71: makemaz("heck-71"); return;
9454 case 72: makemaz("heck-72"); return;
9455 case 73: makemaz("heck-73"); return;
9456 case 74: makemaz("heck-74"); return;
9457 case 75: makemaz("heck-75"); return;
9458 case 76: makemaz("heck-76"); return;
9459 case 77: makemaz("heck-77"); return;
9460 case 78: makemaz("heck-78"); return;
9461 case 79: makemaz("heck-79"); return;
9462 case 80: makemaz("heck-80"); return;
9463 case 81: makemaz("heck-81"); return;
9464 case 82: makemaz("heck-82"); return;
9465 case 83: makemaz("heck-83"); return;
9466 case 84: makemaz("heck-84"); return;
9467 case 85: makemaz("heck-85"); return;
9468 case 86: makemaz("heck-86"); return;
9469 case 87: makemaz("heck-87"); return;
9470 case 88: makemaz("heck-88"); return;
9471 case 89: makemaz("heck-89"); return;
9472 case 90: makemaz("heck-90"); return;
9473 case 91: makemaz("heck-91"); return;
9474 case 92: makemaz("heck-92"); return;
9475 case 93: makemaz("heck-93"); return;
9476 case 94: makemaz("heck-94"); return;
9477 case 95: makemaz("heck-95"); return;
9478 case 96: makemaz("heck-96"); return;
9479 case 97: makemaz("minusw"); return;
9482 break;
9484 case 21:
9486 switch (rnd(5)) {
9488 case 1: makemaz("intplx-1"); return;
9489 case 2: makemaz("intplx-2"); return;
9490 case 3: makemaz("intplx-3"); return;
9491 case 4: makemaz("intplx-4"); return;
9492 case 5: makemaz("intplx-5"); return;
9495 break;
9497 case 22:
9498 case 23:
9499 case 24:
9501 switch (rnd(14)) {
9503 case 1: makemaz("hellfill"); return;
9504 case 2: makemaz("hellfila"); return;
9505 case 3: makemaz("hellfilb"); return;
9506 case 4: makemaz("hellfilc"); return;
9507 case 5: makemaz("hellfild"); return;
9508 case 6: makemaz("hellfile"); return;
9509 case 7: makemaz("hellfilf"); return;
9510 case 8: makemaz("hellfilg"); return;
9511 case 9: makemaz("hellfill"); return;
9512 case 10: makemaz("hellfill"); return;
9513 case 11: makemaz("hellfill"); return;
9514 case 12: makemaz("hellfill"); return;
9515 case 13: makemaz("hellfill"); return;
9516 case 14: makemaz("hellfill"); return;
9519 break;
9521 case 25:
9522 case 26:
9523 case 27:
9524 case 28:
9525 case 29:
9527 switch (rnd(21)) {
9529 case 1: makemaz("hmint-1"); return;
9530 case 2: makemaz("hmint-2"); return;
9531 case 3: makemaz("hmint-3"); return;
9532 case 4: makemaz("hmint-4"); return;
9533 case 5: makemaz("hmint-5"); return;
9534 case 6: makemaz("hmint-6"); return;
9535 case 7: makemaz("hmint-7"); return;
9536 case 8: makemaz("hmint-8"); return;
9537 case 9: makemaz("hmint-9"); return;
9538 case 10: makemaz("hmint-10"); return;
9539 case 11: makemaz("hmint-11"); return;
9540 case 12: makemaz("hmint-12"); return;
9541 case 13: makemaz("hmint-13"); return;
9542 case 14: makemaz("hmint-14"); return;
9543 case 15: makemaz("hmint-15"); return;
9544 case 16: makemaz("hmint-16"); return;
9545 case 17: makemaz("hmint-17"); return;
9546 case 18: makemaz("hmint-18"); return;
9547 case 19: makemaz("hmint-19"); return;
9548 case 20: makemaz("hmint-20"); return;
9549 case 21: makemaz("hmint-21"); return;
9552 break;
9554 case 30:
9555 case 31:
9557 switch (rnd(10)) {
9559 case 1: makemaz("hmnen-1"); return;
9560 case 2: makemaz("hmnen-2"); return;
9561 case 3: makemaz("hmnen-3"); return;
9562 case 4: makemaz("hmnen-4"); return;
9563 case 5: makemaz("hmnen-5"); return;
9564 case 6: makemaz("hmnen-6"); return;
9565 case 7: makemaz("hmnen-7"); return;
9566 case 8: makemaz("hmnen-8"); return;
9567 case 9: makemaz("hmnen-9"); return;
9568 case 10: makemaz("hmnen-10"); return;
9571 break;
9573 case 32:
9574 case 33:
9576 switch (rnd(18)) {
9578 case 1: makemaz("hking-1"); return;
9579 case 2: makemaz("hking-2"); return;
9580 case 3: makemaz("hking-3"); return;
9581 case 4: makemaz("hking-4"); return;
9582 case 5: makemaz("hking-5"); return;
9583 case 6: makemaz("hking-6"); return;
9584 case 7: makemaz("hking-7"); return;
9585 case 8: makemaz("hking-8"); return;
9586 case 9: makemaz("hking-9"); return;
9587 case 10: makemaz("hking-10"); return;
9588 case 11: makemaz("hking-11"); return;
9589 case 12: makemaz("hking-12"); return;
9590 case 13: makemaz("hking-13"); return;
9591 case 14: makemaz("hking-14"); return;
9592 case 15: makemaz("hking-15"); return;
9593 case 16: makemaz("hking-16"); return;
9594 case 17: makemaz("hking-17"); return;
9595 case 18: makemaz("hking-18"); return;
9598 break;
9600 case 34:
9601 case 35:
9602 case 36:
9603 case 37:
9604 case 38:
9605 case 39:
9606 case 40:
9607 case 41:
9608 case 42:
9609 case 43:
9611 switch (rnd(154)) {
9613 case 1: makemaz("soko8-1"); return;
9614 case 2: makemaz("soko8-2"); return;
9615 case 3: makemaz("soko8-3"); return;
9616 case 4: makemaz("soko8-4"); return;
9617 case 5: makemaz("soko8-5"); return;
9618 case 6: makemaz("soko8-6"); return;
9619 case 7: makemaz("soko8-7"); return;
9620 case 8: makemaz("soko8-8"); return;
9621 case 9: makemaz("soko8-9"); return;
9622 case 10: makemaz("soko8-10"); return;
9623 case 11: makemaz("soko8-11"); return;
9624 case 12: makemaz("soko8-12"); return;
9625 case 13: makemaz("soko8-13"); return;
9626 case 14: makemaz("soko8-14"); return;
9627 case 15: makemaz("soko8-15"); return;
9628 case 16: makemaz("soko8-16"); return;
9629 case 17: makemaz("soko8-17"); return;
9630 case 18: makemaz("soko8-18"); return;
9631 case 19: makemaz("soko8-19"); return;
9632 case 20: makemaz("soko8-20"); return;
9633 case 21: makemaz("soko8-21"); return;
9634 case 22: makemaz("soko8-22"); return;
9635 case 23: makemaz("soko8-23"); return;
9636 case 24: makemaz("soko8-24"); return;
9637 case 25: makemaz("soko8-25"); return;
9638 case 26: makemaz("soko8-26"); return;
9639 case 27: makemaz("soko8-27"); return;
9640 case 28: makemaz("soko8-28"); return;
9641 case 29: makemaz("soko8-29"); return;
9642 case 30: makemaz("soko8-30"); return;
9643 case 31: makemaz("soko8-31"); return;
9644 case 32: makemaz("soko8-32"); return;
9645 case 33: makemaz("soko8-33"); return;
9646 case 34: makemaz("soko8-34"); return;
9647 case 35: makemaz("soko8-35"); return;
9648 case 36: makemaz("soko8-36"); return;
9649 case 37: makemaz("soko8-37"); return;
9650 case 38: makemaz("soko8-38"); return;
9651 case 39: makemaz("soko8-39"); return;
9652 case 40: makemaz("soko8-40"); return;
9653 case 41: makemaz("soko8-41"); return;
9654 case 42: makemaz("soko8-42"); return;
9655 case 43: makemaz("soko8-43"); return;
9656 case 44: makemaz("soko8-44"); return;
9658 case 45: makemaz("soko7-1"); return;
9659 case 46: makemaz("soko7-2"); return;
9660 case 47: makemaz("soko7-3"); return;
9661 case 48: makemaz("soko7-4"); return;
9662 case 49: makemaz("soko7-5"); return;
9663 case 50: makemaz("soko7-6"); return;
9664 case 51: makemaz("soko7-7"); return;
9665 case 52: makemaz("soko7-8"); return;
9666 case 53: makemaz("soko7-9"); return;
9667 case 54: makemaz("soko7-10"); return;
9668 case 55: makemaz("soko7-11"); return;
9669 case 56: makemaz("soko7-12"); return;
9670 case 57: makemaz("soko7-13"); return;
9671 case 58: makemaz("soko7-14"); return;
9672 case 59: makemaz("soko7-15"); return;
9673 case 60: makemaz("soko7-16"); return;
9674 case 61: makemaz("soko7-17"); return;
9675 case 62: makemaz("soko7-18"); return;
9676 case 63: makemaz("soko7-19"); return;
9677 case 64: makemaz("soko7-20"); return;
9678 case 65: makemaz("soko7-21"); return;
9679 case 66: makemaz("soko7-22"); return;
9680 case 67: makemaz("soko7-23"); return;
9681 case 68: makemaz("soko7-24"); return;
9682 case 69: makemaz("soko7-25"); return;
9683 case 70: makemaz("soko7-26"); return;
9684 case 71: makemaz("soko7-27"); return;
9685 case 72: makemaz("soko7-28"); return;
9686 case 73: makemaz("soko7-29"); return;
9688 case 74: makemaz("soko9-1"); return;
9689 case 75: makemaz("soko9-2"); return;
9690 case 76: makemaz("soko9-3"); return;
9691 case 77: makemaz("soko9-4"); return;
9692 case 78: makemaz("soko9-5"); return;
9693 case 79: makemaz("soko9-6"); return;
9694 case 80: makemaz("soko9-7"); return;
9695 case 81: makemaz("soko9-8"); return;
9696 case 82: makemaz("soko9-9"); return;
9697 case 83: makemaz("soko9-10"); return;
9698 case 84: makemaz("soko9-11"); return;
9699 case 85: makemaz("soko9-12"); return;
9700 case 86: makemaz("soko9-13"); return;
9701 case 87: makemaz("soko9-14"); return;
9702 case 88: makemaz("soko9-15"); return;
9703 case 89: makemaz("soko9-16"); return;
9704 case 90: makemaz("soko9-17"); return;
9705 case 91: makemaz("soko9-18"); return;
9706 case 92: makemaz("soko9-19"); return;
9707 case 93: makemaz("soko9-20"); return;
9708 case 94: makemaz("soko9-21"); return;
9709 case 95: makemaz("soko9-22"); return;
9710 case 96: makemaz("soko9-23"); return;
9711 case 97: makemaz("soko9-24"); return;
9712 case 98: makemaz("soko9-25"); return;
9713 case 99: makemaz("soko9-26"); return;
9714 case 100: makemaz("soko9-27"); return;
9715 case 101: makemaz("soko9-28"); return;
9717 case 102: makemaz("soko0-1"); return;
9718 case 103: makemaz("soko0-2"); return;
9719 case 104: makemaz("soko0-3"); return;
9720 case 105: makemaz("soko0-4"); return;
9721 case 106: makemaz("soko0-5"); return;
9722 case 107: makemaz("soko0-6"); return;
9723 case 108: makemaz("soko0-7"); return;
9724 case 109: makemaz("soko0-8"); return;
9725 case 110: makemaz("soko0-9"); return;
9726 case 111: makemaz("soko0-10"); return;
9727 case 112: makemaz("soko0-11"); return;
9728 case 113: makemaz("soko0-12"); return;
9729 case 114: makemaz("soko0-13"); return;
9730 case 115: makemaz("soko0-14"); return;
9731 case 116: makemaz("soko0-15"); return;
9732 case 117: makemaz("soko0-16"); return;
9733 case 118: makemaz("soko0-17"); return;
9734 case 119: makemaz("soko0-18"); return;
9735 case 120: makemaz("soko0-19"); return;
9736 case 121: makemaz("soko0-20"); return;
9737 case 122: makemaz("soko0-21"); return;
9738 case 123: makemaz("soko0-22"); return;
9739 case 124: makemaz("soko0-23"); return;
9740 case 125: makemaz("soko0-24"); return;
9741 case 126: makemaz("soko0-25"); return;
9742 case 127: makemaz("soko0-26"); return;
9743 case 128: makemaz("soko0-27"); return;
9744 case 129: makemaz("soko0-28"); return;
9745 case 130: makemaz("soko0-29"); return;
9746 case 131: makemaz("soko0-30"); return;
9747 case 132: makemaz("soko0-31"); return;
9748 case 133: makemaz("soko0-32"); return;
9749 case 134: makemaz("soko0-33"); return;
9750 case 135: makemaz("soko0-34"); return;
9751 case 136: makemaz("soko0-35"); return;
9752 case 137: makemaz("soko0-36"); return;
9753 case 138: makemaz("soko0-37"); return;
9754 case 139: makemaz("soko0-38"); return;
9755 case 140: makemaz("soko0-39"); return;
9756 case 141: makemaz("soko0-40"); return;
9757 case 142: makemaz("soko0-41"); return;
9758 case 143: makemaz("soko0-42"); return;
9759 case 144: makemaz("soko0-43"); return;
9760 case 145: makemaz("soko0-44"); return;
9761 case 146: makemaz("soko0-45"); return;
9762 case 147: makemaz("soko0-46"); return;
9763 case 148: makemaz("soko0-47"); return;
9764 case 149: makemaz("soko0-48"); return;
9765 case 150: makemaz("soko0-49"); return;
9766 case 151: makemaz("soko0-50"); return;
9767 case 152: makemaz("soko0-51"); return;
9769 case 153: makemaz("soko8-45"); return;
9771 case 154: makemaz("soko0-52"); return;
9774 break;
9776 case 44:
9777 case 45:
9779 switch (rnd(10)) {
9781 case 1: makemaz("hllma-1"); return;
9782 case 2: makemaz("hllma-2"); return;
9783 case 3: makemaz("hllma-3"); return;
9784 case 4: makemaz("hllma-4"); return;
9785 case 5: makemaz("hllma-5"); return;
9786 case 6: makemaz("hllma-6"); return;
9787 case 7: makemaz("hllma-7"); return;
9788 case 8: makemaz("hllma-8"); return;
9789 case 9: makemaz("hllma-9"); return;
9790 case 10: makemaz("hllma-10"); return;
9793 break;
9795 case 46:
9797 makemaz("oracleX"); return;
9798 break;
9800 case 47:
9802 switch (rnd(4)) {
9804 case 1: makemaz("hrats-1"); return;
9805 case 2: makemaz("hrats-2"); return;
9806 case 3: makemaz("hrats-3"); return;
9807 case 4: makemaz("hrats-4"); return;
9810 break;
9812 case 48:
9814 switch (rnd(6)) {
9816 case 1: makemaz("hkobol-1"); return;
9817 case 2: makemaz("hkobol-2"); return;
9818 case 3: makemaz("hkobol-3"); return;
9819 case 4: makemaz("hkobol-4"); return;
9820 case 5: makemaz("hkobol-5"); return;
9821 case 6: makemaz("hkobol-6"); return;
9824 break;
9826 case 49:
9828 switch (rnd(5)) {
9830 case 1: makemaz("hnymp-1"); return;
9831 case 2: makemaz("hnymp-2"); return;
9832 case 3: makemaz("hnymp-3"); return;
9833 case 4: makemaz("hnymp-4"); return;
9834 case 5: makemaz("hnymp-5"); return;
9837 break;
9839 case 50:
9841 switch (rnd(9)) {
9843 case 1: makemaz("hstor-1"); return;
9844 case 2: makemaz("hstor-2"); return;
9845 case 3: makemaz("hstor-3"); return;
9846 case 4: makemaz("hstor-4"); return;
9847 case 5: makemaz("hstor-5"); return;
9848 case 6: makemaz("hstor-6"); return;
9849 case 7: makemaz("hstor-7"); return;
9850 case 8: makemaz("hstor-8"); return;
9851 case 9: makemaz("hstor-9"); return;
9854 break;
9856 case 51:
9858 switch (rnd(8)) {
9860 case 1: makemaz("guild-1"); return;
9861 case 2: makemaz("guild-2"); return;
9862 case 3: makemaz("guild-3"); return;
9863 case 4: makemaz("guild-4"); return;
9864 case 5: makemaz("guild-5"); return;
9865 case 6: makemaz("guild-6"); return;
9866 case 7: makemaz("guild-7"); return;
9867 case 8: makemaz("guild-8"); return;
9870 break;
9872 case 52:
9874 switch (rnd(9)) {
9876 case 1: makemaz("forgeX"); return;
9877 case 2: makemaz("hitchX"); return;
9878 case 3: makemaz("compuX"); return;
9879 case 4: makemaz("keyX"); return;
9880 case 5: makemaz("robtnH"); return;
9881 case 6: makemaz("rabhoH"); return;
9882 case 7: makemaz("machnH"); return;
9883 case 8: makemaz("orcbaH"); return;
9884 case 9: makemaz("sewplH"); return;
9887 break;
9889 case 53:
9890 case 54:
9892 switch (rnd(12)) {
9894 case 1: makemaz("hmedu-1"); return;
9895 case 2: makemaz("hmedu-2"); return;
9896 case 3: makemaz("hmedu-3"); return;
9897 case 4: makemaz("hmedu-4"); return;
9898 case 5: makemaz("hmedu-5"); return;
9899 case 6: makemaz("hmedu-6"); return;
9900 case 7: makemaz("hmedu-7"); return;
9901 case 8: makemaz("hmedu-8"); return;
9902 case 9: makemaz("hmedu-9"); return;
9903 case 10: makemaz("hmedu-10"); return;
9904 case 11: makemaz("hmedu-11"); return;
9905 case 12: makemaz("hmedu-12"); return;
9908 break;
9910 case 55:
9911 case 56:
9913 switch (rnd(15)) {
9915 case 1: makemaz("hcstl-1"); return;
9916 case 2: makemaz("hcstl-2"); return;
9917 case 3: makemaz("hcstl-3"); return;
9918 case 4: makemaz("hcstl-4"); return;
9919 case 5: makemaz("hcstl-5"); return;
9920 case 6: makemaz("hcstl-6"); return;
9921 case 7: makemaz("hcstl-7"); return;
9922 case 8: makemaz("hcstl-8"); return;
9923 case 9: makemaz("hcstl-9"); return;
9924 case 10: makemaz("hcstl-10"); return;
9925 case 11: makemaz("hcstl-11"); return;
9926 case 12: makemaz("hcstl-12"); return;
9927 case 13: makemaz("hcstl-13"); return;
9928 case 14: makemaz("hcstl-14"); return;
9929 case 15: makemaz("hcstl-15"); return;
9932 break;
9934 case 57:
9935 case 58:
9936 case 59:
9937 case 60:
9938 case 61:
9940 switch (rnd(88)) {
9942 case 1: makemaz("hgehn-1"); return;
9943 case 2: makemaz("hgehn-2"); return;
9944 case 3: makemaz("hgehn-3"); return;
9945 case 4: makemaz("hgehn-4"); return;
9946 case 5: makemaz("hgehn-5"); return;
9947 case 6: makemaz("hgehn-6"); return;
9948 case 7: makemaz("hgehn-7"); return;
9949 case 8: makemaz("hgehn-8"); return;
9950 case 9: makemaz("hgehn-9"); return;
9951 case 10: makemaz("hgehn-10"); return;
9952 case 11: makemaz("hgehn-11"); return;
9953 case 12: makemaz("hgehn-12"); return;
9954 case 13: makemaz("hgehn-13"); return;
9955 case 14: makemaz("hgehn-14"); return;
9956 case 15: makemaz("hgehn-15"); return;
9957 case 16: makemaz("hgehn-16"); return;
9958 case 17: makemaz("hgehn-17"); return;
9959 case 18: makemaz("hgehn-18"); return;
9960 case 19: makemaz("hgehn-19"); return;
9961 case 20: makemaz("hgehn-20"); return;
9962 case 21: makemaz("hgehn-21"); return;
9963 case 22: makemaz("hgehn-22"); return;
9964 case 23: makemaz("hgehn-23"); return;
9965 case 24: makemaz("hgehn-24"); return;
9966 case 25: makemaz("hgehn-25"); return;
9967 case 26: makemaz("hgehn-26"); return;
9968 case 27: makemaz("hgehn-27"); return;
9969 case 28: makemaz("hgehn-28"); return;
9970 case 29: makemaz("hgehn-29"); return;
9971 case 30: makemaz("hgehn-30"); return;
9972 case 31: makemaz("hgehn-31"); return;
9973 case 32: makemaz("hgehn-32"); return;
9974 case 33: makemaz("hgehn-33"); return;
9975 case 34: makemaz("hgehn-34"); return;
9976 case 35: makemaz("hgehn-35"); return;
9977 case 36: makemaz("hgehn-36"); return;
9978 case 37: makemaz("hgehn-37"); return;
9979 case 38: makemaz("hgehn-38"); return;
9980 case 39: makemaz("hgehn-39"); return;
9981 case 40: makemaz("hgehn-40"); return;
9982 case 41: makemaz("hgehn-41"); return;
9983 case 42: makemaz("hgehn-42"); return;
9984 case 43: makemaz("hgehn-43"); return;
9985 case 44: makemaz("hgehn-44"); return;
9986 case 45: makemaz("hgehn-45"); return;
9987 case 46: makemaz("hgehn-46"); return;
9988 case 47: makemaz("hgehn-47"); return;
9989 case 48: makemaz("hgehn-48"); return;
9990 case 49: makemaz("hgehn-49"); return;
9991 case 50: makemaz("hgehn-50"); return;
9992 case 51: makemaz("hgehn-51"); return;
9993 case 52: makemaz("hgehn-52"); return;
9994 case 53: makemaz("hgehn-53"); return;
9995 case 54: makemaz("hgehn-54"); return;
9996 case 55: makemaz("hgehn-55"); return;
9997 case 56: makemaz("hgehn-56"); return;
9998 case 57: makemaz("hgehn-57"); return;
9999 case 58: makemaz("hgehn-58"); return;
10000 case 59: makemaz("hgehn-59"); return;
10001 case 60: makemaz("hgehn-60"); return;
10002 case 61: makemaz("hgehn-61"); return;
10003 case 62: makemaz("hgehn-62"); return;
10004 case 63: makemaz("hgehn-63"); return;
10005 case 64: makemaz("hgehn-64"); return;
10006 case 65: makemaz("hgehn-65"); return;
10007 case 66: makemaz("hgehn-66"); return;
10008 case 67: makemaz("hgehn-67"); return;
10009 case 68: makemaz("hgehn-68"); return;
10010 case 69: makemaz("hgehn-69"); return;
10011 case 70: makemaz("hgehn-70"); return;
10012 case 71: makemaz("hgehn-71"); return;
10013 case 72: makemaz("hgehn-72"); return;
10014 case 73: makemaz("hgehn-73"); return;
10015 case 74: makemaz("hgehn-74"); return;
10016 case 75: makemaz("hgehn-75"); return;
10017 case 76: makemaz("hgehn-76"); return;
10018 case 77: makemaz("hgehn-77"); return;
10019 case 78: makemaz("hgehn-78"); return;
10020 case 79: makemaz("hgehn-79"); return;
10021 case 80: makemaz("hgehn-80"); return;
10022 case 81: makemaz("hgehn-81"); return;
10023 case 82: makemaz("hgehn-82"); return;
10024 case 83: makemaz("hgehn-83"); return;
10025 case 84: makemaz("hgehn-84"); return;
10026 case 85: makemaz("hgehn-85"); return;
10027 case 86: makemaz("hgehn-86"); return;
10028 case 87: makemaz("hgehn-87"); return;
10029 case 88: makemaz("hgehn-88"); return;
10032 break;
10034 case 62:
10036 makemaz("schoolX"); return;
10037 break;
10039 case 63:
10041 switch (rnd(4)) {
10043 case 1: makemaz("htown-1"); return;
10044 case 2: makemaz("htown-2"); return;
10045 case 3: makemaz("htown-3"); return;
10046 case 4: makemaz("htown-4"); return;
10049 break;
10051 case 64:
10053 switch (rnd(3)) {
10055 case 1: makemaz("hgrund-1"); return;
10056 case 2: makemaz("hgrund-2"); return;
10057 case 3: makemaz("hgrund-3"); return;
10060 break;
10062 case 65:
10064 switch (rnd(3)) {
10066 case 1: makemaz("hknox-1"); return;
10067 case 2: makemaz("hknox-2"); return;
10068 case 3: makemaz("hknox-3"); return;
10071 break;
10073 case 66:
10075 makemaz("hdragons"); return;
10076 break;
10078 case 67:
10080 makemaz("htomb"); return;
10081 break;
10083 case 68:
10085 makemaz("hspiders"); return;
10086 break;
10088 case 69:
10090 makemaz("hsea"); return;
10091 break;
10093 case 70:
10095 makemaz("hmtemple"); return;
10096 break;
10098 case 71:
10099 case 72:
10100 case 73:
10102 switch (rnd(22)) {
10104 case 1: makemaz("hsheo-1"); return;
10105 case 2: makemaz("hsheo-2"); return;
10106 case 3: makemaz("hsheo-3"); return;
10107 case 4: makemaz("hsheo-4"); return;
10108 case 5: makemaz("hsheo-5"); return;
10109 case 6: makemaz("hsheo-6"); return;
10110 case 7: makemaz("hsheo-7"); return;
10111 case 8: makemaz("hsheo-8"); return;
10112 case 9: makemaz("hsheo-9"); return;
10113 case 10: makemaz("hsheo-10"); return;
10114 case 11: makemaz("hsheo-11"); return;
10115 case 12: makemaz("hsheo-12"); return;
10116 case 13: makemaz("hsheo-13"); return;
10117 case 14: makemaz("hsheo-14"); return;
10118 case 15: makemaz("hsheo-15"); return;
10119 case 16: makemaz("hsheo-16"); return;
10120 case 17: makemaz("hsheo-17"); return;
10121 case 18: makemaz("hsheo-18"); return;
10122 case 19: makemaz("hsheo-19"); return;
10123 case 20: makemaz("hsheo-20"); return;
10124 case 21: makemaz("hsheo-21"); return;
10125 case 22: makemaz("hsheo-22"); return;
10128 break;
10130 case 74:
10131 case 75:
10132 case 76:
10133 case 77:
10134 case 78:
10135 case 79:
10136 case 80:
10137 case 81:
10138 case 82:
10139 case 83:
10140 case 84:
10141 case 85:
10142 case 86:
10143 case 87:
10144 case 88:
10145 case 89:
10146 case 90:
10147 case 91:
10148 case 92:
10149 case 93:
10151 switch (rnd(870)) {
10153 case 1: makemaz("Aci-6"); return;
10154 case 2: makemaz("Aci-7"); return;
10155 case 3: makemaz("Aci-8"); return;
10156 case 4: makemaz("Aci-9"); return;
10157 case 5: makemaz("Aci-0"); return;
10158 case 6: makemaz("Act-6"); return;
10159 case 7: makemaz("Act-7"); return;
10160 case 8: makemaz("Act-8"); return;
10161 case 9: makemaz("Act-9"); return;
10162 case 10: makemaz("Act-0"); return;
10163 case 11: makemaz("Alt-6"); return;
10164 case 12: makemaz("Alt-7"); return;
10165 case 13: makemaz("Alt-8"); return;
10166 case 14: makemaz("Alt-9"); return;
10167 case 15: makemaz("Alt-0"); return;
10168 case 16: makemaz("Ama-6"); return;
10169 case 17: makemaz("Ama-7"); return;
10170 case 18: makemaz("Ama-8"); return;
10171 case 19: makemaz("Ama-9"); return;
10172 case 20: makemaz("Ama-0"); return;
10173 case 21: makemaz("Arc-6"); return;
10174 case 22: makemaz("Arc-7"); return;
10175 case 23: makemaz("Arc-8"); return;
10176 case 24: makemaz("Arc-9"); return;
10177 case 25: makemaz("Arc-0"); return;
10178 case 26: makemaz("Art-6"); return;
10179 case 27: makemaz("Art-7"); return;
10180 case 28: makemaz("Art-8"); return;
10181 case 29: makemaz("Art-9"); return;
10182 case 30: makemaz("Art-0"); return;
10183 case 31: makemaz("Ass-6"); return;
10184 case 32: makemaz("Ass-7"); return;
10185 case 33: makemaz("Ass-8"); return;
10186 case 34: makemaz("Ass-9"); return;
10187 case 35: makemaz("Ass-0"); return;
10188 case 36: makemaz("Aug-6"); return;
10189 case 37: makemaz("Aug-7"); return;
10190 case 38: makemaz("Aug-8"); return;
10191 case 39: makemaz("Aug-9"); return;
10192 case 40: makemaz("Aug-0"); return;
10193 case 41: makemaz("Bar-6"); return;
10194 case 42: makemaz("Bar-7"); return;
10195 case 43: makemaz("Bar-8"); return;
10196 case 44: makemaz("Bar-9"); return;
10197 case 45: makemaz("Bar-0"); return;
10198 case 46: makemaz("Brd-6"); return;
10199 case 47: makemaz("Brd-7"); return;
10200 case 48: makemaz("Brd-8"); return;
10201 case 49: makemaz("Brd-9"); return;
10202 case 50: makemaz("Brd-0"); return;
10203 case 51: makemaz("Bin-6"); return;
10204 case 52: makemaz("Bin-7"); return;
10205 case 53: makemaz("Bin-8"); return;
10206 case 54: makemaz("Bin-9"); return;
10207 case 55: makemaz("Bin-0"); return;
10208 case 56: makemaz("Ble-6"); return;
10209 case 57: makemaz("Ble-7"); return;
10210 case 58: makemaz("Ble-8"); return;
10211 case 59: makemaz("Ble-9"); return;
10212 case 60: makemaz("Ble-0"); return;
10213 case 61: makemaz("Blo-6"); return;
10214 case 62: makemaz("Blo-7"); return;
10215 case 63: makemaz("Blo-8"); return;
10216 case 64: makemaz("Blo-9"); return;
10217 case 65: makemaz("Blo-0"); return;
10218 case 66: makemaz("Bos-6"); return;
10219 case 67: makemaz("Bos-7"); return;
10220 case 68: makemaz("Bos-8"); return;
10221 case 69: makemaz("Bos-9"); return;
10222 case 70: makemaz("Bos-0"); return;
10223 case 71: makemaz("Bul-6"); return;
10224 case 72: makemaz("Bul-7"); return;
10225 case 73: makemaz("Bul-8"); return;
10226 case 74: makemaz("Bul-9"); return;
10227 case 75: makemaz("Bul-0"); return;
10228 case 76: makemaz("Cav-6"); return;
10229 case 77: makemaz("Cav-7"); return;
10230 case 78: makemaz("Cav-8"); return;
10231 case 79: makemaz("Cav-9"); return;
10232 case 80: makemaz("Cav-0"); return;
10233 case 81: makemaz("Che-6"); return;
10234 case 82: makemaz("Che-7"); return;
10235 case 83: makemaz("Che-8"); return;
10236 case 84: makemaz("Che-9"); return;
10237 case 85: makemaz("Che-0"); return;
10238 case 86: makemaz("Con-6"); return;
10239 case 87: makemaz("Con-7"); return;
10240 case 88: makemaz("Con-8"); return;
10241 case 89: makemaz("Con-9"); return;
10242 case 90: makemaz("Con-0"); return;
10243 case 91: makemaz("Coo-6"); return;
10244 case 92: makemaz("Coo-7"); return;
10245 case 93: makemaz("Coo-8"); return;
10246 case 94: makemaz("Coo-9"); return;
10247 case 95: makemaz("Coo-0"); return;
10248 case 96: makemaz("Cou-6"); return;
10249 case 97: makemaz("Cou-7"); return;
10250 case 98: makemaz("Cou-8"); return;
10251 case 99: makemaz("Cou-9"); return;
10252 case 100: makemaz("Cou-0"); return;
10253 case 101: makemaz("Abu-6"); return;
10254 case 102: makemaz("Abu-7"); return;
10255 case 103: makemaz("Abu-8"); return;
10256 case 104: makemaz("Abu-9"); return;
10257 case 105: makemaz("Abu-0"); return;
10258 case 106: makemaz("Dea-6"); return;
10259 case 107: makemaz("Dea-7"); return;
10260 case 108: makemaz("Dea-8"); return;
10261 case 109: makemaz("Dea-9"); return;
10262 case 110: makemaz("Dea-0"); return;
10263 case 111: makemaz("Div-6"); return;
10264 case 112: makemaz("Div-7"); return;
10265 case 113: makemaz("Div-8"); return;
10266 case 114: makemaz("Div-9"); return;
10267 case 115: makemaz("Div-0"); return;
10268 case 116: makemaz("Dol-6"); return;
10269 case 117: makemaz("Dol-7"); return;
10270 case 118: makemaz("Dol-8"); return;
10271 case 119: makemaz("Dol-9"); return;
10272 case 120: makemaz("Dol-0"); return;
10273 case 121: makemaz("Dru-6"); return;
10274 case 122: makemaz("Dru-7"); return;
10275 case 123: makemaz("Dru-8"); return;
10276 case 124: makemaz("Dru-9"); return;
10277 case 125: makemaz("Dru-0"); return;
10278 case 126: makemaz("Dun-6"); return;
10279 case 127: makemaz("Dun-7"); return;
10280 case 128: makemaz("Dun-8"); return;
10281 case 129: makemaz("Dun-9"); return;
10282 case 130: makemaz("Dun-0"); return;
10283 case 131: makemaz("Ele-6"); return;
10284 case 132: makemaz("Ele-7"); return;
10285 case 133: makemaz("Ele-8"); return;
10286 case 134: makemaz("Ele-9"); return;
10287 case 135: makemaz("Ele-0"); return;
10288 case 136: makemaz("Elp-6"); return;
10289 case 137: makemaz("Elp-7"); return;
10290 case 138: makemaz("Elp-8"); return;
10291 case 139: makemaz("Elp-9"); return;
10292 case 140: makemaz("Elp-0"); return;
10293 case 141: makemaz("Stu-6"); return;
10294 case 142: makemaz("Stu-7"); return;
10295 case 143: makemaz("Stu-8"); return;
10296 case 144: makemaz("Stu-9"); return;
10297 case 145: makemaz("Stu-0"); return;
10298 case 146: makemaz("Fir-6"); return;
10299 case 147: makemaz("Fir-7"); return;
10300 case 148: makemaz("Fir-8"); return;
10301 case 149: makemaz("Fir-9"); return;
10302 case 150: makemaz("Fir-0"); return;
10303 case 151: makemaz("Fla-6"); return;
10304 case 152: makemaz("Fla-7"); return;
10305 case 153: makemaz("Fla-8"); return;
10306 case 154: makemaz("Fla-9"); return;
10307 case 155: makemaz("Fla-0"); return;
10308 case 156: makemaz("Fox-6"); return;
10309 case 157: makemaz("Fox-7"); return;
10310 case 158: makemaz("Fox-8"); return;
10311 case 159: makemaz("Fox-9"); return;
10312 case 160: makemaz("Fox-0"); return;
10313 case 161: makemaz("Gam-6"); return;
10314 case 162: makemaz("Gam-7"); return;
10315 case 163: makemaz("Gam-8"); return;
10316 case 164: makemaz("Gam-9"); return;
10317 case 165: makemaz("Gam-0"); return;
10318 case 166: makemaz("Gan-6"); return;
10319 case 167: makemaz("Gan-7"); return;
10320 case 168: makemaz("Gan-8"); return;
10321 case 169: makemaz("Gan-9"); return;
10322 case 170: makemaz("Gan-0"); return;
10323 case 171: makemaz("Gee-6"); return;
10324 case 172: makemaz("Gee-7"); return;
10325 case 173: makemaz("Gee-8"); return;
10326 case 174: makemaz("Gee-9"); return;
10327 case 175: makemaz("Gee-0"); return;
10328 case 176: makemaz("Gla-6"); return;
10329 case 177: makemaz("Gla-7"); return;
10330 case 178: makemaz("Gla-8"); return;
10331 case 179: makemaz("Gla-9"); return;
10332 case 180: makemaz("Gla-0"); return;
10333 case 181: makemaz("Gof-6"); return;
10334 case 182: makemaz("Gof-7"); return;
10335 case 183: makemaz("Gof-8"); return;
10336 case 184: makemaz("Gof-9"); return;
10337 case 185: makemaz("Gof-0"); return;
10338 case 186: makemaz("Gra-6"); return;
10339 case 187: makemaz("Gra-7"); return;
10340 case 188: makemaz("Gra-8"); return;
10341 case 189: makemaz("Gra-9"); return;
10342 case 190: makemaz("Gra-0"); return;
10343 case 191: makemaz("Gun-6"); return;
10344 case 192: makemaz("Gun-7"); return;
10345 case 193: makemaz("Gun-8"); return;
10346 case 194: makemaz("Gun-9"); return;
10347 case 195: makemaz("Gun-0"); return;
10348 case 196: makemaz("Hea-6"); return;
10349 case 197: makemaz("Hea-7"); return;
10350 case 198: makemaz("Hea-8"); return;
10351 case 199: makemaz("Hea-9"); return;
10352 case 200: makemaz("Hea-0"); return;
10353 case 201: makemaz("Ice-6"); return;
10354 case 202: makemaz("Ice-7"); return;
10355 case 203: makemaz("Ice-8"); return;
10356 case 204: makemaz("Ice-9"); return;
10357 case 205: makemaz("Ice-0"); return;
10358 case 206: makemaz("Scr-6"); return;
10359 case 207: makemaz("Scr-7"); return;
10360 case 208: makemaz("Scr-8"); return;
10361 case 209: makemaz("Scr-9"); return;
10362 case 210: makemaz("Scr-0"); return;
10363 case 211: makemaz("Jed-6"); return;
10364 case 212: makemaz("Jed-7"); return;
10365 case 213: makemaz("Jed-8"); return;
10366 case 214: makemaz("Jed-9"); return;
10367 case 215: makemaz("Jed-0"); return;
10368 case 216: makemaz("Jes-6"); return;
10369 case 217: makemaz("Jes-7"); return;
10370 case 218: makemaz("Jes-8"); return;
10371 case 219: makemaz("Jes-9"); return;
10372 case 220: makemaz("Jes-0"); return;
10373 case 221: makemaz("Kni-6"); return;
10374 case 222: makemaz("Kni-7"); return;
10375 case 223: makemaz("Kni-8"); return;
10376 case 224: makemaz("Kni-9"); return;
10377 case 225: makemaz("Kni-0"); return;
10378 case 226: makemaz("Kor-6"); return;
10379 case 227: makemaz("Kor-7"); return;
10380 case 228: makemaz("Kor-8"); return;
10381 case 229: makemaz("Kor-9"); return;
10382 case 230: makemaz("Kor-0"); return;
10383 case 231: makemaz("Lad-6"); return;
10384 case 232: makemaz("Lad-7"); return;
10385 case 233: makemaz("Lad-8"); return;
10386 case 234: makemaz("Lad-9"); return;
10387 case 235: makemaz("Lad-0"); return;
10388 case 236: makemaz("Lib-6"); return;
10389 case 237: makemaz("Lib-7"); return;
10390 case 238: makemaz("Lib-8"); return;
10391 case 239: makemaz("Lib-9"); return;
10392 case 240: makemaz("Lib-0"); return;
10393 case 241: makemaz("Loc-6"); return;
10394 case 242: makemaz("Loc-7"); return;
10395 case 243: makemaz("Loc-8"); return;
10396 case 244: makemaz("Loc-9"); return;
10397 case 245: makemaz("Loc-0"); return;
10398 case 246: makemaz("Lun-6"); return;
10399 case 247: makemaz("Lun-7"); return;
10400 case 248: makemaz("Lun-8"); return;
10401 case 249: makemaz("Lun-9"); return;
10402 case 250: makemaz("Lun-0"); return;
10403 case 251: makemaz("Mah-6"); return;
10404 case 252: makemaz("Mah-7"); return;
10405 case 253: makemaz("Mah-8"); return;
10406 case 254: makemaz("Mah-9"); return;
10407 case 255: makemaz("Mah-0"); return;
10408 case 256: makemaz("Mon-6"); return;
10409 case 257: makemaz("Mon-7"); return;
10410 case 258: makemaz("Mon-8"); return;
10411 case 259: makemaz("Mon-9"); return;
10412 case 260: makemaz("Mon-0"); return;
10413 case 261: makemaz("Mus-6"); return;
10414 case 262: makemaz("Mus-7"); return;
10415 case 263: makemaz("Mus-8"); return;
10416 case 264: makemaz("Mus-9"); return;
10417 case 265: makemaz("Mus-0"); return;
10418 case 266: makemaz("Mys-6"); return;
10419 case 267: makemaz("Mys-7"); return;
10420 case 268: makemaz("Mys-8"); return;
10421 case 269: makemaz("Mys-9"); return;
10422 case 270: makemaz("Mys-0"); return;
10423 case 271: makemaz("Nec-6"); return;
10424 case 272: makemaz("Nec-7"); return;
10425 case 273: makemaz("Nec-8"); return;
10426 case 274: makemaz("Nec-9"); return;
10427 case 275: makemaz("Nec-0"); return;
10428 case 276: makemaz("Nin-6"); return;
10429 case 277: makemaz("Nin-7"); return;
10430 case 278: makemaz("Nin-8"); return;
10431 case 279: makemaz("Nin-9"); return;
10432 case 280: makemaz("Nin-0"); return;
10433 case 281: makemaz("Nob-6"); return;
10434 case 282: makemaz("Nob-7"); return;
10435 case 283: makemaz("Nob-8"); return;
10436 case 284: makemaz("Nob-9"); return;
10437 case 285: makemaz("Nob-0"); return;
10438 case 286: makemaz("Off-6"); return;
10439 case 287: makemaz("Off-7"); return;
10440 case 288: makemaz("Off-8"); return;
10441 case 289: makemaz("Off-9"); return;
10442 case 290: makemaz("Off-0"); return;
10443 case 291: makemaz("Ord-6"); return;
10444 case 292: makemaz("Ord-7"); return;
10445 case 293: makemaz("Ord-8"); return;
10446 case 294: makemaz("Ord-9"); return;
10447 case 295: makemaz("Ord-0"); return;
10448 case 296: makemaz("Ota-6"); return;
10449 case 297: makemaz("Ota-7"); return;
10450 case 298: makemaz("Ota-8"); return;
10451 case 299: makemaz("Ota-9"); return;
10452 case 300: makemaz("Ota-0"); return;
10453 case 301: makemaz("Pal-6"); return;
10454 case 302: makemaz("Pal-7"); return;
10455 case 303: makemaz("Pal-8"); return;
10456 case 304: makemaz("Pal-9"); return;
10457 case 305: makemaz("Pal-0"); return;
10458 case 306: makemaz("Pic-6"); return;
10459 case 307: makemaz("Pic-7"); return;
10460 case 308: makemaz("Pic-8"); return;
10461 case 309: makemaz("Pic-9"); return;
10462 case 310: makemaz("Pic-0"); return;
10463 case 311: makemaz("Pir-6"); return;
10464 case 312: makemaz("Pir-7"); return;
10465 case 313: makemaz("Pir-8"); return;
10466 case 314: makemaz("Pir-9"); return;
10467 case 315: makemaz("Pir-0"); return;
10468 case 316: makemaz("Pok-6"); return;
10469 case 317: makemaz("Pok-7"); return;
10470 case 318: makemaz("Pok-8"); return;
10471 case 319: makemaz("Pok-9"); return;
10472 case 320: makemaz("Pok-0"); return;
10473 case 321: makemaz("Pol-6"); return;
10474 case 322: makemaz("Pol-7"); return;
10475 case 323: makemaz("Pol-8"); return;
10476 case 324: makemaz("Pol-9"); return;
10477 case 325: makemaz("Pol-0"); return;
10478 case 326: makemaz("Pri-6"); return;
10479 case 327: makemaz("Pri-7"); return;
10480 case 328: makemaz("Pri-8"); return;
10481 case 329: makemaz("Pri-9"); return;
10482 case 330: makemaz("Pri-0"); return;
10483 case 331: makemaz("Psi-6"); return;
10484 case 332: makemaz("Psi-7"); return;
10485 case 333: makemaz("Psi-8"); return;
10486 case 334: makemaz("Psi-9"); return;
10487 case 335: makemaz("Psi-0"); return;
10488 case 336: makemaz("Ran-6"); return;
10489 case 337: makemaz("Ran-7"); return;
10490 case 338: makemaz("Ran-8"); return;
10491 case 339: makemaz("Ran-9"); return;
10492 case 340: makemaz("Ran-0"); return;
10493 case 341: makemaz("Roc-6"); return;
10494 case 342: makemaz("Roc-7"); return;
10495 case 343: makemaz("Roc-8"); return;
10496 case 344: makemaz("Roc-9"); return;
10497 case 345: makemaz("Roc-0"); return;
10498 case 346: makemaz("Rog-6"); return;
10499 case 347: makemaz("Rog-7"); return;
10500 case 348: makemaz("Rog-8"); return;
10501 case 349: makemaz("Rog-9"); return;
10502 case 350: makemaz("Rog-0"); return;
10503 case 351: makemaz("Sag-6"); return;
10504 case 352: makemaz("Sag-7"); return;
10505 case 353: makemaz("Sag-8"); return;
10506 case 354: makemaz("Sag-9"); return;
10507 case 355: makemaz("Sag-0"); return;
10508 case 356: makemaz("Sai-6"); return;
10509 case 357: makemaz("Sai-7"); return;
10510 case 358: makemaz("Sai-8"); return;
10511 case 359: makemaz("Sai-9"); return;
10512 case 360: makemaz("Sai-0"); return;
10513 case 361: makemaz("Sam-6"); return;
10514 case 362: makemaz("Sam-7"); return;
10515 case 363: makemaz("Sam-8"); return;
10516 case 364: makemaz("Sam-9"); return;
10517 case 365: makemaz("Sam-0"); return;
10518 case 366: makemaz("Sci-6"); return;
10519 case 367: makemaz("Sci-7"); return;
10520 case 368: makemaz("Sci-8"); return;
10521 case 369: makemaz("Sci-9"); return;
10522 case 370: makemaz("Sci-0"); return;
10523 case 371: makemaz("Sla-6"); return;
10524 case 372: makemaz("Sla-7"); return;
10525 case 373: makemaz("Sla-8"); return;
10526 case 374: makemaz("Sla-9"); return;
10527 case 375: makemaz("Sla-0"); return;
10528 case 376: makemaz("Spa-6"); return;
10529 case 377: makemaz("Spa-7"); return;
10530 case 378: makemaz("Spa-8"); return;
10531 case 379: makemaz("Spa-9"); return;
10532 case 380: makemaz("Spa-0"); return;
10533 case 381: makemaz("Sup-6"); return;
10534 case 382: makemaz("Sup-7"); return;
10535 case 383: makemaz("Sup-8"); return;
10536 case 384: makemaz("Sup-9"); return;
10537 case 385: makemaz("Sup-0"); return;
10538 case 386: makemaz("Tha-6"); return;
10539 case 387: makemaz("Tha-7"); return;
10540 case 388: makemaz("Tha-8"); return;
10541 case 389: makemaz("Tha-9"); return;
10542 case 390: makemaz("Tha-0"); return;
10543 case 391: makemaz("Top-6"); return;
10544 case 392: makemaz("Top-7"); return;
10545 case 393: makemaz("Top-8"); return;
10546 case 394: makemaz("Top-9"); return;
10547 case 395: makemaz("Top-0"); return;
10548 case 396: makemaz("Tou-6"); return;
10549 case 397: makemaz("Tou-7"); return;
10550 case 398: makemaz("Tou-8"); return;
10551 case 399: makemaz("Tou-9"); return;
10552 case 400: makemaz("Tou-0"); return;
10553 case 401: makemaz("Tra-6"); return;
10554 case 402: makemaz("Tra-7"); return;
10555 case 403: makemaz("Tra-8"); return;
10556 case 404: makemaz("Tra-9"); return;
10557 case 405: makemaz("Tra-0"); return;
10558 case 406: makemaz("Und-6"); return;
10559 case 407: makemaz("Und-7"); return;
10560 case 408: makemaz("Und-8"); return;
10561 case 409: makemaz("Und-9"); return;
10562 case 410: makemaz("Und-0"); return;
10563 case 411: makemaz("Unt-6"); return;
10564 case 412: makemaz("Unt-7"); return;
10565 case 413: makemaz("Unt-8"); return;
10566 case 414: makemaz("Unt-9"); return;
10567 case 415: makemaz("Unt-0"); return;
10568 case 416: makemaz("Val-6"); return;
10569 case 417: makemaz("Val-7"); return;
10570 case 418: makemaz("Val-8"); return;
10571 case 419: makemaz("Val-9"); return;
10572 case 420: makemaz("Val-0"); return;
10573 case 421: makemaz("Wan-6"); return;
10574 case 422: makemaz("Wan-7"); return;
10575 case 423: makemaz("Wan-8"); return;
10576 case 424: makemaz("Wan-9"); return;
10577 case 425: makemaz("Wan-0"); return;
10578 case 426: makemaz("War-6"); return;
10579 case 427: makemaz("War-7"); return;
10580 case 428: makemaz("War-8"); return;
10581 case 429: makemaz("War-9"); return;
10582 case 430: makemaz("War-0"); return;
10583 case 431: makemaz("Wiz-6"); return;
10584 case 432: makemaz("Wiz-7"); return;
10585 case 433: makemaz("Wiz-8"); return;
10586 case 434: makemaz("Wiz-9"); return;
10587 case 435: makemaz("Wiz-0"); return;
10588 case 436: makemaz("Yeo-6"); return;
10589 case 437: makemaz("Yeo-7"); return;
10590 case 438: makemaz("Yeo-8"); return;
10591 case 439: makemaz("Yeo-9"); return;
10592 case 440: makemaz("Yeo-0"); return;
10593 case 441: makemaz("Zoo-6"); return;
10594 case 442: makemaz("Zoo-7"); return;
10595 case 443: makemaz("Zoo-8"); return;
10596 case 444: makemaz("Zoo-9"); return;
10597 case 445: makemaz("Zoo-0"); return;
10598 case 446: makemaz("Zyb-6"); return;
10599 case 447: makemaz("Zyb-7"); return;
10600 case 448: makemaz("Zyb-8"); return;
10601 case 449: makemaz("Zyb-9"); return;
10602 case 450: makemaz("Zyb-0"); return;
10603 case 451: makemaz("Ana-6"); return;
10604 case 452: makemaz("Ana-7"); return;
10605 case 453: makemaz("Ana-8"); return;
10606 case 454: makemaz("Ana-9"); return;
10607 case 455: makemaz("Ana-0"); return;
10608 case 456: makemaz("Cam-6"); return;
10609 case 457: makemaz("Cam-7"); return;
10610 case 458: makemaz("Cam-8"); return;
10611 case 459: makemaz("Cam-9"); return;
10612 case 460: makemaz("Cam-0"); return;
10613 case 461: makemaz("Mar-6"); return;
10614 case 462: makemaz("Mar-7"); return;
10615 case 463: makemaz("Mar-8"); return;
10616 case 464: makemaz("Mar-9"); return;
10617 case 465: makemaz("Mar-0"); return;
10618 case 466: makemaz("Sli-6"); return;
10619 case 467: makemaz("Sli-7"); return;
10620 case 468: makemaz("Sli-8"); return;
10621 case 469: makemaz("Sli-9"); return;
10622 case 470: makemaz("Sli-0"); return;
10623 case 471: makemaz("Drd-6"); return;
10624 case 472: makemaz("Drd-7"); return;
10625 case 473: makemaz("Drd-8"); return;
10626 case 474: makemaz("Drd-9"); return;
10627 case 475: makemaz("Drd-0"); return;
10628 case 476: makemaz("Erd-6"); return;
10629 case 477: makemaz("Erd-7"); return;
10630 case 478: makemaz("Erd-8"); return;
10631 case 479: makemaz("Erd-9"); return;
10632 case 480: makemaz("Erd-0"); return;
10633 case 481: makemaz("Fai-6"); return;
10634 case 482: makemaz("Fai-7"); return;
10635 case 483: makemaz("Fai-8"); return;
10636 case 484: makemaz("Fai-9"); return;
10637 case 485: makemaz("Fai-0"); return;
10638 case 486: makemaz("Fen-6"); return;
10639 case 487: makemaz("Fen-7"); return;
10640 case 488: makemaz("Fen-8"); return;
10641 case 489: makemaz("Fen-9"); return;
10642 case 490: makemaz("Fen-0"); return;
10643 case 491: makemaz("Fig-6"); return;
10644 case 492: makemaz("Fig-7"); return;
10645 case 493: makemaz("Fig-8"); return;
10646 case 494: makemaz("Fig-9"); return;
10647 case 495: makemaz("Fig-0"); return;
10648 case 496: makemaz("Gol-6"); return;
10649 case 497: makemaz("Gol-7"); return;
10650 case 498: makemaz("Gol-8"); return;
10651 case 499: makemaz("Gol-9"); return;
10652 case 500: makemaz("Gol-0"); return;
10653 case 501: makemaz("Jus-6"); return;
10654 case 502: makemaz("Jus-7"); return;
10655 case 503: makemaz("Jus-8"); return;
10656 case 504: makemaz("Jus-9"); return;
10657 case 505: makemaz("Jus-0"); return;
10658 case 506: makemaz("Med-6"); return;
10659 case 507: makemaz("Med-7"); return;
10660 case 508: makemaz("Med-8"); return;
10661 case 509: makemaz("Med-9"); return;
10662 case 510: makemaz("Med-0"); return;
10663 case 511: makemaz("Mid-6"); return;
10664 case 512: makemaz("Mid-7"); return;
10665 case 513: makemaz("Mid-8"); return;
10666 case 514: makemaz("Mid-9"); return;
10667 case 515: makemaz("Mid-0"); return;
10668 case 516: makemaz("Mur-6"); return;
10669 case 517: makemaz("Mur-7"); return;
10670 case 518: makemaz("Mur-8"); return;
10671 case 519: makemaz("Mur-9"); return;
10672 case 520: makemaz("Mur-0"); return;
10673 case 521: makemaz("Poi-6"); return;
10674 case 522: makemaz("Poi-7"); return;
10675 case 523: makemaz("Poi-8"); return;
10676 case 524: makemaz("Poi-9"); return;
10677 case 525: makemaz("Poi-0"); return;
10678 case 526: makemaz("Rin-6"); return;
10679 case 527: makemaz("Rin-7"); return;
10680 case 528: makemaz("Rin-8"); return;
10681 case 529: makemaz("Rin-9"); return;
10682 case 530: makemaz("Rin-0"); return;
10683 case 531: makemaz("Sha-6"); return;
10684 case 532: makemaz("Sha-7"); return;
10685 case 533: makemaz("Sha-8"); return;
10686 case 534: makemaz("Sha-9"); return;
10687 case 535: makemaz("Sha-0"); return;
10688 case 536: makemaz("Twe-6"); return;
10689 case 537: makemaz("Twe-7"); return;
10690 case 538: makemaz("Twe-8"); return;
10691 case 539: makemaz("Twe-9"); return;
10692 case 540: makemaz("Twe-0"); return;
10693 case 541: makemaz("Use-6"); return;
10694 case 542: makemaz("Use-7"); return;
10695 case 543: makemaz("Use-8"); return;
10696 case 544: makemaz("Use-9"); return;
10697 case 545: makemaz("Use-0"); return;
10698 case 546: makemaz("Sex-6"); return;
10699 case 547: makemaz("Sex-7"); return;
10700 case 548: makemaz("Sex-8"); return;
10701 case 549: makemaz("Sex-9"); return;
10702 case 550: makemaz("Sex-0"); return;
10703 case 551: makemaz("Unb-6"); return;
10704 case 552: makemaz("Unb-7"); return;
10705 case 553: makemaz("Unb-8"); return;
10706 case 554: makemaz("Unb-9"); return;
10707 case 555: makemaz("Unb-0"); return;
10708 case 556: makemaz("Trs-6"); return;
10709 case 557: makemaz("Trs-7"); return;
10710 case 558: makemaz("Trs-8"); return;
10711 case 559: makemaz("Trs-9"); return;
10712 case 560: makemaz("Trs-0"); return;
10713 case 561: makemaz("Cha-6"); return;
10714 case 562: makemaz("Cha-7"); return;
10715 case 563: makemaz("Cha-8"); return;
10716 case 564: makemaz("Cha-9"); return;
10717 case 565: makemaz("Cha-0"); return;
10718 case 566: makemaz("Elm-6"); return;
10719 case 567: makemaz("Elm-7"); return;
10720 case 568: makemaz("Elm-8"); return;
10721 case 569: makemaz("Elm-9"); return;
10722 case 570: makemaz("Elm-0"); return;
10723 case 571: makemaz("Wil-6"); return;
10724 case 572: makemaz("Wil-7"); return;
10725 case 573: makemaz("Wil-8"); return;
10726 case 574: makemaz("Wil-9"); return;
10727 case 575: makemaz("Wil-0"); return;
10728 case 576: makemaz("Occ-6"); return;
10729 case 577: makemaz("Occ-7"); return;
10730 case 578: makemaz("Occ-8"); return;
10731 case 579: makemaz("Occ-9"); return;
10732 case 580: makemaz("Occ-0"); return;
10733 case 581: makemaz("Pro-6"); return;
10734 case 582: makemaz("Pro-7"); return;
10735 case 583: makemaz("Pro-8"); return;
10736 case 584: makemaz("Pro-9"); return;
10737 case 585: makemaz("Pro-0"); return;
10738 case 586: makemaz("Kur-6"); return;
10739 case 587: makemaz("Kur-7"); return;
10740 case 588: makemaz("Kur-8"); return;
10741 case 589: makemaz("Kur-9"); return;
10742 case 590: makemaz("Kur-0"); return;
10743 case 591: makemaz("For-6"); return;
10744 case 592: makemaz("For-7"); return;
10745 case 593: makemaz("For-8"); return;
10746 case 594: makemaz("For-9"); return;
10747 case 595: makemaz("For-0"); return;
10748 case 596: makemaz("Trc-6"); return;
10749 case 597: makemaz("Trc-7"); return;
10750 case 598: makemaz("Trc-8"); return;
10751 case 599: makemaz("Trc-9"); return;
10752 case 600: makemaz("Trc-0"); return;
10753 case 601: makemaz("Nuc-6"); return;
10754 case 602: makemaz("Nuc-7"); return;
10755 case 603: makemaz("Nuc-8"); return;
10756 case 604: makemaz("Nuc-9"); return;
10757 case 605: makemaz("Nuc-0"); return;
10758 case 606: makemaz("Sco-6"); return;
10759 case 607: makemaz("Sco-7"); return;
10760 case 608: makemaz("Sco-8"); return;
10761 case 609: makemaz("Sco-9"); return;
10762 case 610: makemaz("Sco-0"); return;
10763 case 611: makemaz("Fem-6"); return;
10764 case 612: makemaz("Fem-7"); return;
10765 case 613: makemaz("Fem-8"); return;
10766 case 614: makemaz("Fem-9"); return;
10767 case 615: makemaz("Fem-0"); return;
10768 case 616: makemaz("Hus-6"); return;
10769 case 617: makemaz("Hus-7"); return;
10770 case 618: makemaz("Hus-8"); return;
10771 case 619: makemaz("Hus-9"); return;
10772 case 620: makemaz("Hus-0"); return;
10773 case 621: makemaz("Acu-6"); return;
10774 case 622: makemaz("Acu-7"); return;
10775 case 623: makemaz("Acu-8"); return;
10776 case 624: makemaz("Acu-9"); return;
10777 case 625: makemaz("Acu-0"); return;
10778 case 626: makemaz("Mas-6"); return;
10779 case 627: makemaz("Mas-7"); return;
10780 case 628: makemaz("Mas-8"); return;
10781 case 629: makemaz("Mas-9"); return;
10782 case 630: makemaz("Mas-0"); return;
10783 case 631: makemaz("Gre-6"); return;
10784 case 632: makemaz("Gre-7"); return;
10785 case 633: makemaz("Gre-8"); return;
10786 case 634: makemaz("Gre-9"); return;
10787 case 635: makemaz("Gre-0"); return;
10788 case 636: makemaz("Cel-6"); return;
10789 case 637: makemaz("Cel-7"); return;
10790 case 638: makemaz("Cel-8"); return;
10791 case 639: makemaz("Cel-9"); return;
10792 case 640: makemaz("Cel-0"); return;
10793 case 641: makemaz("Wal-6"); return;
10794 case 642: makemaz("Wal-7"); return;
10795 case 643: makemaz("Wal-8"); return;
10796 case 644: makemaz("Wal-9"); return;
10797 case 645: makemaz("Wal-0"); return;
10798 case 646: makemaz("Soc-6"); return;
10799 case 647: makemaz("Soc-7"); return;
10800 case 648: makemaz("Soc-8"); return;
10801 case 649: makemaz("Soc-9"); return;
10802 case 650: makemaz("Soc-0"); return;
10803 case 651: makemaz("Dem-6"); return;
10804 case 652: makemaz("Dem-7"); return;
10805 case 653: makemaz("Dem-8"); return;
10806 case 654: makemaz("Dem-9"); return;
10807 case 655: makemaz("Dem-0"); return;
10808 case 656: makemaz("Dis-6"); return;
10809 case 657: makemaz("Dis-7"); return;
10810 case 658: makemaz("Dis-8"); return;
10811 case 659: makemaz("Dis-9"); return;
10812 case 660: makemaz("Dis-0"); return;
10813 case 661: makemaz("Sto-6"); return;
10814 case 662: makemaz("Sto-7"); return;
10815 case 663: makemaz("Sto-8"); return;
10816 case 664: makemaz("Sto-9"); return;
10817 case 665: makemaz("Sto-0"); return;
10818 case 666: makemaz("Mam-6"); return;
10819 case 667: makemaz("Mam-7"); return;
10820 case 668: makemaz("Mam-8"); return;
10821 case 669: makemaz("Mam-9"); return;
10822 case 670: makemaz("Mam-0"); return;
10823 case 671: makemaz("Jan-6"); return;
10824 case 672: makemaz("Jan-7"); return;
10825 case 673: makemaz("Jan-8"); return;
10826 case 674: makemaz("Jan-9"); return;
10827 case 675: makemaz("Jan-0"); return;
10828 case 676: makemaz("Emp-6"); return;
10829 case 677: makemaz("Emp-7"); return;
10830 case 678: makemaz("Emp-8"); return;
10831 case 679: makemaz("Emp-9"); return;
10832 case 680: makemaz("Emp-0"); return;
10833 case 681: makemaz("Psy-6"); return;
10834 case 682: makemaz("Psy-7"); return;
10835 case 683: makemaz("Psy-8"); return;
10836 case 684: makemaz("Psy-9"); return;
10837 case 685: makemaz("Psy-0"); return;
10838 case 686: makemaz("Qua-6"); return;
10839 case 687: makemaz("Qua-7"); return;
10840 case 688: makemaz("Qua-8"); return;
10841 case 689: makemaz("Qua-9"); return;
10842 case 690: makemaz("Qua-0"); return;
10843 case 691: makemaz("Cra-6"); return;
10844 case 692: makemaz("Cra-7"); return;
10845 case 693: makemaz("Cra-8"); return;
10846 case 694: makemaz("Cra-9"); return;
10847 case 695: makemaz("Cra-0"); return;
10848 case 696: makemaz("Wei-6"); return;
10849 case 697: makemaz("Wei-7"); return;
10850 case 698: makemaz("Wei-8"); return;
10851 case 699: makemaz("Wei-9"); return;
10852 case 700: makemaz("Wei-0"); return;
10853 case 701: makemaz("Xel-6"); return;
10854 case 702: makemaz("Xel-7"); return;
10855 case 703: makemaz("Xel-8"); return;
10856 case 704: makemaz("Xel-9"); return;
10857 case 705: makemaz("Xel-0"); return;
10858 case 706: makemaz("Yau-6"); return;
10859 case 707: makemaz("Yau-7"); return;
10860 case 708: makemaz("Yau-8"); return;
10861 case 709: makemaz("Yau-9"); return;
10862 case 710: makemaz("Yau-0"); return;
10863 case 711: makemaz("Sof-6"); return;
10864 case 712: makemaz("Sof-7"); return;
10865 case 713: makemaz("Sof-8"); return;
10866 case 714: makemaz("Sof-9"); return;
10867 case 715: makemaz("Sof-0"); return;
10868 case 716: makemaz("Ast-6"); return;
10869 case 717: makemaz("Ast-7"); return;
10870 case 718: makemaz("Ast-8"); return;
10871 case 719: makemaz("Ast-9"); return;
10872 case 720: makemaz("Ast-0"); return;
10873 case 721: makemaz("Sma-6"); return;
10874 case 722: makemaz("Sma-7"); return;
10875 case 723: makemaz("Sma-8"); return;
10876 case 724: makemaz("Sma-9"); return;
10877 case 725: makemaz("Sma-0"); return;
10878 case 726: makemaz("Cyb-6"); return;
10879 case 727: makemaz("Cyb-7"); return;
10880 case 728: makemaz("Cyb-8"); return;
10881 case 729: makemaz("Cyb-9"); return;
10882 case 730: makemaz("Cyb-0"); return;
10883 case 731: makemaz("Tos-6"); return;
10884 case 732: makemaz("Tos-7"); return;
10885 case 733: makemaz("Tos-8"); return;
10886 case 734: makemaz("Tos-9"); return;
10887 case 735: makemaz("Tos-0"); return;
10888 case 736: makemaz("Sym-6"); return;
10889 case 737: makemaz("Sym-7"); return;
10890 case 738: makemaz("Sym-8"); return;
10891 case 739: makemaz("Sym-9"); return;
10892 case 740: makemaz("Sym-0"); return;
10893 case 741: makemaz("Pra-6"); return;
10894 case 742: makemaz("Pra-7"); return;
10895 case 743: makemaz("Pra-8"); return;
10896 case 744: makemaz("Pra-9"); return;
10897 case 745: makemaz("Pra-0"); return;
10898 case 746: makemaz("Mil-6"); return;
10899 case 747: makemaz("Mil-7"); return;
10900 case 748: makemaz("Mil-8"); return;
10901 case 749: makemaz("Mil-9"); return;
10902 case 750: makemaz("Mil-0"); return;
10903 case 751: makemaz("Gen-6"); return;
10904 case 752: makemaz("Gen-7"); return;
10905 case 753: makemaz("Gen-8"); return;
10906 case 754: makemaz("Gen-9"); return;
10907 case 755: makemaz("Gen-0"); return;
10908 case 756: makemaz("Fjo-6"); return;
10909 case 757: makemaz("Fjo-7"); return;
10910 case 758: makemaz("Fjo-8"); return;
10911 case 759: makemaz("Fjo-9"); return;
10912 case 760: makemaz("Fjo-0"); return;
10913 case 761: makemaz("Eme-6"); return;
10914 case 762: makemaz("Eme-7"); return;
10915 case 763: makemaz("Eme-8"); return;
10916 case 764: makemaz("Eme-9"); return;
10917 case 765: makemaz("Eme-0"); return;
10918 case 766: makemaz("Com-6"); return;
10919 case 767: makemaz("Com-7"); return;
10920 case 768: makemaz("Com-8"); return;
10921 case 769: makemaz("Com-9"); return;
10922 case 770: makemaz("Com-0"); return;
10923 case 771: makemaz("Akl-6"); return;
10924 case 772: makemaz("Akl-7"); return;
10925 case 773: makemaz("Akl-8"); return;
10926 case 774: makemaz("Akl-9"); return;
10927 case 775: makemaz("Akl-0"); return;
10928 case 776: makemaz("Dra-6"); return;
10929 case 777: makemaz("Dra-7"); return;
10930 case 778: makemaz("Dra-8"); return;
10931 case 779: makemaz("Dra-9"); return;
10932 case 780: makemaz("Dra-0"); return;
10933 case 781: makemaz("Car-6"); return;
10934 case 782: makemaz("Car-7"); return;
10935 case 783: makemaz("Car-8"); return;
10936 case 784: makemaz("Car-9"); return;
10937 case 785: makemaz("Car-0"); return;
10938 case 786: makemaz("But-6"); return;
10939 case 787: makemaz("But-7"); return;
10940 case 788: makemaz("But-8"); return;
10941 case 789: makemaz("But-9"); return;
10942 case 790: makemaz("But-0"); return;
10943 case 791: makemaz("Dan-6"); return;
10944 case 792: makemaz("Dan-7"); return;
10945 case 793: makemaz("Dan-8"); return;
10946 case 794: makemaz("Dan-9"); return;
10947 case 795: makemaz("Dan-0"); return;
10948 case 796: makemaz("Dia-6"); return;
10949 case 797: makemaz("Dia-7"); return;
10950 case 798: makemaz("Dia-8"); return;
10951 case 799: makemaz("Dia-9"); return;
10952 case 800: makemaz("Dia-0"); return;
10953 case 801: makemaz("Pre-6"); return;
10954 case 802: makemaz("Pre-7"); return;
10955 case 803: makemaz("Pre-8"); return;
10956 case 804: makemaz("Pre-9"); return;
10957 case 805: makemaz("Pre-0"); return;
10958 case 806: makemaz("Sec-6"); return;
10959 case 807: makemaz("Sec-7"); return;
10960 case 808: makemaz("Sec-8"); return;
10961 case 809: makemaz("Sec-9"); return;
10962 case 810: makemaz("Sec-0"); return;
10963 case 811: makemaz("Sho-6"); return;
10964 case 812: makemaz("Sho-7"); return;
10965 case 813: makemaz("Sho-8"); return;
10966 case 814: makemaz("Sho-9"); return;
10967 case 815: makemaz("Sho-0"); return;
10968 case 816: makemaz("Hal-6"); return;
10969 case 817: makemaz("Hal-7"); return;
10970 case 818: makemaz("Hal-8"); return;
10971 case 819: makemaz("Hal-9"); return;
10972 case 820: makemaz("Hal-0"); return;
10973 case 821: makemaz("Sin-6"); return;
10974 case 822: makemaz("Sin-7"); return;
10975 case 823: makemaz("Sin-8"); return;
10976 case 824: makemaz("Sin-9"); return;
10977 case 825: makemaz("Sin-0"); return;
10978 case 826: makemaz("Hed-6"); return;
10979 case 827: makemaz("Hed-7"); return;
10980 case 828: makemaz("Hed-8"); return;
10981 case 829: makemaz("Hed-9"); return;
10982 case 830: makemaz("Hed-0"); return;
10983 case 831: makemaz("Van-6"); return;
10984 case 832: makemaz("Van-7"); return;
10985 case 833: makemaz("Van-8"); return;
10986 case 834: makemaz("Van-9"); return;
10987 case 835: makemaz("Van-0"); return;
10988 case 836: makemaz("Sdw-6"); return;
10989 case 837: makemaz("Sdw-7"); return;
10990 case 838: makemaz("Sdw-8"); return;
10991 case 839: makemaz("Sdw-9"); return;
10992 case 840: makemaz("Sdw-0"); return;
10993 case 841: makemaz("Cli-6"); return;
10994 case 842: makemaz("Cli-7"); return;
10995 case 843: makemaz("Cli-8"); return;
10996 case 844: makemaz("Cli-9"); return;
10997 case 845: makemaz("Cli-0"); return;
10998 case 846: makemaz("Wom-6"); return;
10999 case 847: makemaz("Wom-7"); return;
11000 case 848: makemaz("Wom-8"); return;
11001 case 849: makemaz("Wom-9"); return;
11002 case 850: makemaz("Wom-0"); return;
11003 case 851: makemaz("Noo-6"); return;
11004 case 852: makemaz("Noo-7"); return;
11005 case 853: makemaz("Noo-8"); return;
11006 case 854: makemaz("Noo-9"); return;
11007 case 855: makemaz("Noo-0"); return;
11008 case 856: makemaz("Joc-6"); return;
11009 case 857: makemaz("Joc-7"); return;
11010 case 858: makemaz("Joc-8"); return;
11011 case 859: makemaz("Joc-9"); return;
11012 case 860: makemaz("Joc-0"); return;
11013 case 861: makemaz("All-6"); return;
11014 case 862: makemaz("All-7"); return;
11015 case 863: makemaz("All-8"); return;
11016 case 864: makemaz("All-9"); return;
11017 case 865: makemaz("All-0"); return;
11018 case 866: makemaz("Spe-6"); return;
11019 case 867: makemaz("Spe-7"); return;
11020 case 868: makemaz("Spe-8"); return;
11021 case 869: makemaz("Spe-9"); return;
11022 case 870: makemaz("Spe-0"); return;
11024 break;
11026 case 94:
11027 case 95:
11028 case 96:
11029 case 97:
11030 case 98:
11031 case 99:
11032 case 100:
11034 switch (rnd(69)) {
11036 case 1: makemaz("mazes-1"); return;
11037 case 2: makemaz("mazes-2"); return;
11038 case 3: makemaz("mazes-3"); return;
11039 case 4: makemaz("mazes-4"); return;
11040 case 5: makemaz("mazes-5"); return;
11041 case 6: makemaz("mazes-6"); return;
11042 case 7: makemaz("mazes-7"); return;
11043 case 8: makemaz("mazes-8"); return;
11044 case 9: makemaz("mazes-9"); return;
11045 case 10: makemaz("mazes-10"); return;
11046 case 11: makemaz("mazes-11"); return;
11047 case 12: makemaz("mazes-12"); return;
11048 case 13: makemaz("mazes-13"); return;
11049 case 14: makemaz("mazes-14"); return;
11050 case 15: makemaz("mazes-15"); return;
11051 case 16: makemaz("mazes-16"); return;
11052 case 17: makemaz("mazes-17"); return;
11053 case 18: makemaz("mazes-18"); return;
11054 case 19: makemaz("mazes-19"); return;
11055 case 20: makemaz("mazes-20"); return;
11056 case 21: makemaz("mazes-21"); return;
11057 case 22: makemaz("mazes-22"); return;
11058 case 23: makemaz("mazes-23"); return;
11059 case 24: makemaz("mazes-24"); return;
11060 case 25: makemaz("mazes-25"); return;
11061 case 26: makemaz("mazes-26"); return;
11062 case 27: makemaz("mazes-27"); return;
11063 case 28: makemaz("mazes-28"); return;
11064 case 29: makemaz("mazes-29"); return;
11065 case 30: makemaz("mazes-30"); return;
11066 case 31: makemaz("mazes-31"); return;
11067 case 32: makemaz("mazes-32"); return;
11068 case 33: makemaz("mazes-33"); return;
11069 case 34: makemaz("mazes-34"); return;
11070 case 35: makemaz("mazes-35"); return;
11071 case 36: makemaz("mazes-36"); return;
11072 case 37: makemaz("mazes-37"); return;
11073 case 38: makemaz("mazes-38"); return;
11074 case 39: makemaz("mazes-39"); return;
11075 case 40: makemaz("mazes-40"); return;
11076 case 41: makemaz("mazes-41"); return;
11077 case 42: makemaz("mazes-42"); return;
11078 case 43: makemaz("mazes-43"); return;
11079 case 44: makemaz("mazes-44"); return;
11080 case 45: makemaz("mazes-45"); return;
11081 case 46: makemaz("mazes-46"); return;
11082 case 47: makemaz("mazes-47"); return;
11083 case 48: makemaz("mazes-48"); return;
11084 case 49: makemaz("mazes-49"); return;
11085 case 50: makemaz("mazes-50"); return;
11086 case 51: makemaz("mazes-51"); return;
11087 case 52: makemaz("mazes-52"); return;
11088 case 53: makemaz("mazes-53"); return;
11089 case 54: makemaz("mazes-54"); return;
11090 case 55: makemaz("mazes-55"); return;
11091 case 56: makemaz("mazes-56"); return;
11092 case 57: makemaz("mazes-57"); return;
11093 case 58: makemaz("mazes-58"); return;
11094 case 59: makemaz("mazes-59"); return;
11095 case 60: makemaz("mazes-60"); return;
11096 case 61: makemaz("mazes-61"); return;
11097 case 62: makemaz("mazes-62"); return;
11098 case 63: makemaz("mazes-63"); return;
11099 case 64: makemaz("mazes-64"); return;
11100 case 65: makemaz("mazes-65"); return;
11101 case 66: makemaz("mazes-66"); return;
11102 case 67: makemaz("mazes-67"); return;
11103 case 68: makemaz("mazes-68"); return;
11104 case 69: makemaz("mazes-69"); return;
11107 break;
11109 case 101:
11110 case 102:
11111 case 103:
11112 case 104:
11113 case 105:
11115 switch (rnd(95)) {
11117 case 1: makemaz("levgx-1"); return;
11118 case 2: makemaz("levgx-2"); return;
11119 case 3: makemaz("levgx-3"); return;
11120 case 4: makemaz("levgx-4"); return;
11121 case 5: makemaz("levgx-5"); return;
11122 case 6: makemaz("levgx-6"); return;
11123 case 7: makemaz("levgx-7"); return;
11124 case 8: makemaz("levgx-8"); return;
11125 case 9: makemaz("levgx-9"); return;
11126 case 10: makemaz("levgx-10"); return;
11127 case 11: makemaz("levgx-11"); return;
11128 case 12: makemaz("levgx-12"); return;
11129 case 13: makemaz("levgx-13"); return;
11130 case 14: makemaz("levgx-14"); return;
11131 case 15: makemaz("levgx-15"); return;
11132 case 16: makemaz("levgx-16"); return;
11133 case 17: makemaz("levgx-17"); return;
11134 case 18: makemaz("levgx-18"); return;
11135 case 19: makemaz("levgx-19"); return;
11136 case 20: makemaz("levgx-20"); return;
11137 case 21: makemaz("levgx-21"); return;
11138 case 22: makemaz("levgx-22"); return;
11139 case 23: makemaz("levgx-23"); return;
11140 case 24: makemaz("levgx-24"); return;
11141 case 25: makemaz("levgx-25"); return;
11142 case 26: makemaz("levgx-26"); return;
11143 case 27: makemaz("levgx-27"); return;
11144 case 28: makemaz("levgx-28"); return;
11145 case 29: makemaz("levgx-29"); return;
11146 case 30: makemaz("levgx-30"); return;
11147 case 31: makemaz("levgx-31"); return;
11148 case 32: makemaz("levgx-32"); return;
11149 case 33: makemaz("levgx-33"); return;
11150 case 34: makemaz("levgx-34"); return;
11151 case 35: makemaz("levgx-35"); return;
11152 case 36: makemaz("levgx-36"); return;
11153 case 37: makemaz("levgx-37"); return;
11154 case 38: makemaz("levgx-38"); return;
11155 case 39: makemaz("levgx-39"); return;
11156 case 40: makemaz("levgx-40"); return;
11157 case 41: makemaz("levgx-41"); return;
11158 case 42: makemaz("levgx-42"); return;
11159 case 43: makemaz("levgx-43"); return;
11160 case 44: makemaz("levgx-44"); return;
11161 case 45: makemaz("levgx-45"); return;
11162 case 46: makemaz("levgx-46"); return;
11163 case 47: makemaz("levgx-47"); return;
11164 case 48: makemaz("levgx-48"); return;
11165 case 49: makemaz("levgx-49"); return;
11166 case 50: makemaz("levgx-50"); return;
11167 case 51: makemaz("levgx-51"); return;
11168 case 52: makemaz("levgx-52"); return;
11169 case 53: makemaz("levgx-53"); return;
11170 case 54: makemaz("levgx-54"); return;
11171 case 55: makemaz("levgx-55"); return;
11172 case 56: makemaz("levgx-56"); return;
11173 case 57: makemaz("levgx-57"); return;
11174 case 58: makemaz("levgx-58"); return;
11175 case 59: makemaz("levgx-59"); return;
11176 case 60: makemaz("levgx-60"); return;
11177 case 61: makemaz("levgx-61"); return;
11178 case 62: makemaz("levgx-62"); return;
11179 case 63: makemaz("levgx-63"); return;
11180 case 64: makemaz("levgx-64"); return;
11181 case 65: makemaz("levgx-65"); return;
11182 case 66: makemaz("levgx-66"); return;
11183 case 67: makemaz("levgx-67"); return;
11184 case 68: makemaz("levgx-68"); return;
11185 case 69: makemaz("levgx-69"); return;
11186 case 70: makemaz("levgx-70"); return;
11187 case 71: makemaz("levgx-71"); return;
11188 case 72: makemaz("levgx-72"); return;
11189 case 73: makemaz("levgx-73"); return;
11190 case 74: makemaz("levgx-74"); return;
11191 case 75: makemaz("levgx-75"); return;
11192 case 76: makemaz("levgx-76"); return;
11193 case 77: makemaz("levgx-77"); return;
11194 case 78: makemaz("levgx-78"); return;
11195 case 79: makemaz("levgx-79"); return;
11196 case 80: makemaz("levgx-80"); return;
11197 case 81: makemaz("levgx-81"); return;
11198 case 82: makemaz("levgx-82"); return;
11199 case 83: makemaz("levgx-83"); return;
11200 case 84: makemaz("levgx-84"); return;
11201 case 85: makemaz("levgx-85"); return;
11202 case 86: makemaz("levgx-86"); return;
11203 case 87: makemaz("levgx-87"); return;
11204 case 88: makemaz("levgx-88"); return;
11205 case 89: makemaz("levgx-89"); return;
11206 case 90: makemaz("levgx-90"); return;
11207 case 91: makemaz("levgx-91"); return;
11208 case 92: makemaz("levgx-92"); return;
11209 case 93: makemaz("levgx-93"); return;
11210 case 94: makemaz("levgx-94"); return;
11211 case 95: makemaz("levgx-95"); return;
11213 case 106:
11215 makemaz("hcav2"); return;
11216 break;
11218 case 107:
11220 makemaz("hfrnk"); return;
11221 break;
11223 case 108:
11224 case 109:
11225 case 110:
11227 switch (rnd(8)) {
11229 case 1: {
11230 switch (rnd(5)) {
11232 case 1: makemaz("cowla-1"); return;
11233 case 2: makemaz("cowla-2"); return;
11234 case 3: makemaz("cowla-3"); return;
11235 case 4: makemaz("cowla-4"); return;
11236 case 5: makemaz("cowla-5"); return;
11239 break;
11241 case 2: makemaz("cowlb"); return;
11242 case 3: makemaz("cowlc"); return;
11243 case 4: makemaz("cowld"); return;
11244 case 5: makemaz("cowle"); return;
11245 case 6: makemaz("cowlf"); return;
11246 case 7: makemaz("cowlg"); return;
11247 case 8: makemaz("cowlh"); return;
11251 break;
11253 case 111:
11254 switch (rnd(15)) {
11255 case 1: makemaz("deehfila"); return;
11256 case 2: makemaz("deehfilb"); return;
11257 case 3: makemaz("deehfilc"); return;
11258 case 4: makemaz("deehfild"); return;
11259 case 5: makemaz("deehfile"); return;
11260 case 6: makemaz("deehfilf"); return;
11261 case 7: makemaz("deehfilg"); return;
11262 case 8: makemaz("deehfilh"); return;
11263 case 9: makemaz("deehfili"); return;
11264 case 10: makemaz("deehfilj"); return;
11265 case 11: makemaz("deehfilk"); return;
11266 case 12: makemaz("deehfill"); return;
11267 case 13: makemaz("deehfilm"); return;
11268 case 14: makemaz("deehfiln"); return;
11269 case 15: makemaz("deehfilo"); return;
11273 break;
11275 case 112:
11276 switch (rnd(10)) {
11277 case 1: makemaz("deptX-1"); return;
11278 case 2: makemaz("deptX-2"); return;
11279 case 3: makemaz("deptX-3"); return;
11280 case 4: makemaz("deptX-4"); return;
11281 case 5: makemaz("deptX-5"); return;
11282 case 6: makemaz("deptX-6"); return;
11283 case 7: makemaz("deptX-7"); return;
11284 case 8: makemaz("deptX-8"); return;
11285 case 9: makemaz("deptX-9"); return;
11286 case 10: makemaz("deptX-10"); return;
11290 break;
11292 case 113:
11293 switch (rnd(6)) {
11294 case 1: makemaz("depeX-1"); return;
11295 case 2: makemaz("depeX-2"); return;
11296 case 3: makemaz("depeX-3"); return;
11297 case 4: makemaz("depeX-4"); return;
11298 case 5: makemaz("depeX-5"); return;
11299 case 6: makemaz("depeX-6"); return;
11303 break;
11305 case 114:
11306 switch (rnd(5)) {
11307 case 1: makemaz("gruelaiX"); return;
11308 case 2: makemaz("joustX"); return;
11309 case 3: makemaz("pmazeX"); return;
11310 case 4: makemaz("poolhalX"); return;
11311 case 5: makemaz("dmazeX"); return;
11315 break;
11317 case 115:
11318 case 116:
11320 switch (rnd(8)) {
11322 case 1: makemaz("grcra"); return;
11323 case 2: makemaz("grcrb"); return;
11324 case 3: makemaz("grcrc"); return;
11325 case 4: makemaz("grcrd"); return;
11326 case 5: makemaz("grcre"); return;
11327 case 6: makemaz("grcrf"); return;
11328 case 7: makemaz("grcrg"); return;
11329 case 8: makemaz("grcrh"); return;
11332 break;
11334 case 117:
11335 switch (rnd(3)) {
11336 case 1: makemaz("hiceqa"); return;
11337 case 2: makemaz("hiceqb"); return;
11338 case 3: makemaz("hiceqc"); return;
11343 break;
11349 return;
11353 /* otherwise, fall through - it's a "regular" level. */
11355 #ifdef REINCARNATION
11356 if (Is_rogue_level(&u.uz)) {
11357 makeroguerooms();
11358 makerogueghost();
11359 } else
11360 #endif
11361 makerooms();
11362 sort_rooms();
11364 /* construct stairs (up and down in different rooms if possible); stairseeker needs to make changes here
11365 * see below */
11366 croom = &rooms[rn2(nroom)];
11367 if (!Is_botlevel(&u.uz) && !isstairseeker) {
11368 mkstairs(somex(croom), somey(croom), 0, croom); /* down */
11370 if (nroom > 1) {
11371 troom = croom;
11372 croom = &rooms[rn2(nroom-1)];
11373 if (croom == troom) croom++;
11376 if (u.uz.dlevel != 1) {
11377 xchar sx, sy;
11378 register int stairattempts = 0; /* see reallyoccupied function --Amy */
11379 do {
11380 sx = somex(croom);
11381 sy = somey(croom);
11382 stairattempts++;
11383 } while((stairattempts > 50000) ? reallyoccupied(sx, sy) : occupied(sx, sy));
11384 if (!isstairseeker) mkstairs(sx, sy, 1, croom); /* up */
11387 branchp = Is_branchlev(&u.uz); /* possible dungeon branch */
11388 room_threshold = branchp ? 4 : 3; /* minimum number of rooms needed
11389 to allow a random special room */
11390 #ifdef REINCARNATION
11391 if (Is_rogue_level(&u.uz)) goto skip0;
11392 #endif
11393 makecorridors();
11394 make_niches();
11396 /* stairseeker mode: try hard to find an OK location, but fall back to the regular stair creation method
11397 * if we fail to find a good location after 50k tries. --Amy
11398 * we need to do that here, after corridors have already been made, to ensure that the stair can be in them */
11399 skip0:
11400 if (isstairseeker) {
11401 int steetries = 0;
11403 if (!Is_botlevel(&u.uz)) {
11404 while (steetries < 50000) {
11405 steetries++;
11406 x = rnd(COLNO-1);
11407 y = rn2(ROWNO);
11408 if (ACCESSIBLE(levl[x][y].typ) && !(t_at(x,y) && ((t_at(x,y))->ttyp == MAGIC_PORTAL)) && (levl[x][y].typ == CORR || levl[x][y].typ == ROOM) && !On_stairs(x, y)) break; /* we got a good location! */
11410 if (!ACCESSIBLE(levl[x][y].typ) || (t_at(x,y) && ((t_at(x,y))->ttyp == MAGIC_PORTAL)) || On_stairs(x, y)) {
11411 croom = &rooms[rn2(nroom)];
11412 mkstairs(somex(croom), somey(croom), 0, croom); /* down */
11413 } else {
11414 mkstairs(x, y, 0, (struct mkroom *)0); /* down */
11418 if (u.uz.dlevel != 1) {
11419 steetries = 0;
11420 while (steetries < 50000) {
11421 steetries++;
11422 x = rnd(COLNO-1);
11423 y = rn2(ROWNO);
11424 if (ACCESSIBLE(levl[x][y].typ) && !(t_at(x,y) && ((t_at(x,y))->ttyp == MAGIC_PORTAL)) && (levl[x][y].typ == CORR || levl[x][y].typ == ROOM) && !On_stairs(x, y)) break; /* we got a good location! */
11426 if (!ACCESSIBLE(levl[x][y].typ) || (t_at(x,y) && ((t_at(x,y))->ttyp == MAGIC_PORTAL)) || On_stairs(x, y)) {
11427 xchar sx, sy;
11428 register int stairattempts = 0; /* see reallyoccupied function --Amy */
11429 do {
11430 sx = somex(croom);
11431 sy = somey(croom);
11432 stairattempts++;
11433 } while((stairattempts > 50000) ? reallyoccupied(sx, sy) : occupied(sx, sy));
11434 mkstairs(sx, sy, 1, croom); /* up */
11435 } else {
11436 mkstairs(x, y, 1, (struct mkroom *)0); /* up */
11440 } /* end stairseeker code */
11442 #ifdef REINCARNATION
11443 if (Is_rogue_level(&u.uz)) goto skip1;
11444 #endif
11446 if (!rn2(5)) make_ironbarwalls(rn2(20) ? rn2(20) : rn2(50));
11448 /* make a secret treasure vault, not connected to the rest */
11449 if(do_vault()) {
11450 xchar w,h;
11451 #ifdef DEBUG
11452 debugpline("trying to make a vault...");
11453 #endif
11454 w = 1;
11455 h = 1;
11456 if (check_room(&vault_x, &w, &vault_y, &h, TRUE, FALSE)) {
11457 fill_vault:
11458 add_room(vault_x, vault_y, vault_x+w,
11459 vault_y+h, TRUE, VAULT, FALSE, FALSE, FALSE);
11460 level.flags.has_vault = 1;
11461 ++room_threshold;
11462 fill_room(&rooms[nroom - 1], FALSE);
11463 mk_knox_portal(vault_x+w, vault_y+h);
11464 if(!level.flags.noteleport && !Race_if(PM_STABILISATOR) && !rn2(3)) makevtele();
11465 } else if(rnd_rect() && create_vault()) {
11466 vault_x = rooms[nroom].lx;
11467 vault_y = rooms[nroom].ly;
11468 if (check_room(&vault_x, &w, &vault_y, &h, TRUE, FALSE))
11469 goto fill_vault;
11470 else
11471 rooms[nroom].hx = -1;
11476 register int u_depth = depth(&u.uz);
11477 boolean gehxtra = FALSE;
11478 boolean gehxtra2 = FALSE;
11480 #ifdef WIZARD
11481 if(wizard && nh_getenv("SHOPTYPE")) mkroom(SHOPBASE); else
11482 #endif
11483 if (u_depth > 1 /*&&
11484 u_depth < depth(&medusa_level)*/ &&
11485 nroom >= room_threshold && /* shops were too uncommon; change by Amy */
11486 ((rn2(u_depth) < 3) || (rn2(u_depth) < 2)) ) mkroom(SHOPBASE);
11488 if (!rn2(20)) mkroom(SHOPBASE);
11490 /* [Tom] totally reorganized this into categories... used
11491 to be only one special room on a level... now allows
11492 one of each major type */
11493 /*else {*/
11495 if (at_dgn_entrance("Green Cross")) mkroom(GREENCROSSROOM);
11497 /* "Make special rooms show up later. Reverted existant special room chances to their original values, new rooms have values that I believe work. If not, they will be adjusted accordingly." The existing values do work, too; some players just don't seem to know what to do if there's a room filled with trolls on dlvl2: stay FAR away from there until you can handle it! But sure, in Soviet Russia they start appearing later. All the other races will have to contend with my intended values though. --Amy */
11499 gehennomxtra:
11501 /* courtrooms & barracks */
11503 if (rn2(4)) {
11505 if(depth(&u.uz) > (issoviet ? 4 : 3) && (ishaxor ? !rn2(6) : !rn2(12))) mkroom(COURT);
11506 else if (depth(&u.uz) > (issoviet ? 5 : 4) && (ishaxor ? !rn2(5) : !rn2(9))) mkroom(LEPREHALL);
11507 else if(depth(&u.uz) > (issoviet ? 14 : 10) && (ishaxor ? !rn2(15) : !rn2(30))) mkroom(GIANTCOURT);
11508 else if(depth(&u.uz) > (issoviet ? 14 : 7) && (ishaxor ? !rn2(20) : !rn2(40))) mkroom(WIZARDSDORM);
11509 else if(depth(&u.uz) > (issoviet ? 16 : 10) && (ishaxor ? !rn2(13) : !rn2(26))) mkroom(BARRACKS);
11510 else if(depth(&u.uz) > (issoviet ? 9 : 3) && (ishaxor ? !rn2(18) : !rn2(36))) mkroom(VERMINROOM);
11511 else if(depth(&u.uz) > (issoviet ? 14 : 10) && (ishaxor ? !rn2(18) : !rn2(36))) mkroom(DOOMEDBARRACKS);
11512 else if (u_depth > (issoviet ? 12 : 3) && (ishaxor ? !rn2(24) : !rn2(48))) mkroom(HUMANHALL);
11513 else if (u_depth > (issoviet ? 5 : 1) && (ishaxor ? !rn2(30) : !rn2(60))) mkroom(FULLROOM);
11514 else if (u_depth > (issoviet ? 20 : 5) && (ishaxor ? !rn2(45) : !rn2(90))) mkroom(RUINEDCHURCH);
11515 else if (u_depth > (issoviet ? 30 : 20) && (ishaxor ? !rn2(50) : !rn2(100))) mkroom(QUESTORROOM);
11516 else if (u_depth > (issoviet ? 12 : 3) && (ishaxor ? !rn2(15) : !rn2(30))) mkroom(WEAPONCHAMBER);
11517 else if (u_depth > (issoviet ? 5 : 1) && (ishaxor ? !rn2(29) : !rn2(58))) mkroom(TRAPROOM);
11518 else if (u_depth > (issoviet ? 24 : 5) && (ishaxor ? !rn2(29) : !rn2(58))) mkroom(ILLUSIONROOM);
11519 else if (u_depth > (issoviet ? 12 : 5) && (ishaxor ? !rn2(100) : !rn2(200))) mkroom(ARDUOUSMOUNTAIN);
11520 else if (u_depth > (issoviet ? 8 : 1) && (ishaxor ? !rn2(13) : !rn2(25))) mkroom(TENSHALL);
11521 else if (u_depth > (issoviet ? 25 : 1) && (Role_if(PM_CAMPERSTRIKER) ? !rn2(10) : (ishaxor && Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(25) : (ishaxor || Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(50) : !rn2(100))) mkroom(INSIDEROOM);
11522 else if (u_depth > (issoviet ? 15 : 1) && (Role_if(PM_CAMPERSTRIKER) ? !rn2(10) : Role_if(PM_GANG_SCHOLAR) ? !rn2(10) : (ishaxor && Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(25) : (ishaxor || Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(50) : !rn2(100))) mkroom(RIVERROOM);
11526 /* hives */
11528 if (rn2(4)) {
11530 if(depth(&u.uz) > (issoviet ? 9 : 5) && (ishaxor ? !rn2(11) : !rn2(22))) mkroom(BEEHIVE);
11531 else if(depth(&u.uz) > (issoviet ? 12 : 4) && (ishaxor ? !rn2(19) : !rn2(37))) mkroom(PRISONCHAMBER);
11532 else if (u_depth > (issoviet ? 12 : 8) && (ishaxor ? !rn2(6) : !rn2(12))) mkroom(ANTHOLE);
11533 else if (u_depth > (issoviet ? 10 : 4) && (ishaxor ? !rn2(12) : !rn2(24))) mkroom(SLEEPINGROOM);
11534 else if (u_depth > (issoviet ? 12 : 3) && (ishaxor ? !rn2(13) : !rn2(25))) mkroom(NYMPHHALL);
11535 else if (u_depth > (issoviet ? 20 : 1) && (ishaxor ? !rn2(33) : !rn2(66))) mkroom(VARIANTROOM);
11536 else if (u_depth > (issoviet ? 15 : 1) && (ishaxor ? !rn2(33) : !rn2(66))) mkroom(GAMECORNER);
11537 else if (u_depth > (issoviet ? 12 : 3) && (ishaxor ? !rn2(25) : !rn2(50))) mkroom(MEADOWROOM);
11538 else if (u_depth > (issoviet ? 8 : 2) && (ishaxor ? !rn2(25) : !rn2(50))) mkroom(CENTRALTEDIUM);
11539 else if (u_depth > (issoviet ? 7 : 2) && (ishaxor ? !rn2(13) : !rn2(25))) mkroom(COINHALL);
11540 else if (u_depth > (issoviet ? 7 : 2) && (ishaxor ? !rn2(20) : !rn2(40))) mkroom(HAMLETROOM);
11541 else if (u_depth > (issoviet ? 7 : 2) && (ishaxor ? !rn2(20) : !rn2(40))) mkroom(GREENCROSSROOM);
11542 else if (u_depth > (issoviet ? 16 : 7) && (ishaxor ? !rn2(10) : !rn2(20))) mkroom(ARMORY);
11543 else if (u_depth > (issoviet ? 15 : 1) && (ishaxor ? !rn2(17) : !rn2(34))) mkroom(POOLROOM);
11544 else if (u_depth > (issoviet ? 25 : 3) && (ishaxor ? !rn2(34) : !rn2(68))) mkroom(MIXEDPOOL);
11545 else if (u_depth > (issoviet ? 8 : 1) && (ishaxor ? !rn2(13) : !rn2(25))) mkroom(TENSHALL);
11546 else if (u_depth > (issoviet ? 25 : 1) && (Role_if(PM_CAMPERSTRIKER) ? !rn2(10) : (ishaxor && Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(25) : (ishaxor || Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(50) : !rn2(100))) mkroom(INSIDEROOM);
11547 else if (u_depth > (issoviet ? 15 : 1) && (Role_if(PM_CAMPERSTRIKER) ? !rn2(10) : Role_if(PM_GANG_SCHOLAR) ? !rn2(10) : (ishaxor && Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(25) : (ishaxor || Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(50) : !rn2(100))) mkroom(RIVERROOM);
11551 /* zoos */
11553 if (rn2(4)) {
11555 if(depth(&u.uz) > (issoviet ? 6 : 5) && (ishaxor ? !rn2(6) : !rn2(12))) mkroom(ZOO);
11556 /* fungus farms are rare... */
11557 else if (u_depth > (issoviet ? 7 : 3) && (ishaxor ? !rn2(13) : !rn2(25))) mkroom(FUNGUSFARM);
11558 else if(depth(&u.uz) > (issoviet ? 9 : 7) && (ishaxor ? !rn2(15) : !rn2(30))) mkroom(REALZOO);
11559 else if(depth(&u.uz) > (issoviet ? 9 : 4) && (ishaxor ? !rn2(20) : !rn2(40))) mkroom(MENAGERIE);
11560 else if(depth(&u.uz) > (issoviet ? 17 : 9) && (ishaxor ? !rn2(15) : !rn2(30))) mkroom(ELEMHALL);
11561 else if(depth(&u.uz) > (issoviet ? 25 : 12) && (ishaxor ? !rn2(25) : !rn2(50))) mkroom(ANGELHALL);
11562 else if(depth(&u.uz) > (issoviet ? 8 : 1) && (ishaxor ? !rn2(18) : !rn2(36))) mkroom(KOPSTATION);
11563 else if(depth(&u.uz) > (issoviet ? 9 : 2) && (ishaxor ? !rn2(13) : !rn2(26))) mkroom(MIMICHALL);
11564 else if(depth(&u.uz) > (issoviet ? 20 : 2) && (ishaxor ? !rn2(38) : !rn2(76))) mkroom(SANITATIONCENTRAL);
11565 else if(depth(&u.uz) > (issoviet ? 20 : 2) && (ishaxor ? !rn2(38) : !rn2(76))) mkroom(NUCLEARCHAMBER);
11566 else if(depth(&u.uz) > (issoviet ? 22 : 14) && (ishaxor ? !rn2(40) : !rn2(80))) mkroom(LETTERSALADROOM);
11567 else if (u_depth > (issoviet ? 7 : 3) && (ishaxor ? !rn2(12) : !rn2(24))) mkroom(SPIDERHALL);
11568 else if (u_depth > (issoviet ? 7 : 3) && (ishaxor ? !rn2(17) : !rn2(33))) mkroom(EXHIBITROOM);
11569 else if (u_depth > (issoviet ? 5 : 1) && (ishaxor ? !rn2(50) : !rn2(100))) mkroom(BOSSROOM);
11570 else if (u_depth > (issoviet ? 5 : 1) && (ishaxor ? !rn2(13) : !rn2(25))) mkroom(STATUEROOM);
11571 else if (u_depth > (issoviet ? 8 : 1) && (ishaxor ? !rn2(13) : !rn2(25))) mkroom(TENSHALL);
11572 else if (u_depth > (issoviet ? 25 : 1) && (Role_if(PM_CAMPERSTRIKER) ? !rn2(10) : (ishaxor && Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(25) : (ishaxor || Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(50) : !rn2(100))) mkroom(INSIDEROOM);
11573 else if (u_depth > (issoviet ? 15 : 1) && (Role_if(PM_CAMPERSTRIKER) ? !rn2(10) : Role_if(PM_GANG_SCHOLAR) ? !rn2(10) : (ishaxor && Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(25) : (ishaxor || Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(50) : !rn2(100))) mkroom(RIVERROOM);
11577 /* neat rooms */
11579 if (rn2(4)) {
11581 if(depth(&u.uz) > (issoviet ? 8 : 1) && (ishaxor ? !rn2(5) : !rn2(10))) mkroom(TEMPLE);
11582 else if(depth(&u.uz) > (issoviet ? 10 : 5) && (ishaxor ? !rn2(25) : !rn2(50))) mkroom(RELIGIONCENTER);
11583 else if(depth(&u.uz) > (issoviet ? 8 : 5) && (ishaxor ? !rn2(8) : !rn2(16))) mkroom(ROBBERCAVE);
11584 else if(depth(&u.uz) > (issoviet ? 11 : 4) && (ishaxor ? !rn2(13) : !rn2(25))) mkroom(MORGUE);
11585 else if(depth(&u.uz) > (issoviet ? 17 : 6) && (ishaxor ? !rn2(28) : !rn2(56))) mkroom(CRYPTROOM);
11586 else if(depth(&u.uz) > (issoviet ? 24 : 7) && (ishaxor ? !rn2(28) : !rn2(56))) mkroom(CURSEDMUMMYROOM);
11587 else if(depth(&u.uz) > (issoviet ? 13 : 1) && (ishaxor ? !rn2(8) : !rn2(15))) mkroom(BADFOODSHOP);
11588 else if(depth(&u.uz) > (issoviet ? 18 : 1) && (ishaxor ? !rn2(18) : !rn2(36))) mkroom(SWAMP);
11589 else if(depth(&u.uz) > (issoviet ? 26 : 5) && (ishaxor ? !rn2(75) : !rn2(150))) mkroom(MIRASPA);
11590 else if(depth(&u.uz) > (issoviet ? 15 : 1) && (ishaxor ? !rn2(90) : !rn2(150))) mkroom(CASINOROOM);
11591 else if(depth(&u.uz) > (issoviet ? 18 : 1) && (ishaxor ? !rn2(90) : !rn2(150))) mkroom(DIVERPARADISE);
11592 else if(depth(&u.uz) > (issoviet ? 18 : 1) && (ishaxor ? !rn2(60) : !rn2(120))) mkroom(SHOWERROOM);
11593 else if (depth(&u.uz) > (issoviet ? 20 : 10) && (ishaxor ? !rn2(30) : !rn2(60))) mkroom(CLINIC); /*supposed to be very rare --Amy*/
11594 else if (depth(&u.uz) > (issoviet ? 20 : 10) && (ishaxor ? !rn2(30) : !rn2(60))) mkroom(THE_AREA_ROOM);
11595 else if (depth(&u.uz) > (issoviet ? 13 : 5) && (ishaxor ? !rn2(20) : !rn2(40))) mkroom(COOLINGCHAMBER);
11596 else if (depth(&u.uz) > (issoviet ? 5 : 1) && (ishaxor ? !rn2(30) : !rn2(60))) mkroom(EMPTYNEST);
11597 else if (depth(&u.uz) > (issoviet ? 5 : 1) && (ishaxor ? !rn2(58) : !rn2(116))) mkroom(EMPTYDESERT);
11598 else if (depth(&u.uz) > (issoviet ? 10 : 1) && (ishaxor ? !rn2(58) : !rn2(116))) mkroom(RAMPAGEROOM);
11599 else if (depth(&u.uz) > (issoviet ? 30 : 3) && (ishaxor ? !rn2(28) : !rn2(48))) mkroom(TERRORHALL);
11600 else if (depth(&u.uz) > (issoviet ? 30 : 4) && (ishaxor ? !rn2(50) : !rn2(100))) mkroom(TROUBLEZONE);
11601 else if (depth(&u.uz) > (issoviet ? 20 : 10) && (ishaxor ? !rn2(50) : !rn2(100))) mkroom(EVILROOM);
11602 else if (depth(&u.uz) > (issoviet ? 22 : 10) && (ishaxor ? !rn2(20) : !rn2(40))) mkroom(TROLLHALL);
11603 else if (depth(&u.uz) > (issoviet ? 27 : 1) && (ishaxor ? !rn2(48) : !rn2(96))) mkroom(LEVELFFROOM);
11604 else if (depth(&u.uz) > (issoviet ? 14 : 5) && (ishaxor ? !rn2(33) : !rn2(66))) mkroom(RNGCENTER);
11605 else if(depth(&u.uz) > (issoviet ? 20 : 10) && (ishaxor ? !rn2(8) : !rn2(16))) mkroom(DOUGROOM);
11606 else if (u_depth > (issoviet ? 8 : 1) && (ishaxor ? !rn2(13) : !rn2(25))) mkroom(TENSHALL);
11607 else if (u_depth > (issoviet ? 25 : 1) && (Role_if(PM_CAMPERSTRIKER) ? !rn2(10) : (ishaxor && Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(25) : (ishaxor || Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(50) : !rn2(100))) mkroom(INSIDEROOM);
11608 else if (u_depth > (issoviet ? 15 : 1) && (Role_if(PM_CAMPERSTRIKER) ? !rn2(10) : Role_if(PM_GANG_SCHOLAR) ? !rn2(10) : (ishaxor && Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(25) : (ishaxor || Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(50) : !rn2(100))) mkroom(RIVERROOM);
11612 /* dangerous ones */
11614 if (rn2(4)) {
11616 if (u_depth > (issoviet ? 16 : 10) && (ishaxor ? !rn2(17) : !rn2(33))) mkroom(COCKNEST);
11617 else if(depth(&u.uz) > (issoviet ? 20 : 2) && (ishaxor ? !rn2(18) : !rn2(36))) mkroom(DRAGONLAIR);
11618 else if(depth(&u.uz) > (issoviet ? 10 : 1) && (ishaxor ? !rn2(24) : !rn2(47))) mkroom(LEVELSEVENTYROOM);
11619 else if (u_depth > (issoviet ? 25 : 12) && (ishaxor ? !rn2(25) : !rn2(50))) mkroom(MIGOHIVE);
11620 else if (u_depth > (issoviet ? 14 : 5) && (ishaxor ? !rn2(32) : !rn2(64))) mkroom(RARITYROOM);
11621 /* [DS] the restriction of lemure pits to Gehennom means they're
11622 * never going to show up randomly (no random room+corridor
11623 * levels in Gehennom). Perhaps this should be removed? */
11624 else if (depth(&u.uz) > (issoviet ? 15 : 5) && (ishaxor ? !rn2(14) : !rn2(28))) mkroom(LEMUREPIT);
11625 else if (depth(&u.uz) > (issoviet ? 24 : 7) && (ishaxor ? !rn2(23) : !rn2(45))) mkroom(HELLPIT);
11626 else if (u_depth > (issoviet ? 12 : 3) && (ishaxor ? !rn2(25) : !rn2(50))) mkroom(GOLEMHALL);
11627 else if (u_depth > (issoviet ? 16 : 3) && (ishaxor ? !rn2(40) : !rn2(80))) mkroom(MACHINEROOM);
11628 else if (u_depth > (issoviet ? 26 : 8) && (ishaxor ? !rn2(35) : !rn2(70))) mkroom(VOIDROOM);
11629 else if (u_depth > (issoviet ? 20 : 10) && (ishaxor ? !rn2(40) : !rn2(80))) mkroom(PLAYERCENTRAL);
11630 else if (u_depth > (issoviet ? 8 : 1) && (ishaxor ? !rn2(35) : !rn2(70))) mkroom(GRUEROOM);
11631 else if (u_depth > (issoviet ? 19 : 4) && (ishaxor ? !rn2(35) : !rn2(70))) mkroom(CHAOSROOM);
11632 else if (u_depth > (issoviet ? 20 : 4) && (ishaxor ? !rn2(36) : !rn2(64))) mkroom(FEMINISMROOM);
11633 else if (u_depth > (issoviet ? 24 : 8) && (ishaxor ? !rn2(50) : !rn2(100))) mkroom(CHANGINGROOM);
11634 else if (u_depth > (issoviet ? 5 : 1) && (ishaxor ? !rn2(100) : !rn2(200))) mkroom(NASTYCENTRAL);
11635 else if (u_depth > (issoviet ? 8 : 1) && (ishaxor ? !rn2(13) : !rn2(25))) mkroom(TENSHALL);
11636 else if (u_depth > (issoviet ? 25 : 1) && (Role_if(PM_CAMPERSTRIKER) ? !rn2(10) : (ishaxor && Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(25) : (ishaxor || Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(50) : !rn2(100))) mkroom(INSIDEROOM);
11637 else if (u_depth > (issoviet ? 15 : 1) && (Role_if(PM_CAMPERSTRIKER) ? !rn2(10) : Role_if(PM_GANG_SCHOLAR) ? !rn2(10) : (ishaxor && Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(25) : (ishaxor || Role_if(PM_SPACEWARS_FIGHTER)) ? !rn2(50) : !rn2(100))) mkroom(RIVERROOM);
11641 if (In_voiddungeon(&u.uz)) {
11642 mkroom(rn2(10) ? VOIDROOM : HELLPIT);
11643 mkroom(rn2(10) ? VOIDROOM : HELLPIT);
11644 mkroom(rn2(10) ? VOIDROOM : HELLPIT);
11645 mkroom(rn2(10) ? VOIDROOM : HELLPIT);
11646 mkroom(rn2(10) ? VOIDROOM : HELLPIT);
11647 mkroom(rn2(10) ? VOIDROOM : HELLPIT);
11648 mkroom(rn2(10) ? VOIDROOM : HELLPIT);
11649 mkroom(rn2(10) ? VOIDROOM : HELLPIT);
11650 mkroom(rn2(10) ? VOIDROOM : HELLPIT);
11651 mkroom(rn2(10) ? VOIDROOM : HELLPIT);
11654 if (In_gammacaves(&u.uz) && rn2(2)) {
11655 mkroom(NUCLEARCHAMBER);
11658 if (In_illusorycastle(&u.uz)) mkroom(ILLUSIONROOM);
11660 if (In_swimmingpool(&u.uz)) {
11661 mkroom(!rn2(3) ? MIXEDPOOL : rn2(10) ? DIVERPARADISE : SWAMP);
11662 mkroom(!rn2(3) ? MIXEDPOOL : rn2(10) ? DIVERPARADISE : SWAMP);
11663 mkroom(!rn2(3) ? MIXEDPOOL : rn2(10) ? DIVERPARADISE : SWAMP);
11664 mkroom(!rn2(3) ? MIXEDPOOL : rn2(10) ? DIVERPARADISE : SWAMP);
11665 mkroom(!rn2(3) ? MIXEDPOOL : rn2(10) ? DIVERPARADISE : SWAMP);
11666 mkroom(!rn2(3) ? MIXEDPOOL : rn2(10) ? DIVERPARADISE : SWAMP);
11667 mkroom(!rn2(3) ? MIXEDPOOL : rn2(10) ? DIVERPARADISE : SWAMP);
11668 mkroom(!rn2(3) ? MIXEDPOOL : rn2(10) ? DIVERPARADISE : SWAMP);
11669 mkroom(!rn2(3) ? MIXEDPOOL : rn2(10) ? DIVERPARADISE : SWAMP);
11670 mkroom(!rn2(3) ? MIXEDPOOL : rn2(10) ? DIVERPARADISE : SWAMP);
11673 /* random rooms, which means a chance of getting several of the same type of room --Amy */
11674 while ((u_depth > 10 || (rn2(u_depth) && !rn2(20 - u_depth) ) ) && !rn2(ishaxor ? 7 : 15)) mkroom(RANDOMROOM);
11676 /* If we make a rooms-and-corridors level in Gehennom, or generally anywhere with a depth greater than castle,
11677 * we'll have a chance of more special rooms because this part of the game is supposed to be harder --Amy */
11678 if (!rn2(3) && u_depth > 50 && !gehxtra) {
11679 gehxtra = TRUE;
11680 goto gehennomxtra;
11682 #ifdef BIGSLEX
11683 /* big dungeon levels need more special rooms on average or they'll get boring quickly... */
11684 if (!rn2(3) && !gehxtra2) {
11685 gehxtra2 = TRUE;
11686 goto gehennomxtra;
11688 #endif
11690 if ((isironman || RngeIronmanMode || In_netherrealm(&u.uz)) && (!rn2(10) || (u_depth > 1 && !(u.preversionmode && In_greencross(&u.uz) && (dunlev(&u.uz) == 1)) && !(iszapem && In_spacebase(&u.uz) && (dunlev(&u.uz) == 1)) ) ) ) {
11691 mkroom(RANDOMROOM);
11692 mkroom(RANDOMROOM);
11693 mkroom(RANDOMROOM);
11694 mkroom(RANDOMROOM);
11695 mkroom(RANDOMROOM);
11696 mkroom(RANDOMROOM);
11697 mkroom(RANDOMROOM);
11698 mkroom(RANDOMROOM);
11699 mkroom(RANDOMROOM);
11700 mkroom(RANDOMROOM);
11701 mkroom(RANDOMROOM);
11702 mkroom(RANDOMROOM);
11703 mkroom(RANDOMROOM);
11704 mkroom(RANDOMROOM);
11705 mkroom(RANDOMROOM);
11706 mkroom(RANDOMROOM);
11707 mkroom(RANDOMROOM);
11708 mkroom(RANDOMROOM);
11709 mkroom(RANDOMROOM);
11710 mkroom(RANDOMROOM);
11711 mkroom(RANDOMROOM);
11712 mkroom(RANDOMROOM);
11713 mkroom(RANDOMROOM);
11714 mkroom(RANDOMROOM);
11715 mkroom(RANDOMROOM);
11716 mkroom(RANDOMROOM);
11717 mkroom(RANDOMROOM);
11718 mkroom(RANDOMROOM);
11719 mkroom(RANDOMROOM);
11720 mkroom(RANDOMROOM);
11721 mkroom(RANDOMROOM);
11722 mkroom(RANDOMROOM);
11723 mkroom(RANDOMROOM);
11724 mkroom(RANDOMROOM);
11725 mkroom(RANDOMROOM);
11726 mkroom(RANDOMROOM);
11727 mkroom(RANDOMROOM);
11728 mkroom(RANDOMROOM);
11729 mkroom(RANDOMROOM);
11730 mkroom(RANDOMROOM);
11735 /*}*/
11737 #ifdef REINCARNATION
11738 skip1:
11739 #endif
11740 /* Place multi-dungeon branch. */
11741 place_branch(branchp, 0, 0);
11743 /* for each room: put things inside */
11744 for(croom = rooms; croom->hx > 0; croom++) {
11745 /*if(croom->rtype != OROOM) continue;*/
11747 /* put a sleeping monster inside */
11748 /* Note: monster may be on the stairs. This cannot be
11749 avoided: maybe the player fell through a trap door
11750 while a monster was on the stairs. Conclusion:
11751 we have to check for monsters on the stairs anyway. */
11752 if((u.uhave.amulet && !u.freeplaymode) || !rn2(3)) {
11753 x = somex(croom); y = somey(croom);
11754 if (!ishomicider) { tmonst = makemon((struct permonst *) 0, x, y, MM_MAYSLEEP);
11755 if (tmonst && webmaker(tmonst->data) /*== &mons[PM_GIANT_SPIDER]*/ &&
11756 !occupied(x, y))
11757 (void) maketrap(x, y, WEB, 25, TRUE);
11759 if (ishomicider) (void) makerandomtrap_at(x, y, TRUE);
11761 if(ishaxor && ((u.uhave.amulet && !u.freeplaymode) || !rn2(3)) ) {
11762 x = somex(croom); y = somey(croom);
11763 if (!ishomicider) { tmonst = makemon((struct permonst *) 0, x, y, MM_MAYSLEEP);
11764 if (tmonst && webmaker(tmonst->data) /*== &mons[PM_GIANT_SPIDER]*/ &&
11765 !occupied(x, y))
11766 (void) maketrap(x, y, WEB, 25, TRUE);
11768 if (ishomicider) (void) makerandomtrap_at(x, y, TRUE);
11770 #ifdef BIGSLEX /* bigslex rooms are much larger, so we want a proportionally higher concentration of monsters --Amy */
11771 if(!rn2(3)) {
11772 x = somex(croom); y = somey(croom);
11773 if (!ishomicider) { tmonst = makemon((struct permonst *) 0, x, y, MM_MAYSLEEP);
11774 if (tmonst && webmaker(tmonst->data) /*== &mons[PM_GIANT_SPIDER]*/ &&
11775 !occupied(x, y))
11776 (void) maketrap(x, y, WEB, 25, TRUE);
11778 if (ishomicider) (void) makerandomtrap_at(x, y, TRUE);
11780 if(ishaxor && !rn2(3)) {
11781 x = somex(croom); y = somey(croom);
11782 if (!ishomicider) { tmonst = makemon((struct permonst *) 0, x, y, MM_MAYSLEEP);
11783 if (tmonst && webmaker(tmonst->data) /*== &mons[PM_GIANT_SPIDER]*/ &&
11784 !occupied(x, y))
11785 (void) maketrap(x, y, WEB, 25, TRUE);
11787 if (ishomicider) (void) makerandomtrap_at(x, y, TRUE);
11789 if(!rn2(3)) {
11790 x = somex(croom); y = somey(croom);
11791 if (!ishomicider) { tmonst = makemon((struct permonst *) 0, x, y, MM_MAYSLEEP);
11792 if (tmonst && webmaker(tmonst->data) /*== &mons[PM_GIANT_SPIDER]*/ &&
11793 !occupied(x, y))
11794 (void) maketrap(x, y, WEB, 25, TRUE);
11796 if (ishomicider) (void) makerandomtrap_at(x, y, TRUE);
11798 if(ishaxor && !rn2(3)) {
11799 x = somex(croom); y = somey(croom);
11800 if (!ishomicider) { tmonst = makemon((struct permonst *) 0, x, y, MM_MAYSLEEP);
11801 if (tmonst && webmaker(tmonst->data) /*== &mons[PM_GIANT_SPIDER]*/ &&
11802 !occupied(x, y))
11803 (void) maketrap(x, y, WEB, 25, TRUE);
11805 if (ishomicider) (void) makerandomtrap_at(x, y, TRUE);
11808 #endif
11809 /* put traps and mimics inside */
11810 goldseen = FALSE;
11811 x = (rn1(5,10) - (level_difficulty()/10));
11812 if ((depth(&u.uz) > 2 || !In_dod(&u.uz)) && !rn2(3)) x /= 2;
11813 if ((depth(&u.uz) > 2 || !In_dod(&u.uz)) && !rn2(10)) x /= 5;
11814 if (x <= 1) x = 2;
11816 /* less traps in the very early game --Amy */
11817 if (!(depth(&u.uz) == 1 && In_dod(&u.uz) && rn2(3)) && !(depth(&u.uz) == 2 && In_dod(&u.uz) && rn2(2)) ) {
11818 while (!rn2(x))
11819 mktrap(0,0,croom,(coord*)0,TRUE);
11821 if(ishaxor) {
11822 while (!rn2(x))
11823 mktrap(0,0,croom,(coord*)0,TRUE);
11826 #ifdef BIGSLEX /* also more traps for bigslex, but not more items; you already get more of those anyway --Amy */
11827 if (!(depth(&u.uz) == 1 && In_dod(&u.uz) && rn2(3)) && !(depth(&u.uz) == 2 && In_dod(&u.uz) && rn2(2)) ) {
11828 while (!rn2(x))
11829 mktrap(0,0,croom,(coord*)0,TRUE);
11831 if(ishaxor) {
11832 while (!rn2(x))
11833 mktrap(0,0,croom,(coord*)0,TRUE);
11836 if (!(depth(&u.uz) == 1 && In_dod(&u.uz) && rn2(3)) && !(depth(&u.uz) == 2 && In_dod(&u.uz) && rn2(2)) ) {
11837 while (!rn2(x))
11838 mktrap(0,0,croom,(coord*)0,TRUE);
11840 if(ishaxor) {
11841 while (!rn2(x))
11842 mktrap(0,0,croom,(coord*)0,TRUE);
11845 #endif
11847 if (!goldseen && !rn2(3))
11848 (void) mkgold(0L, somex(croom), somey(croom));
11849 #ifdef REINCARNATION
11850 x = 400 - (depth(&u.uz) * 2);
11851 if (x < 5) x = 5;
11852 if(!rn2(x)) mkgrave(croom);
11854 if(ishaxor && !rn2(x)) mkgrave(croom);
11856 if(Is_rogue_level(&u.uz)) goto skip_nonrogue;
11857 #endif
11858 if(!rn2(10)) mkfount(0,croom);
11859 if(ishaxor && !rn2(10)) mkfount(0,croom);
11861 if(!rn2(500)) mkthrone(croom); /* rare cause they may give wishes --Amy */
11862 if(ishaxor && !rn2(500)) mkthrone(croom); /* rare cause they may give wishes --Amy */
11864 if(!rn2(200)) mkpentagram(croom);
11865 if(ishaxor && !rn2(200)) mkpentagram(croom);
11867 if(!rn2(100)) mkwell(croom);
11868 if(ishaxor && !rn2(100)) mkwell(croom);
11870 if(!rn2(100)) mkpoisonedwell(croom);
11871 if(ishaxor && !rn2(100)) mkpoisonedwell(croom);
11873 if(!rn2(100)) mkwagon(croom);
11874 if(ishaxor && !rn2(100)) mkwagon(croom);
11876 if(!rn2(100)) mkburningwagon(croom);
11877 if(ishaxor && !rn2(100)) mkburningwagon(croom);
11879 if(!rn2(75)) mkwoodentable(croom);
11880 if(ishaxor && !rn2(75)) mkwoodentable(croom);
11882 if(!rn2(200)) mkcarvedbed(croom);
11883 if(ishaxor && !rn2(200)) mkcarvedbed(croom);
11885 if(!rn2(45)) mkstrawmattress(croom);
11886 if(ishaxor && !rn2(45)) mkstrawmattress(croom);
11888 if(!rn2(60)) {
11889 mksink(croom);
11890 if(!rn2(3)) mktoilet(croom);
11893 if(ishaxor && !rn2(60)) {
11894 mksink(croom);
11895 if(!rn2(3)) mktoilet(croom);
11897 if(!rn2(50)) {
11898 mkstone(croom);
11899 if(!rn2(3)) mkstone(croom);
11900 if(!rn2(6)) mkstone(croom);
11901 if(!rn2(10)) mkstone(croom);
11902 if(!rn2(15)) mkstone(croom);
11903 if(!rn2(20)) mkstone(croom);
11904 if(!rn2(25)) mkstone(croom);
11907 if(ishaxor && !rn2(50)) {
11908 mkstone(croom);
11909 if(!rn2(3)) mkstone(croom);
11910 if(!rn2(6)) mkstone(croom);
11911 if(!rn2(10)) mkstone(croom);
11912 if(!rn2(15)) mkstone(croom);
11913 if(!rn2(20)) mkstone(croom);
11914 if(!rn2(25)) mkstone(croom);
11917 if(!rn2(50)) mkstoneX(rnz(10),croom);
11918 if(!rn2(250)) mkstoneX(rnz(25),croom);
11920 if(ishaxor && !rn2(50)) mkstoneX(rnz(10),croom);
11921 if(ishaxor && !rn2(250)) mkstoneX(rnz(25),croom);
11923 if(!rn2(50)) {
11924 mkice(croom);
11925 if(!rn2(3)) mkice(croom);
11926 if(!rn2(6)) mkice(croom);
11927 if(!rn2(10)) mkice(croom);
11928 if(!rn2(15)) mkice(croom);
11929 if(!rn2(20)) mkice(croom);
11930 if(!rn2(25)) mkice(croom);
11933 if(ishaxor && !rn2(50)) {
11934 mkice(croom);
11935 if(!rn2(3)) mkice(croom);
11936 if(!rn2(6)) mkice(croom);
11937 if(!rn2(10)) mkice(croom);
11938 if(!rn2(15)) mkice(croom);
11939 if(!rn2(20)) mkice(croom);
11940 if(!rn2(25)) mkice(croom);
11943 if(!rn2(50)) mkiceX(rnz(10),croom);
11944 if(!rn2(250)) mkiceX(rnz(25),croom);
11946 if(ishaxor && !rn2(50)) mkiceX(rnz(10),croom);
11947 if(ishaxor && !rn2(250)) mkiceX(rnz(25),croom);
11949 /* if(!rn2(50)) {
11950 mkdoor(croom);
11951 if(!rn2(3)) mkdoor(croom);
11952 if(!rn2(6)) mkdoor(croom);
11953 if(!rn2(10)) mkdoor(croom);
11954 if(!rn2(15)) mkdoor(croom);
11955 if(!rn2(20)) mkdoor(croom);
11956 if(!rn2(25)) mkdoor(croom);
11959 if(!rn2(100)) {
11960 mktree(croom);
11961 if(!rn2(2)) mktree(croom);
11962 if(!rn2(4)) mktree(croom);
11963 if(!rn2(5)) mktree(croom);
11964 if(!rn2(7)) mktree(croom);
11965 if(!rn2(10)) mktree(croom);
11966 if(!rn2(12)) mktree(croom);
11967 if(!rn2(15)) mktree(croom);
11968 if(!rn2(20)) mktree(croom);
11971 if(ishaxor && !rn2(100)) {
11972 mktree(croom);
11973 if(!rn2(2)) mktree(croom);
11974 if(!rn2(4)) mktree(croom);
11975 if(!rn2(5)) mktree(croom);
11976 if(!rn2(7)) mktree(croom);
11977 if(!rn2(10)) mktree(croom);
11978 if(!rn2(12)) mktree(croom);
11979 if(!rn2(15)) mktree(croom);
11980 if(!rn2(20)) mktree(croom);
11983 if(!rn2(100)) mktreeX(rnz(10),croom);
11984 if(!rn2(500)) mktreeX(rnz(25),croom);
11986 if(ishaxor && !rn2(100)) mktreeX(rnz(10),croom);
11987 if(ishaxor && !rn2(500)) mktreeX(rnz(25),croom);
11989 if(!rn2(200)) {
11990 mkpool(croom);
11991 if(!rn2(2)) mkpool(croom);
11992 if(!rn2(4)) mkpool(croom);
11993 if(!rn2(8)) mkpool(croom);
11994 if(!rn2(16)) mkpool(croom);
11995 if(!rn2(32)) mkpool(croom);
11996 if(!rn2(64)) mkpool(croom);
11997 if(!rn2(128)) mkpool(croom);
12000 if(ishaxor && !rn2(200)) {
12001 mkpool(croom);
12002 if(!rn2(2)) mkpool(croom);
12003 if(!rn2(4)) mkpool(croom);
12004 if(!rn2(8)) mkpool(croom);
12005 if(!rn2(16)) mkpool(croom);
12006 if(!rn2(32)) mkpool(croom);
12007 if(!rn2(64)) mkpool(croom);
12008 if(!rn2(128)) mkpool(croom);
12011 if(!rn2(200)) mkpoolX(rnz(10),croom);
12012 if(!rn2(1000)) mkpoolX(rnz(25),croom);
12014 if(ishaxor && !rn2(200)) mkpoolX(rnz(10),croom);
12015 if(ishaxor && !rn2(1000)) mkpoolX(rnz(25),croom);
12017 if(!rn2(200)) {
12018 mkcloud(croom);
12019 if(!rn2(2)) mkcloud(croom);
12020 if(!rn2(4)) mkcloud(croom);
12021 if(!rn2(8)) mkcloud(croom);
12022 if(!rn2(16)) mkcloud(croom);
12023 if(!rn2(32)) mkcloud(croom);
12024 if(!rn2(64)) mkcloud(croom);
12025 if(!rn2(128)) mkcloud(croom);
12028 if(ishaxor && !rn2(200)) {
12029 mkcloud(croom);
12030 if(!rn2(2)) mkcloud(croom);
12031 if(!rn2(4)) mkcloud(croom);
12032 if(!rn2(8)) mkcloud(croom);
12033 if(!rn2(16)) mkcloud(croom);
12034 if(!rn2(32)) mkcloud(croom);
12035 if(!rn2(64)) mkcloud(croom);
12036 if(!rn2(128)) mkcloud(croom);
12039 if(!rn2(200)) mkcloudX(rnz(10),croom);
12040 if(!rn2(1000)) mkcloudX(rnz(25),croom);
12042 if(ishaxor && !rn2(200)) mkcloudX(rnz(10),croom);
12043 if(ishaxor && !rn2(1000)) mkcloudX(rnz(25),croom);
12045 if(!rn2(500)) {
12046 mklavapool(croom);
12047 if(!rn2(2)) mklavapool(croom);
12048 if(!rn2(4)) mklavapool(croom);
12049 if(!rn2(8)) mklavapool(croom);
12050 if(!rn2(16)) mklavapool(croom);
12051 if(!rn2(32)) mklavapool(croom);
12052 if(!rn2(64)) mklavapool(croom);
12053 if(!rn2(128)) mklavapool(croom);
12056 if(ishaxor && !rn2(500)) {
12057 mklavapool(croom);
12058 if(!rn2(2)) mklavapool(croom);
12059 if(!rn2(4)) mklavapool(croom);
12060 if(!rn2(8)) mklavapool(croom);
12061 if(!rn2(16)) mklavapool(croom);
12062 if(!rn2(32)) mklavapool(croom);
12063 if(!rn2(64)) mklavapool(croom);
12064 if(!rn2(128)) mklavapool(croom);
12067 if(!rn2(500)) mklavapoolX(rnz(10),croom);
12068 if(!rn2(2500)) mklavapoolX(rnz(25),croom);
12070 if(ishaxor && !rn2(500)) mklavapoolX(rnz(10),croom);
12071 if(ishaxor && !rn2(2500)) mklavapoolX(rnz(25),croom);
12073 if(!rn2(1000)) {
12074 mkironbars(croom);
12075 if(!rn2(3)) mkironbars(croom);
12076 if(!rn2(9)) mkironbars(croom);
12077 if(!rn2(27)) mkironbars(croom);
12078 if(!rn2(81)) mkironbars(croom);
12081 if(ishaxor && !rn2(1000)) {
12082 mkironbars(croom);
12083 if(!rn2(3)) mkironbars(croom);
12084 if(!rn2(9)) mkironbars(croom);
12085 if(!rn2(27)) mkironbars(croom);
12086 if(!rn2(81)) mkironbars(croom);
12089 if(!rn2(1000)) mkironbarsX(rnz(10),croom);
12090 if(!rn2(5000)) mkironbarsX(rnz(25),croom);
12092 if(ishaxor && !rn2(1000)) mkironbarsX(rnz(10),croom);
12093 if(ishaxor && !rn2(5000)) mkironbarsX(rnz(25),croom);
12095 if(!rn2(1000)) {
12096 mkgravewall(croom);
12097 if(!rn2(3)) mkgravewall(croom);
12098 if(!rn2(9)) mkgravewall(croom);
12099 if(!rn2(27)) mkgravewall(croom);
12100 if(!rn2(81)) mkgravewall(croom);
12103 if(ishaxor && !rn2(1000)) {
12104 mkgravewall(croom);
12105 if(!rn2(3)) mkgravewall(croom);
12106 if(!rn2(9)) mkgravewall(croom);
12107 if(!rn2(27)) mkgravewall(croom);
12108 if(!rn2(81)) mkgravewall(croom);
12111 if(!rn2(1000)) mkgravewallX(rnz(10),croom);
12112 if(!rn2(5000)) mkgravewallX(rnz(25),croom);
12114 if(ishaxor && !rn2(1000)) mkgravewallX(rnz(10),croom);
12115 if(ishaxor && !rn2(5000)) mkgravewallX(rnz(25),croom);
12117 if(!rn2(1000)) {
12118 mksnow(croom);
12119 if(!rn2(3)) mksnow(croom);
12120 if(!rn2(9)) mksnow(croom);
12121 if(!rn2(27)) mksnow(croom);
12122 if(!rn2(81)) mksnow(croom);
12125 if(ishaxor && !rn2(1000)) {
12126 mksnow(croom);
12127 if(!rn2(3)) mksnow(croom);
12128 if(!rn2(9)) mksnow(croom);
12129 if(!rn2(27)) mksnow(croom);
12130 if(!rn2(81)) mksnow(croom);
12133 if(!rn2(1000)) mksnowX(rnz(10),croom);
12134 if(!rn2(5000)) mksnowX(rnz(25),croom);
12136 if(ishaxor && !rn2(1000)) mksnowX(rnz(10),croom);
12137 if(ishaxor && !rn2(5000)) mksnowX(rnz(25),croom);
12139 if(!rn2(1000)) {
12140 mkash(croom);
12141 if(!rn2(3)) mkash(croom);
12142 if(!rn2(9)) mkash(croom);
12143 if(!rn2(27)) mkash(croom);
12144 if(!rn2(81)) mkash(croom);
12147 if(ishaxor && !rn2(1000)) {
12148 mkash(croom);
12149 if(!rn2(3)) mkash(croom);
12150 if(!rn2(9)) mkash(croom);
12151 if(!rn2(27)) mkash(croom);
12152 if(!rn2(81)) mkash(croom);
12155 if(!rn2(1000)) mkashX(rnz(10),croom);
12156 if(!rn2(5000)) mkashX(rnz(25),croom);
12158 if(ishaxor && !rn2(1000)) mkashX(rnz(10),croom);
12159 if(ishaxor && !rn2(5000)) mkashX(rnz(25),croom);
12161 if(!rn2(1000)) {
12162 mksand(croom);
12163 if(!rn2(3)) mksand(croom);
12164 if(!rn2(9)) mksand(croom);
12165 if(!rn2(27)) mksand(croom);
12166 if(!rn2(81)) mksand(croom);
12169 if(ishaxor && !rn2(1000)) {
12170 mksand(croom);
12171 if(!rn2(3)) mksand(croom);
12172 if(!rn2(9)) mksand(croom);
12173 if(!rn2(27)) mksand(croom);
12174 if(!rn2(81)) mksand(croom);
12177 if(!rn2(1000)) mksandX(rnz(10),croom);
12178 if(!rn2(5000)) mksandX(rnz(25),croom);
12180 if(ishaxor && !rn2(1000)) mksandX(rnz(10),croom);
12181 if(ishaxor && !rn2(5000)) mksandX(rnz(25),croom);
12183 if(!rn2(1000)) {
12184 mkpavedfloor(croom);
12185 if(!rn2(3)) mkpavedfloor(croom);
12186 if(!rn2(9)) mkpavedfloor(croom);
12187 if(!rn2(27)) mkpavedfloor(croom);
12188 if(!rn2(81)) mkpavedfloor(croom);
12191 if(ishaxor && !rn2(1000)) {
12192 mkpavedfloor(croom);
12193 if(!rn2(3)) mkpavedfloor(croom);
12194 if(!rn2(9)) mkpavedfloor(croom);
12195 if(!rn2(27)) mkpavedfloor(croom);
12196 if(!rn2(81)) mkpavedfloor(croom);
12199 if(!rn2(1000)) mkpavedfloorX(rnz(10),croom);
12200 if(!rn2(5000)) mkpavedfloorX(rnz(25),croom);
12202 if(ishaxor && !rn2(1000)) mkpavedfloorX(rnz(10),croom);
12203 if(ishaxor && !rn2(5000)) mkpavedfloorX(rnz(25),croom);
12205 if(!rn2(1000)) {
12206 mkhighway(croom);
12207 if(!rn2(3)) mkhighway(croom);
12208 if(!rn2(9)) mkhighway(croom);
12209 if(!rn2(27)) mkhighway(croom);
12210 if(!rn2(81)) mkhighway(croom);
12213 if(ishaxor && !rn2(1000)) {
12214 mkhighway(croom);
12215 if(!rn2(3)) mkhighway(croom);
12216 if(!rn2(9)) mkhighway(croom);
12217 if(!rn2(27)) mkhighway(croom);
12218 if(!rn2(81)) mkhighway(croom);
12221 if(!rn2(1000)) mkhighwayX(rnz(10),croom);
12222 if(!rn2(5000)) mkhighwayX(rnz(25),croom);
12224 if(ishaxor && !rn2(1000)) mkhighwayX(rnz(10),croom);
12225 if(ishaxor && !rn2(5000)) mkhighwayX(rnz(25),croom);
12227 if(!rn2(1000)) {
12228 mkgrassland(croom);
12229 if(!rn2(3)) mkgrassland(croom);
12230 if(!rn2(9)) mkgrassland(croom);
12231 if(!rn2(27)) mkgrassland(croom);
12232 if(!rn2(81)) mkgrassland(croom);
12235 if(ishaxor && !rn2(1000)) {
12236 mkgrassland(croom);
12237 if(!rn2(3)) mkgrassland(croom);
12238 if(!rn2(9)) mkgrassland(croom);
12239 if(!rn2(27)) mkgrassland(croom);
12240 if(!rn2(81)) mkgrassland(croom);
12243 if(!rn2(1000)) mkgrasslandX(rnz(10),croom);
12244 if(!rn2(5000)) mkgrasslandX(rnz(25),croom);
12246 if(ishaxor && !rn2(1000)) mkgrasslandX(rnz(10),croom);
12247 if(ishaxor && !rn2(5000)) mkgrasslandX(rnz(25),croom);
12249 if(!rn2(1000)) {
12250 mknethermist(croom);
12251 if(!rn2(3)) mknethermist(croom);
12252 if(!rn2(9)) mknethermist(croom);
12253 if(!rn2(27)) mknethermist(croom);
12254 if(!rn2(81)) mknethermist(croom);
12257 if(ishaxor && !rn2(1000)) {
12258 mknethermist(croom);
12259 if(!rn2(3)) mknethermist(croom);
12260 if(!rn2(9)) mknethermist(croom);
12261 if(!rn2(27)) mknethermist(croom);
12262 if(!rn2(81)) mknethermist(croom);
12265 if(!rn2(1000)) mknethermistX(rnz(10),croom);
12266 if(!rn2(5000)) mknethermistX(rnz(25),croom);
12268 if(ishaxor && !rn2(1000)) mknethermistX(rnz(10),croom);
12269 if(ishaxor && !rn2(5000)) mknethermistX(rnz(25),croom);
12271 if(!rn2(1000)) {
12272 mkstalactite(croom);
12273 if(!rn2(3)) mkstalactite(croom);
12274 if(!rn2(9)) mkstalactite(croom);
12275 if(!rn2(27)) mkstalactite(croom);
12276 if(!rn2(81)) mkstalactite(croom);
12279 if(ishaxor && !rn2(1000)) {
12280 mkstalactite(croom);
12281 if(!rn2(3)) mkstalactite(croom);
12282 if(!rn2(9)) mkstalactite(croom);
12283 if(!rn2(27)) mkstalactite(croom);
12284 if(!rn2(81)) mkstalactite(croom);
12287 if(!rn2(1000)) mkstalactiteX(rnz(10),croom);
12288 if(!rn2(5000)) mkstalactiteX(rnz(25),croom);
12290 if(ishaxor && !rn2(1000)) mkstalactiteX(rnz(10),croom);
12291 if(ishaxor && !rn2(5000)) mkstalactiteX(rnz(25),croom);
12293 if(!rn2(1000)) {
12294 mkcryptfloor(croom);
12295 if(!rn2(3)) mkcryptfloor(croom);
12296 if(!rn2(9)) mkcryptfloor(croom);
12297 if(!rn2(27)) mkcryptfloor(croom);
12298 if(!rn2(81)) mkcryptfloor(croom);
12301 if(ishaxor && !rn2(1000)) {
12302 mkcryptfloor(croom);
12303 if(!rn2(3)) mkcryptfloor(croom);
12304 if(!rn2(9)) mkcryptfloor(croom);
12305 if(!rn2(27)) mkcryptfloor(croom);
12306 if(!rn2(81)) mkcryptfloor(croom);
12309 if(!rn2(1000)) mkcryptfloorX(rnz(10),croom);
12310 if(!rn2(5000)) mkcryptfloorX(rnz(25),croom);
12312 if(ishaxor && !rn2(1000)) mkcryptfloorX(rnz(10),croom);
12313 if(ishaxor && !rn2(5000)) mkcryptfloorX(rnz(25),croom);
12315 if(!rn2(1000)) {
12316 mkbubbles(croom);
12317 if(!rn2(3)) mkbubbles(croom);
12318 if(!rn2(9)) mkbubbles(croom);
12319 if(!rn2(27)) mkbubbles(croom);
12320 if(!rn2(81)) mkbubbles(croom);
12323 if(ishaxor && !rn2(1000)) {
12324 mkbubbles(croom);
12325 if(!rn2(3)) mkbubbles(croom);
12326 if(!rn2(9)) mkbubbles(croom);
12327 if(!rn2(27)) mkbubbles(croom);
12328 if(!rn2(81)) mkbubbles(croom);
12331 if(!rn2(1000)) mkbubblesX(rnz(10),croom);
12332 if(!rn2(5000)) mkbubblesX(rnz(25),croom);
12334 if(ishaxor && !rn2(1000)) mkbubblesX(rnz(10),croom);
12335 if(ishaxor && !rn2(5000)) mkbubblesX(rnz(25),croom);
12337 if(!rn2(1000)) {
12338 mkraincloud(croom);
12339 if(!rn2(3)) mkraincloud(croom);
12340 if(!rn2(9)) mkraincloud(croom);
12341 if(!rn2(27)) mkraincloud(croom);
12342 if(!rn2(81)) mkraincloud(croom);
12345 if(ishaxor && !rn2(1000)) {
12346 mkraincloud(croom);
12347 if(!rn2(3)) mkraincloud(croom);
12348 if(!rn2(9)) mkraincloud(croom);
12349 if(!rn2(27)) mkraincloud(croom);
12350 if(!rn2(81)) mkraincloud(croom);
12353 if(!rn2(1000)) mkraincloudX(rnz(10),croom);
12354 if(!rn2(5000)) mkraincloudX(rnz(25),croom);
12356 if(ishaxor && !rn2(1000)) mkraincloudX(rnz(10),croom);
12357 if(ishaxor && !rn2(5000)) mkraincloudX(rnz(25),croom);
12359 if(!rn2(2000)) {
12360 mkcrystalwater(croom);
12361 if(!rn2(3)) mkcrystalwater(croom);
12362 if(!rn2(9)) mkcrystalwater(croom);
12363 if(!rn2(27)) mkcrystalwater(croom);
12364 if(!rn2(81)) mkcrystalwater(croom);
12367 if(ishaxor && !rn2(2000)) {
12368 mkcrystalwater(croom);
12369 if(!rn2(3)) mkcrystalwater(croom);
12370 if(!rn2(9)) mkcrystalwater(croom);
12371 if(!rn2(27)) mkcrystalwater(croom);
12372 if(!rn2(81)) mkcrystalwater(croom);
12375 if(!rn2(2000)) mkcrystalwaterX(rnz(10),croom);
12376 if(!rn2(10000)) mkcrystalwaterX(rnz(25),croom);
12378 if(ishaxor && !rn2(2000)) mkcrystalwaterX(rnz(10),croom);
12379 if(ishaxor && !rn2(10000)) mkcrystalwaterX(rnz(25),croom);
12381 if(!rn2(2000)) {
12382 mkmoorland(croom);
12383 if(!rn2(3)) mkmoorland(croom);
12384 if(!rn2(9)) mkmoorland(croom);
12385 if(!rn2(27)) mkmoorland(croom);
12386 if(!rn2(81)) mkmoorland(croom);
12389 if(ishaxor && !rn2(2000)) {
12390 mkmoorland(croom);
12391 if(!rn2(3)) mkmoorland(croom);
12392 if(!rn2(9)) mkmoorland(croom);
12393 if(!rn2(27)) mkmoorland(croom);
12394 if(!rn2(81)) mkmoorland(croom);
12397 if(!rn2(2000)) mkmoorlandX(rnz(10),croom);
12398 if(!rn2(10000)) mkmoorlandX(rnz(25),croom);
12400 if(ishaxor && !rn2(2000)) mkmoorlandX(rnz(10),croom);
12401 if(ishaxor && !rn2(10000)) mkmoorlandX(rnz(25),croom);
12403 if(!rn2(2000)) {
12404 mkurinelake(croom);
12405 if(!rn2(3)) mkurinelake(croom);
12406 if(!rn2(9)) mkurinelake(croom);
12407 if(!rn2(27)) mkurinelake(croom);
12408 if(!rn2(81)) mkurinelake(croom);
12411 if(ishaxor && !rn2(2000)) {
12412 mkurinelake(croom);
12413 if(!rn2(3)) mkurinelake(croom);
12414 if(!rn2(9)) mkurinelake(croom);
12415 if(!rn2(27)) mkurinelake(croom);
12416 if(!rn2(81)) mkurinelake(croom);
12419 if(!rn2(2000)) mkurinelakeX(rnz(10),croom);
12420 if(!rn2(10000)) mkurinelakeX(rnz(25),croom);
12422 if(ishaxor && !rn2(2000)) mkurinelakeX(rnz(10),croom);
12423 if(ishaxor && !rn2(10000)) mkurinelakeX(rnz(25),croom);
12425 if(!rn2(2000)) {
12426 mkshiftingsand(croom);
12427 if(!rn2(3)) mkshiftingsand(croom);
12428 if(!rn2(9)) mkshiftingsand(croom);
12429 if(!rn2(27)) mkshiftingsand(croom);
12430 if(!rn2(81)) mkshiftingsand(croom);
12433 if(ishaxor && !rn2(2000)) {
12434 mkshiftingsand(croom);
12435 if(!rn2(3)) mkshiftingsand(croom);
12436 if(!rn2(9)) mkshiftingsand(croom);
12437 if(!rn2(27)) mkshiftingsand(croom);
12438 if(!rn2(81)) mkshiftingsand(croom);
12441 if(!rn2(2000)) mkshiftingsandX(rnz(10),croom);
12442 if(!rn2(10000)) mkshiftingsandX(rnz(25),croom);
12444 if(ishaxor && !rn2(2000)) mkshiftingsandX(rnz(10),croom);
12445 if(ishaxor && !rn2(10000)) mkshiftingsandX(rnz(25),croom);
12447 if(!rn2(2000)) {
12448 mkstyxriver(croom);
12449 if(!rn2(3)) mkstyxriver(croom);
12450 if(!rn2(9)) mkstyxriver(croom);
12451 if(!rn2(27)) mkstyxriver(croom);
12452 if(!rn2(81)) mkstyxriver(croom);
12455 if(ishaxor && !rn2(2000)) {
12456 mkstyxriver(croom);
12457 if(!rn2(3)) mkstyxriver(croom);
12458 if(!rn2(9)) mkstyxriver(croom);
12459 if(!rn2(27)) mkstyxriver(croom);
12460 if(!rn2(81)) mkstyxriver(croom);
12463 if(!rn2(2000)) mkstyxriverX(rnz(10),croom);
12464 if(!rn2(10000)) mkstyxriverX(rnz(25),croom);
12466 if(ishaxor && !rn2(2000)) mkstyxriverX(rnz(10),croom);
12467 if(ishaxor && !rn2(10000)) mkstyxriverX(rnz(25),croom);
12469 if(!rn2(5000)) {
12470 mktunnelwall(croom);
12471 if(!rn2(3)) mktunnelwall(croom);
12472 if(!rn2(9)) mktunnelwall(croom);
12473 if(!rn2(27)) mktunnelwall(croom);
12474 if(!rn2(81)) mktunnelwall(croom);
12477 if(ishaxor && !rn2(5000)) {
12478 mktunnelwall(croom);
12479 if(!rn2(3)) mktunnelwall(croom);
12480 if(!rn2(9)) mktunnelwall(croom);
12481 if(!rn2(27)) mktunnelwall(croom);
12482 if(!rn2(81)) mktunnelwall(croom);
12485 if(!rn2(5000)) mktunnelwallX(rnz(10),croom);
12486 if(!rn2(20000)) mktunnelwallX(rnz(25),croom);
12488 if(ishaxor && !rn2(5000)) mktunnelwallX(rnz(10),croom);
12489 if(ishaxor && !rn2(20000)) mktunnelwallX(rnz(25),croom);
12491 if(!rn2(5000)) {
12492 mkfarmland(croom);
12493 if(!rn2(3)) mkfarmland(croom);
12494 if(!rn2(9)) mkfarmland(croom);
12495 if(!rn2(27)) mkfarmland(croom);
12496 if(!rn2(81)) mkfarmland(croom);
12499 if(ishaxor && !rn2(5000)) {
12500 mkfarmland(croom);
12501 if(!rn2(3)) mkfarmland(croom);
12502 if(!rn2(9)) mkfarmland(croom);
12503 if(!rn2(27)) mkfarmland(croom);
12504 if(!rn2(81)) mkfarmland(croom);
12507 if(!rn2(5000)) mkfarmlandX(rnz(10),croom);
12508 if(!rn2(20000)) mkfarmlandX(rnz(25),croom);
12510 if(ishaxor && !rn2(5000)) mkfarmlandX(rnz(10),croom);
12511 if(ishaxor && !rn2(20000)) mkfarmlandX(rnz(25),croom);
12513 if(!rn2(5000)) {
12514 mkmountain(croom);
12515 if(!rn2(3)) mkmountain(croom);
12516 if(!rn2(9)) mkmountain(croom);
12517 if(!rn2(27)) mkmountain(croom);
12518 if(!rn2(81)) mkmountain(croom);
12521 if(ishaxor && !rn2(5000)) {
12522 mkmountain(croom);
12523 if(!rn2(3)) mkmountain(croom);
12524 if(!rn2(9)) mkmountain(croom);
12525 if(!rn2(27)) mkmountain(croom);
12526 if(!rn2(81)) mkmountain(croom);
12529 if(!rn2(5000)) mkmountainX(rnz(10),croom);
12530 if(!rn2(20000)) mkmountainX(rnz(25),croom);
12532 if(ishaxor && !rn2(5000)) mkmountainX(rnz(10),croom);
12533 if(ishaxor && !rn2(20000)) mkmountainX(rnz(25),croom);
12535 if(!rn2(5000)) {
12536 mkwatertunnel(croom);
12537 if(!rn2(3)) mkwatertunnel(croom);
12538 if(!rn2(9)) mkwatertunnel(croom);
12539 if(!rn2(27)) mkwatertunnel(croom);
12540 if(!rn2(81)) mkwatertunnel(croom);
12543 if(ishaxor && !rn2(5000)) {
12544 mkwatertunnel(croom);
12545 if(!rn2(3)) mkwatertunnel(croom);
12546 if(!rn2(9)) mkwatertunnel(croom);
12547 if(!rn2(27)) mkwatertunnel(croom);
12548 if(!rn2(81)) mkwatertunnel(croom);
12551 if(!rn2(5000)) mkwatertunnelX(rnz(10),croom);
12552 if(!rn2(20000)) mkwatertunnelX(rnz(25),croom);
12554 if(ishaxor && !rn2(5000)) mkwatertunnelX(rnz(10),croom);
12555 if(ishaxor && !rn2(20000)) mkwatertunnelX(rnz(25),croom);
12557 x = 80 - (depth(&u.uz) * 2);
12558 if (x < 2) x = 2;
12559 if(!rn2(x)) mkgrave(croom);
12561 if(ishaxor && !rn2(x)) mkgrave(croom);
12563 if(!rn2(60)) mkaltar(croom);
12565 if(ishaxor && !rn2(60)) mkaltar(croom);
12567 /* put statues inside */
12568 if(!rn2(20))
12569 (void) mkcorpstat(STATUE, (struct monst *)0,
12570 (struct permonst *)0,
12571 somex(croom), somey(croom), TRUE);
12572 /* put box/chest inside;
12573 * 40% chance for at least 1 box, regardless of number
12574 * of rooms; about 5 - 7.5% for 2 boxes, least likely
12575 * when few rooms; chance for 3 or more is neglible.
12577 if(!rn2(nroom * 5 / 2))
12578 (void) mksobj_at((rn2(3)) ? LARGE_BOX : CHEST, somex(croom), somey(croom), TRUE, FALSE, FALSE);
12580 /* maybe make some graffiti */
12581 if(!rn2(3 + 3 * abs(depth(&u.uz)))) {
12582 char buf[BUFSZ];
12583 const char *mesg = random_engraving(buf);
12584 if (mesg) {
12585 do {
12586 x = somex(croom); y = somey(croom);
12587 } while(levl[x][y].typ != ROOM && !rn2(40));
12588 if (!(IS_POOL(levl[x][y].typ) ||
12589 IS_FURNITURE(levl[x][y].typ)))
12590 make_engr_at(x, y, mesg, 0L, (xchar)0);
12594 #ifdef REINCARNATION
12595 skip_nonrogue:
12596 #endif
12598 /* STEPHEN WHITE'S NEW CODE */
12599 if(!rn2(3) && (timebasedlowerchance() || timebasedlowerchance() || timebasedlowerchance()) ) {
12600 (void) mkobj_at(0, somex(croom), somey(croom), TRUE, FALSE);
12601 tryct = 0;
12602 while(!rn2(3)) {
12603 if(++tryct > 100) {
12604 impossible("tryct overflow4");
12605 break;
12607 (void) mkobj_at(0, somex(croom), somey(croom), TRUE, FALSE);
12611 if(ishaxor && (timebasedlowerchance() || timebasedlowerchance() || timebasedlowerchance()) && !rn2(3)) {
12612 (void) mkobj_at(0, somex(croom), somey(croom), TRUE, FALSE);
12613 tryct = 0;
12614 while(!rn2(3)) {
12615 if(++tryct > 100) {
12616 impossible("tryct overflow4");
12617 break;
12619 (void) mkobj_at(0, somex(croom), somey(croom), TRUE, FALSE);
12623 /* some earlygame help... --Amy */
12624 if (moves == 1 && !rn2(2)) {
12625 (void) mkobj_at(0, somex(croom), somey(croom), TRUE, FALSE);
12626 tryct = 0;
12627 while(!rn2(3)) {
12628 if(++tryct > 100) {
12629 impossible("tryct overflow4");
12630 break;
12632 (void) mkobj_at(0, somex(croom), somey(croom), TRUE, FALSE);
12636 /* maybe place interesting features --Amy */
12638 add_amy_stuff(croom);
12646 * Place deposits of minerals (gold and misc gems) in the stone
12647 * surrounding the rooms on the map.
12648 * Also place kelp in water.
12651 void
12652 add_amy_stuff(croom)
12653 register struct mkroom *croom;
12655 if ( ((croom->hx - croom->lx + 1) * (croom->hy - croom->ly + 1)) > 50) {
12657 int roomsize = (croom->hx - croom->lx + 1) * (croom->hy - croom->ly + 1);
12658 int helpcounter = roomsize;
12659 if (ishaxor) helpcounter *= 2;
12660 int interx, intery;
12661 int seedparameter = (20 + rn2(100));
12662 if (!rn2(2)) seedparameter *= rnd(10);
12663 if (seedparameter < 1) seedparameter = 1; /* fail safe */
12665 while (helpcounter > 0) {
12666 interx = somex(croom);
12667 intery = somey(croom);
12668 helpcounter--;
12670 if (isok(interx, intery) && !rn2(seedparameter) && (levl[interx][intery].typ == ROOM || levl[interx][intery].typ == CORR) ) {
12672 mkfeature(interx, intery);
12677 /* place additional items, monsters and traps, amount is random but higher average for bigger rooms --Amy */
12678 if (croom->rtype == OROOM) { /* only for regular rooms, please */
12679 int roomsize = (croom->hx - croom->lx + 1) * (croom->hy - croom->ly + 1);
12680 int helpcounter = roomsize;
12681 int helpvar = 0;
12682 int seedparameter;
12684 /* items */
12685 seedparameter = (75 + rn2(176));
12686 if (!rn2(2)) seedparameter *= rnd(10);
12687 if (seedparameter < 1) seedparameter = 1; /* fail safe */
12689 helpcounter = roomsize;
12690 helpvar = 0;
12692 while (helpcounter > 0) {
12693 if (helpcounter > seedparameter) {
12694 helpcounter -= seedparameter;
12695 helpvar++;
12696 } else {
12697 if (helpcounter > rn2(seedparameter)) helpvar++;
12698 helpcounter = 0;
12701 if (ishaxor) helpvar *= 2;
12702 if (helpvar > 0) helpvar = rn3(helpvar); /* rn3 for items because they can be useful, rest uses rn2 */
12703 if (!rn2(3)) helpvar = 0;
12704 while (helpvar > 0) {
12705 (void) mkobj_at(0, somex(croom), somey(croom), TRUE, FALSE);
12706 helpvar--;
12709 /* monsters */
12710 seedparameter = (25 + rn2(51));
12711 if (!rn2(3)) seedparameter *= rnd(10);
12712 if (seedparameter < 1) seedparameter = 1; /* fail safe */
12714 helpcounter = roomsize;
12715 helpvar = 0;
12717 while (helpcounter > 0) {
12718 if (helpcounter > seedparameter) {
12719 helpcounter -= seedparameter;
12720 helpvar++;
12721 } else {
12722 if (helpcounter > rn2(seedparameter)) helpvar++;
12723 helpcounter = 0;
12726 if (ishaxor) helpvar *= 2;
12727 if (helpvar > 0) helpvar = rn2(helpvar);
12728 if (!rn2(10)) helpvar = 0;
12729 if (depth(&u.uz) == 1 && In_dod(&u.uz) && (helpvar > 0)) helpvar = rn2(helpvar);
12730 if (depth(&u.uz) == 2 && In_dod(&u.uz) && rn2(2) && (helpvar > 0)) helpvar = rn2(helpvar);
12732 while (helpvar > 0) {
12733 if (!ishomicider) (void) makemon((struct permonst *) 0, somex(croom), somey(croom), MM_MAYSLEEP);
12734 else (void) makerandomtrap_at(somex(croom), somey(croom), TRUE);
12735 helpvar--;
12738 /* traps */
12739 seedparameter = (16 + rn2(61));
12740 if (!rn2(5)) seedparameter *= rnd(10);
12741 if (seedparameter < 1) seedparameter = 1; /* fail safe */
12743 helpcounter = roomsize;
12744 helpvar = 0;
12746 while (helpcounter > 0) {
12747 if (helpcounter > seedparameter) {
12748 helpcounter -= seedparameter;
12749 helpvar++;
12750 } else {
12751 if (helpcounter > rn2(seedparameter)) helpvar++;
12752 helpcounter = 0;
12755 if (ishaxor) helpvar *= 2;
12756 if (helpvar > 0) helpvar = rn2(helpvar);
12757 if (!rn2(5)) helpvar = 0;
12759 if (depth(&u.uz) == 1 && In_dod(&u.uz) && (helpvar > 0)) helpvar = rn2(helpvar);
12760 if (depth(&u.uz) == 2 && In_dod(&u.uz) && rn2(2) && (helpvar > 0)) helpvar = rn2(helpvar);
12762 while (helpvar > 0) {
12763 (void) makerandomtrap_at(somex(croom), somey(croom), TRUE);
12764 helpvar--;
12771 STATIC_OVL void
12772 mineralize()
12774 s_level *sp;
12775 struct obj *otmp;
12776 int goldprob, goldamount, gemprob, objprob, x, y, cnt;
12777 const char *str;
12779 int density = 3;
12780 if (!rn2(5)) density += 1;
12781 if (!rn2(10)) density += rnd(3);
12782 if (!rn2(25)) density += rnd(5);
12783 if (!rn2(125)) density += rnd(10);
12784 if (!rn2(750)) density += rnd(20);
12786 int trapdensity = rnd(100);
12787 if (rn2(3)) trapdensity /= 10;
12788 if (!rn2(5)) trapdensity = 0;
12790 register struct obj *otmpX;
12791 register int tryct = 0;
12793 int otherwalltype = STONE;
12794 boolean otherwallxtra = 0;
12795 if (!rn2(iswarper ? 100 : 500)) {
12797 switch (rnd(28)) {
12799 case 1:
12800 otherwalltype = TREE; break;
12801 case 2:
12802 otherwalltype = MOAT; break;
12803 case 3:
12804 otherwalltype = LAVAPOOL; break;
12805 case 4:
12806 otherwalltype = IRONBARS; break;
12807 case 5:
12808 otherwalltype = CORR; break;
12809 case 6:
12810 otherwalltype = ICE; break;
12811 case 7:
12812 otherwalltype = CLOUD; break;
12813 case 8:
12814 otherwalltype = RAINCLOUD; break;
12815 case 9:
12816 otherwalltype = GRAVEWALL; break;
12817 case 10:
12818 otherwalltype = TUNNELWALL; break;
12819 case 11:
12820 otherwalltype = FARMLAND; break;
12821 case 12:
12822 otherwalltype = MOUNTAIN; break;
12823 case 13:
12824 otherwalltype = WATERTUNNEL; break;
12825 case 14:
12826 otherwalltype = CRYSTALWATER; break;
12827 case 15:
12828 otherwalltype = MOORLAND; break;
12829 case 16:
12830 otherwalltype = URINELAKE; break;
12831 case 17:
12832 otherwalltype = SHIFTINGSAND; break;
12833 case 18:
12834 otherwalltype = STYXRIVER; break;
12835 case 19:
12836 otherwalltype = SNOW; break;
12837 case 20:
12838 otherwalltype = ASH; break;
12839 case 21:
12840 otherwalltype = SAND; break;
12841 case 22:
12842 otherwalltype = PAVEDFLOOR; break;
12843 case 23:
12844 otherwalltype = HIGHWAY; break;
12845 case 24:
12846 otherwalltype = GRASSLAND; break;
12847 case 25:
12848 otherwalltype = NETHERMIST; break;
12849 case 26:
12850 otherwalltype = STALACTITE; break;
12851 case 27:
12852 otherwalltype = CRYPTFLOOR; break;
12853 case 28:
12854 otherwalltype = BUBBLES; break;
12857 if (!rn2(50)) otherwallxtra = 1;
12861 /* Place kelp, except on the plane of water */
12862 if (In_endgame(&u.uz)) return;
12863 for (x = 1; x < (COLNO); x++)
12864 for (y = 0; y < (ROWNO); y++) {
12866 if ((levl[x][y].typ == STONE) && otherwalltype && (rnd(density) < 4) ) {
12868 if (otherwallxtra) {
12869 switch (rnd(29)) {
12871 case 1:
12872 otherwalltype = TREE; break;
12873 case 2:
12874 otherwalltype = MOAT; break;
12875 case 3:
12876 otherwalltype = LAVAPOOL; break;
12877 case 4:
12878 otherwalltype = IRONBARS; break;
12879 case 5:
12880 otherwalltype = CORR; break;
12881 case 6:
12882 otherwalltype = ICE; break;
12883 case 7:
12884 otherwalltype = CLOUD; break;
12885 case 8:
12886 otherwalltype = RAINCLOUD; break;
12887 case 9:
12888 otherwalltype = GRAVEWALL; break;
12889 case 10:
12890 otherwalltype = TUNNELWALL; break;
12891 case 11:
12892 otherwalltype = FARMLAND; break;
12893 case 12:
12894 otherwalltype = MOUNTAIN; break;
12895 case 13:
12896 otherwalltype = WATERTUNNEL; break;
12897 case 14:
12898 otherwalltype = CRYSTALWATER; break;
12899 case 15:
12900 otherwalltype = MOORLAND; break;
12901 case 16:
12902 otherwalltype = URINELAKE; break;
12903 case 17:
12904 otherwalltype = SHIFTINGSAND; break;
12905 case 18:
12906 otherwalltype = STYXRIVER; break;
12907 case 19:
12908 otherwalltype = SNOW; break;
12909 case 20:
12910 otherwalltype = ASH; break;
12911 case 21:
12912 otherwalltype = SAND; break;
12913 case 22:
12914 otherwalltype = PAVEDFLOOR; break;
12915 case 23:
12916 otherwalltype = HIGHWAY; break;
12917 case 24:
12918 otherwalltype = GRASSLAND; break;
12919 case 25:
12920 otherwalltype = NETHERMIST; break;
12921 case 26:
12922 otherwalltype = STALACTITE; break;
12923 case 27:
12924 otherwalltype = CRYPTFLOOR; break;
12925 case 28:
12926 otherwalltype = BUBBLES; break;
12927 case 29:
12928 otherwalltype = ROCKWALL; break;
12932 levl[x][y].typ = otherwalltype;
12934 if (!rn2(ishaxor ? 10000 : 20000))
12935 levl[x][y].typ = THRONE;
12936 else if (!rn2(ishaxor ? 50000 : 100000))
12937 levl[x][y].typ = PENTAGRAM;
12938 else if (!rn2(ishaxor ? 25000 : 50000))
12939 levl[x][y].typ = WELL;
12940 else if (!rn2(ishaxor ? 25000 : 50000))
12941 levl[x][y].typ = POISONEDWELL;
12942 else if (!rn2(ishaxor ? 25000 : 50000))
12943 levl[x][y].typ = WAGON;
12944 else if (!rn2(ishaxor ? 25000 : 50000))
12945 levl[x][y].typ = BURNINGWAGON;
12946 else if (!rn2(ishaxor ? 20000 : 40000))
12947 levl[x][y].typ = WOODENTABLE;
12948 else if (!rn2(ishaxor ? 25000 : 50000))
12949 levl[x][y].typ = CARVEDBED;
12950 else if (!rn2(ishaxor ? 10000 : 20000))
12951 levl[x][y].typ = STRAWMATTRESS;
12952 else if (!rn2(ishaxor ? 2500 : 5000)) {
12953 levl[x][y].typ = FOUNTAIN;
12954 level.flags.nfountains++;
12956 else if (!rn2(ishaxor ? 2500 : 5000)) {
12957 levl[x][y].typ = SINK;
12958 level.flags.nsinks++;
12960 else if (!rn2(ishaxor ? 5000 : 10000))
12961 levl[x][y].typ = TOILET;
12962 else if (!rn2(ishaxor ? 1000 : 2000)) {
12963 levl[x][y].typ = GRAVE;
12964 str = random_epitaph();
12965 del_engr_at(x, y);
12966 make_engr_at(x, y, str, 0L, HEADSTONE);
12968 if (!rn2(3)) (void) mkgold(0L, x, y);
12969 for (tryct = rn2(5); tryct; tryct--) {
12970 if (timebasedlowerchance()) {
12971 otmpX = mkobj(RANDOM_CLASS, TRUE, FALSE);
12972 if (!otmpX) return;
12973 curse(otmpX);
12974 otmpX->ox = x;
12975 otmpX->oy = y;
12976 add_to_buried(otmpX);
12980 else if (!rn2(ishaxor ? 10000 : 20000)) {
12981 levl[x][y].typ = ALTAR;
12982 if (rn2(10)) levl[x][y].altarmask = Align2amask( A_NONE );
12983 else switch (rnd(3)) {
12984 case 1: levl[x][y].altarmask = Align2amask( A_LAWFUL ); break;
12985 case 2: levl[x][y].altarmask = Align2amask( A_NEUTRAL ); break;
12986 case 3: levl[x][y].altarmask = Align2amask( A_CHAOTIC ); break;
12989 if (!rn2(25)) {
12990 register struct obj *altarwater;
12991 altarwater = mksobj_at(POT_WATER, x, y, FALSE, FALSE, FALSE);
12992 if (altarwater) {
12994 if (Amask2align(levl[x][y].altarmask) == A_NONE && !rn2(5)) curse(altarwater);
12995 else bless(altarwater);
13003 if ((levl[x][y].typ <= DBWALL && !rn2(100000)) && !t_at(x, y) ) {
13004 maketrap(x, y, SUPERTHING_TRAP, 0, FALSE);
13007 if ((levl[x][y].typ <= DBWALL && Role_if(PM_SPACEWARS_FIGHTER) && !rn2(10000)) && !t_at(x, y) ) {
13008 maketrap(x, y, SUPERTHING_TRAP, 0, FALSE);
13011 if ((levl[x][y].typ <= DBWALL && Role_if(PM_CAMPERSTRIKER) && !rn2(5000)) && !t_at(x, y) ) {
13012 maketrap(x, y, SUPERTHING_TRAP, 0, FALSE);
13015 if ((levl[x][y].typ <= DBWALL && !rn2(100000)) && !t_at(x, y) ) {
13016 maketrap(x, y, ARABELLA_SPEAKER, 0, FALSE);
13019 if ((levl[x][y].typ <= DBWALL && Role_if(PM_SPACEWARS_FIGHTER) && !rn2(5000)) && !t_at(x, y) ) {
13020 maketrap(x, y, ARABELLA_SPEAKER, 0, FALSE);
13023 if ((levl[x][y].typ <= DBWALL && Role_if(PM_CAMPERSTRIKER) && !rn2(2500)) && !t_at(x, y) ) {
13024 maketrap(x, y, ARABELLA_SPEAKER, 0, FALSE);
13027 /* Since you can now pick up items from the bottom with swimming, let's reduce the amount of kelp --Amy */
13028 if (((levl[x][y].typ == POOL && !rn2(150)) || (levl[x][y].typ == MOAT && !rn2(50))) && timebasedlowerchance())
13029 (void)mksobj_at(KELP_FROND, x, y, TRUE, FALSE, FALSE);
13030 if (((levl[x][y].typ == POOL && !rn2(1500)) || (levl[x][y].typ == MOAT && !rn2(500))) && timebasedlowerchance())
13031 (void)mksobj_at(WATER_HYACINTH, x, y, TRUE, FALSE, FALSE);
13033 /* meadowfoam grows in grassy areas --Amy */
13034 if ((levl[x][y].typ == GRASSLAND && !rn2(200)) && timebasedlowerchance())
13035 (void)mksobj_at(MEADOWFOAM, x, y, TRUE, FALSE, FALSE);
13037 /* motherwort grows in the mountains --Amy */
13038 if ((levl[x][y].typ == MOUNTAIN && !rn2(300)) && timebasedlowerchance())
13039 (void)mksobj_at(MOTHERWORT, x, y, TRUE, FALSE, FALSE);
13041 /* locate level for camperstriker role should be filled end to end with traps on trees */
13042 if (levl[x][y].typ == TREE && Role_if(PM_CAMPERSTRIKER) && !rn2(10) && Is_qlocate(&u.uz) )
13043 makerandomtrap_at(x, y, TRUE);
13045 /* give a random, low, chance that any given square has a trap --Amy */
13047 if ((!(In_sokoban(&u.uz)) || (levl[x][y].typ != CORR && levl[x][y].typ != ROOM)) && !(depth(&u.uz) == 1 && In_dod(&u.uz) && rn2(3)) && !(depth(&u.uz) == 2 && (trapdensity > rn2(100)) && In_dod(&u.uz) && rn2(2)) ) {
13049 int reduceramount = (level_difficulty() / 5);
13050 if (reduceramount < 1) reduceramount = 1;
13052 if (!rn2(25000 / reduceramount)) makerandomtrap_at(x, y, TRUE);
13053 if (ishaxor && !rn2(25000 / reduceramount)) makerandomtrap_at(x, y, TRUE);
13055 if (ishomicider && !rn2(10000 / reduceramount)) makerandomtrap_at(x, y, TRUE);
13056 if (Role_if(PM_GANG_SCHOLAR) && !rn2(15000 / reduceramount)) makerandomtrap_at(x, y, TRUE);
13060 if (!ishomicider) {
13062 /* Random sea monsters if there is water. --Amy */
13064 if ((levl[x][y].typ == POOL && !(uarmh && uarmh->oartifact == ART_PETRI_HAS_LEFT_US) && !rn2((ishaxor && !issuxxor) ? 25 : (issuxxor && !ishaxor) ? 100 : 50)) ||
13065 (levl[x][y].typ == MOAT && !(uarmh && uarmh->oartifact == ART_PETRI_HAS_LEFT_US) && !rn2((ishaxor && !issuxxor) ? 25 : (issuxxor && !ishaxor) ? 100 : 50)))
13066 makemon(mkclass(S_EEL,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13068 /* More random monsters on other terrain, too. --Amy */
13070 if ((levl[x][y].typ == LAVAPOOL && !(uarmh && uarmh->oartifact == ART_PETRI_HAS_LEFT_US) && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13071 makemon(mkclass(S_FLYFISH,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13073 if ((levl[x][y].typ == ROOM && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000)) )
13074 makemon((struct permonst *)0, x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13076 if ((levl[x][y].typ == CORR && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000)) )
13077 makemon((struct permonst *)0, x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13079 if ((levl[x][y].typ == ICE && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000)) )
13080 makemon((struct permonst *)0, x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13082 if ((levl[x][y].typ == AIR && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000)) )
13083 makemon((struct permonst *)0, x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13085 if ((levl[x][y].typ == CLOUD && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000)) )
13086 makemon((struct permonst *)0, x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13088 if ((levl[x][y].typ == CORR && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000)) )
13089 makemon(mkclass(S_WALLMONST,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13091 if ((levl[x][y].typ == CORR && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000 )) )
13092 makemon(mkclass(S_TURRET,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13094 if ((levl[x][y].typ == TREE && !rn2((ishaxor && !issuxxor) ? 200 : (issuxxor && !ishaxor) ? 800 : 400)) )
13095 makemon(mkclass(S_BAT,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13097 if ((levl[x][y].typ == FOUNTAIN && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13098 makemon(mkclass(S_SNAKE,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13099 if ((levl[x][y].typ == FOUNTAIN && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13100 makemon(mkclass(S_LEPRECHAUN,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13101 if ((levl[x][y].typ == FOUNTAIN && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13102 makemon(mkclass(S_NYMPH,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13103 if ((levl[x][y].typ == FOUNTAIN && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13104 makemon(mkclass(S_SPIDER,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13105 if ((levl[x][y].typ == FOUNTAIN && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13106 makemon(mkclass(S_RUBMONST,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13108 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 10 : (issuxxor && !ishaxor) ? 40 : 20)) )
13109 makemon(courtmon(), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13110 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13111 makemon(mkclass(S_VORTEX,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13112 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13113 makemon(mkclass(S_LIGHT,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13114 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13115 makemon(mkclass(S_TRAPPER,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13116 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13117 makemon(mkclass(S_ANGEL,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13118 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13119 makemon(mkclass(S_ELEMENTAL,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13120 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13121 makemon(mkclass(S_HUMAN,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13122 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13123 makemon(mkclass(S_NEMESE,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13124 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 5000 : (issuxxor && !ishaxor) ? 20000 : 10000)) )
13125 makemon(mkclass(S_ARCHFIEND,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13127 if ((levl[x][y].typ == SINK && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13128 makemon(mkclass(S_PUDDING,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13129 if ((levl[x][y].typ == SINK && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13130 makemon(mkclass(S_BLOB,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13131 if ((levl[x][y].typ == SINK && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13132 makemon(mkclass(S_JELLY,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13133 if ((levl[x][y].typ == SINK && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13134 makemon(mkclass(S_FUNGUS,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13135 if ((levl[x][y].typ == SINK && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13136 makemon(mkclass(S_GRUE,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13138 if ((levl[x][y].typ == TOILET && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13139 makemon(mkclass(S_LIZARD,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13140 if ((levl[x][y].typ == TOILET && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13141 makemon(mkclass(S_MIMIC,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13142 if ((levl[x][y].typ == TOILET && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13143 makemon(mkclass(S_PIERCER,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13144 if ((levl[x][y].typ == TOILET && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13145 makemon(mkclass(S_RODENT,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13146 if ((levl[x][y].typ == TOILET && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13147 makemon(mkclass(S_WORM,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13149 if ((levl[x][y].typ == FARMLAND && !rn2((ishaxor && !issuxxor) ? 400 : (issuxxor && !ishaxor) ? 1600 : 800)) )
13150 makemon(mkclass(S_QUADRUPED,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13152 if (levl[x][y].typ == WATERTUNNEL && In_swimmingpool(&u.uz) && (dunlev(&u.uz) == dunlevs_in_dungeon(&u.uz)) && !rn2(15) )
13153 mkobj_at(!rn2(100) ? IMPLANT_CLASS : !rn2(4) ? AMULET_CLASS : RING_CLASS, x, y, FALSE, FALSE);
13155 if ((levl[x][y].typ == MOUNTAIN && !rn2((ishaxor && !issuxxor) ? 250 : (issuxxor && !ishaxor) ? 1000 : 500)) )
13156 makemon(specialtensmon(61), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* flying */
13157 if ((levl[x][y].typ == WATERTUNNEL && !(uarmh && uarmh->oartifact == ART_PETRI_HAS_LEFT_US) && !rn2((ishaxor && !issuxxor) ? 12 : (issuxxor && !ishaxor) ? 50 : 25)) )
13158 makemon(mkclass(S_EEL,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13159 if ((levl[x][y].typ == CRYSTALWATER && !(uarmh && uarmh->oartifact == ART_PETRI_HAS_LEFT_US) && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13160 makemon(mkclass(S_EEL,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13161 if ((levl[x][y].typ == MOORLAND && !rn2((ishaxor && !issuxxor) ? 250 : (issuxxor && !ishaxor) ? 1000 : 500)) )
13162 makemon(specialtensmon(70), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* amphibious */
13163 if ((levl[x][y].typ == URINELAKE && !rn2((ishaxor && !issuxxor) ? 400 : (issuxxor && !ishaxor) ? 1600 : 800)) )
13164 makemon(specialtensmon(88), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* acidic */
13165 if ((levl[x][y].typ == SHIFTINGSAND && !rn2((ishaxor && !issuxxor) ? 125 : (issuxxor && !ishaxor) ? 500 : 250)) )
13166 makemon(specialtensmon(219), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* AD_WRAP */
13167 if ((levl[x][y].typ == STYXRIVER && !rn2((ishaxor && !issuxxor) ? 450 : (issuxxor && !ishaxor) ? 1800 : 900)) )
13168 makemon(mkclass(S_FLYFISH,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13169 if ((levl[x][y].typ == STYXRIVER && !rn2((ishaxor && !issuxxor) ? 450 : (issuxxor && !ishaxor) ? 1800 : 900)) )
13170 makemon(specialtensmon(337), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* AD_CONT */
13171 if ((levl[x][y].typ == PENTAGRAM && !rn2((ishaxor && !issuxxor) ? 10 : (issuxxor && !ishaxor) ? 40 : 20)) )
13172 makemon(specialtensmon(313), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* AD_CAST */
13173 if ((levl[x][y].typ == WELL && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13174 makemon(mkclass(S_ZOMBIE,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13175 if ((levl[x][y].typ == POISONEDWELL && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13176 makemon(specialtensmon(89), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* poisonous */
13177 if ((levl[x][y].typ == WAGON && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13178 makemon(specialtensmon(68), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* concealing */
13179 if ((levl[x][y].typ == BURNINGWAGON && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13180 makemon(specialtensmon(194), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* AD_FIRE */
13181 if ((levl[x][y].typ == WOODENTABLE && !rn2((ishaxor && !issuxxor) ? 25 : (issuxxor && !ishaxor) ? 100 : 50)) )
13182 makemon(specialtensmon(82), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* thick hide */
13183 if ((levl[x][y].typ == CARVEDBED && !rn2((ishaxor && !issuxxor) ? 10 : (issuxxor && !ishaxor) ? 40 : 20)) )
13184 makemon(specialtensmon(45), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* resist sleep */
13185 if ((levl[x][y].typ == STRAWMATTRESS && !rn2((ishaxor && !issuxxor) ? 100 : (issuxxor && !ishaxor) ? 400 : 200)) )
13186 makemon(specialtensmon(205), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* AD_PLYS */
13187 if ((levl[x][y].typ == SNOW && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13188 makemon(specialtensmon(44), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* resist cold */
13189 if ((levl[x][y].typ == ASH && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13190 makemon(specialtensmon(43), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* resist fire */
13191 if ((levl[x][y].typ == SAND && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13192 makemon(specialtensmon(90), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* carnivorous */
13193 if ((levl[x][y].typ == PAVEDFLOOR && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13194 makemon(specialtensmon(332), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* MS_SHOE */
13195 if ((levl[x][y].typ == HIGHWAY && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13196 makemon(speedymon(), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13197 if ((levl[x][y].typ == GRASSLAND && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13198 makemon(specialtensmon(172), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* AT_BITE */
13199 if ((levl[x][y].typ == NETHERMIST && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13200 makemon(specialtensmon(310), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* AD_NTHR */
13201 if ((levl[x][y].typ == STALACTITE && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13202 makemon(mkclass(S_PIERCER,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13203 if ((levl[x][y].typ == CRYPTFLOOR && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13204 makemon(morguemonX(), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13205 if ((levl[x][y].typ == CRYPTFLOOR && !rn2(50)) )
13206 (void) maketrap(x, y, CURSED_GRAVE, 100, FALSE);
13207 if ((levl[x][y].typ == CRYPTFLOOR && !rn2(50)) )
13208 (void) maketrap(x, y, rndtrap(), 100, TRUE);
13209 if ((levl[x][y].typ == BUBBLES && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13210 makemon(specialtensmon(203), x, y, MM_ADJACENTOK|MM_MAYSLEEP); /* AD_STUN */
13211 if ((levl[x][y].typ == RAINCLOUD && !(uarmh && uarmh->oartifact == ART_PETRI_HAS_LEFT_US) && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13212 makemon(mkclass(S_EEL,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13214 if ((levl[x][y].typ == GRAVE && !rn2((ishaxor && !issuxxor) ? 5 : (issuxxor && !ishaxor) ? 20 : 10)) )
13215 makemon(morguemonX(), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13217 if ((levl[x][y].typ == ALTAR && !rn2((ishaxor && !issuxxor) ? 3 : (issuxxor && !ishaxor) ? 10 : 5)) )
13218 makemon((struct permonst *)0, x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13220 if ((levl[x][y].typ == STONE && !rn2((ishaxor && !issuxxor) ? 5000 : (issuxxor && !ishaxor) ? 20000 : 10000)) )
13221 makemon((struct permonst *)0, x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13223 if (( (levl[x][y].typ == VWALL || levl[x][y].typ == ROCKWALL || levl[x][y].typ == GRAVEWALL || levl[x][y].typ == TUNNELWALL || levl[x][y].typ == HWALL || levl[x][y].typ == TLCORNER || levl[x][y].typ == TRCORNER || levl[x][y].typ == BLCORNER || levl[x][y].typ == BRCORNER || levl[x][y].typ == CROSSWALL || levl[x][y].typ == TUWALL || levl[x][y].typ == TDWALL || levl[x][y].typ == TRWALL || levl[x][y].typ == TLWALL || levl[x][y].typ == DBWALL ) && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000)) )
13224 makemon((struct permonst *)0, x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13226 if ((levl[x][y].typ == SDOOR && !rn2((ishaxor && !issuxxor) ? 100 : (issuxxor && !ishaxor) ? 400 : 200)) )
13227 makemon(mkclass(S_MIMIC,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13228 if ((levl[x][y].typ == SCORR && !rn2((ishaxor && !issuxxor) ? 200 : (issuxxor && !ishaxor) ? 800 : 400)) )
13229 makemon(mkclass(S_MIMIC,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13230 if ((levl[x][y].typ == DOOR && !rn2((ishaxor && !issuxxor) ? 300 : (issuxxor && !ishaxor) ? 1200 : 600)) )
13231 makemon(mkclass(S_MIMIC,0), x, y, MM_ADJACENTOK|MM_MAYSLEEP);
13233 } /* !ishomicider check */
13235 if (ishomicider) { /* idea by deepy - a race for which monsters don't spawn normally */
13237 if ((levl[x][y].typ == POOL && !(uarmh && uarmh->oartifact == ART_PETRI_HAS_LEFT_US) && !rn2((ishaxor && !issuxxor) ? 25 : (issuxxor && !ishaxor) ? 100 : 50)) ||
13238 (levl[x][y].typ == MOAT && !(uarmh && uarmh->oartifact == ART_PETRI_HAS_LEFT_US) && !rn2((ishaxor && !issuxxor) ? 25 : (issuxxor && !ishaxor) ? 100 : 50)))
13239 makerandomtrap_at(x, y, TRUE);
13241 if ((levl[x][y].typ == LAVAPOOL && !(uarmh && uarmh->oartifact == ART_PETRI_HAS_LEFT_US) && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13242 makerandomtrap_at(x, y, TRUE);
13244 if ((levl[x][y].typ == ROOM && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000)) )
13245 makerandomtrap_at(x, y, TRUE);
13247 if ((levl[x][y].typ == CORR && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000)) )
13248 makerandomtrap_at(x, y, TRUE);
13250 if ((levl[x][y].typ == ICE && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000)) )
13251 makerandomtrap_at(x, y, TRUE);
13253 if ((levl[x][y].typ == AIR && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000)) )
13254 makerandomtrap_at(x, y, TRUE);
13256 if ((levl[x][y].typ == CLOUD && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000)) )
13257 makerandomtrap_at(x, y, TRUE);
13259 if ((levl[x][y].typ == CORR && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000)) )
13260 makerandomtrap_at(x, y, TRUE);
13262 if ((levl[x][y].typ == CORR && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000 )) )
13263 makerandomtrap_at(x, y, TRUE);
13265 if ((levl[x][y].typ == TREE && !rn2((ishaxor && !issuxxor) ? 200 : (issuxxor && !ishaxor) ? 800 : 400)) )
13266 makerandomtrap_at(x, y, TRUE);
13268 if ((levl[x][y].typ == FOUNTAIN && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13269 makerandomtrap_at(x, y, TRUE);
13270 if ((levl[x][y].typ == FOUNTAIN && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13271 makerandomtrap_at(x, y, TRUE);
13272 if ((levl[x][y].typ == FOUNTAIN && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13273 makerandomtrap_at(x, y, TRUE);
13274 if ((levl[x][y].typ == FOUNTAIN && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13275 makerandomtrap_at(x, y, TRUE);
13276 if ((levl[x][y].typ == FOUNTAIN && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13277 makerandomtrap_at(x, y, TRUE);
13279 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 10 : (issuxxor && !ishaxor) ? 40 : 20)) )
13280 makerandomtrap_at(x, y, TRUE);
13281 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13282 makerandomtrap_at(x, y, TRUE);
13283 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13284 makerandomtrap_at(x, y, TRUE);
13285 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13286 makerandomtrap_at(x, y, TRUE);
13287 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13288 makerandomtrap_at(x, y, TRUE);
13289 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13290 makerandomtrap_at(x, y, TRUE);
13291 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13292 makerandomtrap_at(x, y, TRUE);
13293 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13294 makerandomtrap_at(x, y, TRUE);
13295 if ((levl[x][y].typ == THRONE && !rn2((ishaxor && !issuxxor) ? 5000 : (issuxxor && !ishaxor) ? 20000 : 10000)) )
13296 makerandomtrap_at(x, y, TRUE);
13298 if ((levl[x][y].typ == SINK && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13299 makerandomtrap_at(x, y, TRUE);
13300 if ((levl[x][y].typ == SINK && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13301 makerandomtrap_at(x, y, TRUE);
13302 if ((levl[x][y].typ == SINK && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13303 makerandomtrap_at(x, y, TRUE);
13304 if ((levl[x][y].typ == SINK && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13305 makerandomtrap_at(x, y, TRUE);
13306 if ((levl[x][y].typ == SINK && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13307 makerandomtrap_at(x, y, TRUE);
13309 if ((levl[x][y].typ == TOILET && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13310 makerandomtrap_at(x, y, TRUE);
13311 if ((levl[x][y].typ == TOILET && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13312 makerandomtrap_at(x, y, TRUE);
13313 if ((levl[x][y].typ == TOILET && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13314 makerandomtrap_at(x, y, TRUE);
13315 if ((levl[x][y].typ == TOILET && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13316 makerandomtrap_at(x, y, TRUE);
13317 if ((levl[x][y].typ == TOILET && !rn2((ishaxor && !issuxxor) ? 30 : (issuxxor && !ishaxor) ? 120 : 60)) )
13318 makerandomtrap_at(x, y, TRUE);
13320 if ((levl[x][y].typ == FARMLAND && !rn2((ishaxor && !issuxxor) ? 400 : (issuxxor && !ishaxor) ? 1600 : 800)) )
13321 makerandomtrap_at(x, y, TRUE);
13323 if (levl[x][y].typ == WATERTUNNEL && In_swimmingpool(&u.uz) && (dunlev(&u.uz) == dunlevs_in_dungeon(&u.uz)) && !rn2(15) )
13324 mkobj_at(!rn2(100) ? IMPLANT_CLASS : !rn2(4) ? AMULET_CLASS : RING_CLASS, x, y, FALSE, FALSE);
13326 if ((levl[x][y].typ == MOUNTAIN && !rn2((ishaxor && !issuxxor) ? 250 : (issuxxor && !ishaxor) ? 1000 : 500)) )
13327 makerandomtrap_at(x, y, TRUE);
13328 if ((levl[x][y].typ == WATERTUNNEL && !(uarmh && uarmh->oartifact == ART_PETRI_HAS_LEFT_US) && !rn2((ishaxor && !issuxxor) ? 12 : (issuxxor && !ishaxor) ? 50 : 25)) )
13329 makerandomtrap_at(x, y, TRUE);
13330 if ((levl[x][y].typ == CRYSTALWATER && !(uarmh && uarmh->oartifact == ART_PETRI_HAS_LEFT_US) && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13331 makerandomtrap_at(x, y, TRUE);
13332 if ((levl[x][y].typ == MOORLAND && !rn2((ishaxor && !issuxxor) ? 250 : (issuxxor && !ishaxor) ? 1000 : 500)) )
13333 makerandomtrap_at(x, y, TRUE);
13334 if ((levl[x][y].typ == URINELAKE && !rn2((ishaxor && !issuxxor) ? 400 : (issuxxor && !ishaxor) ? 1600 : 800)) )
13335 makerandomtrap_at(x, y, TRUE);
13336 if ((levl[x][y].typ == SHIFTINGSAND && !rn2((ishaxor && !issuxxor) ? 125 : (issuxxor && !ishaxor) ? 500 : 250)) )
13337 makerandomtrap_at(x, y, TRUE);
13338 if ((levl[x][y].typ == STYXRIVER && !rn2((ishaxor && !issuxxor) ? 450 : (issuxxor && !ishaxor) ? 1800 : 900)) )
13339 makerandomtrap_at(x, y, TRUE);
13340 if ((levl[x][y].typ == STYXRIVER && !rn2((ishaxor && !issuxxor) ? 450 : (issuxxor && !ishaxor) ? 1800 : 900)) )
13341 makerandomtrap_at(x, y, TRUE);
13342 if ((levl[x][y].typ == PENTAGRAM && !rn2((ishaxor && !issuxxor) ? 10 : (issuxxor && !ishaxor) ? 40 : 20)) )
13343 makerandomtrap_at(x, y, TRUE);
13344 if ((levl[x][y].typ == WELL && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13345 makerandomtrap_at(x, y, TRUE);
13346 if ((levl[x][y].typ == POISONEDWELL && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13347 makerandomtrap_at(x, y, TRUE);
13348 if ((levl[x][y].typ == WAGON && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13349 makerandomtrap_at(x, y, TRUE);
13350 if ((levl[x][y].typ == BURNINGWAGON && !rn2((ishaxor && !issuxxor) ? 50 : (issuxxor && !ishaxor) ? 200 : 100)) )
13351 makerandomtrap_at(x, y, TRUE);
13352 if ((levl[x][y].typ == WOODENTABLE && !rn2((ishaxor && !issuxxor) ? 25 : (issuxxor && !ishaxor) ? 100 : 50)) )
13353 makerandomtrap_at(x, y, TRUE);
13354 if ((levl[x][y].typ == CARVEDBED && !rn2((ishaxor && !issuxxor) ? 10 : (issuxxor && !ishaxor) ? 40 : 20)) )
13355 makerandomtrap_at(x, y, TRUE);
13356 if ((levl[x][y].typ == STRAWMATTRESS && !rn2((ishaxor && !issuxxor) ? 100 : (issuxxor && !ishaxor) ? 400 : 200)) )
13357 makerandomtrap_at(x, y, TRUE);
13358 if ((levl[x][y].typ == SNOW && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13359 makerandomtrap_at(x, y, TRUE);
13360 if ((levl[x][y].typ == ASH && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13361 makerandomtrap_at(x, y, TRUE);
13362 if ((levl[x][y].typ == SAND && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13363 makerandomtrap_at(x, y, TRUE);
13364 if ((levl[x][y].typ == PAVEDFLOOR && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13365 makerandomtrap_at(x, y, TRUE);
13366 if ((levl[x][y].typ == HIGHWAY && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13367 makerandomtrap_at(x, y, TRUE);
13368 if ((levl[x][y].typ == GRASSLAND && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13369 makerandomtrap_at(x, y, TRUE);
13370 if ((levl[x][y].typ == NETHERMIST && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13371 makerandomtrap_at(x, y, TRUE);
13372 if ((levl[x][y].typ == STALACTITE && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13373 makerandomtrap_at(x, y, TRUE);
13374 if ((levl[x][y].typ == CRYPTFLOOR && !rn2(50)) )
13375 (void) maketrap(x, y, CURSED_GRAVE, 100, FALSE);
13376 if ((levl[x][y].typ == CRYPTFLOOR && !rn2(50)) )
13377 (void) maketrap(x, y, rndtrap(), 100, TRUE);
13378 if ((levl[x][y].typ == CRYPTFLOOR && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13379 makerandomtrap_at(x, y, TRUE);
13380 if ((levl[x][y].typ == BUBBLES && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13381 makerandomtrap_at(x, y, TRUE);
13382 if ((levl[x][y].typ == RAINCLOUD && !(uarmh && uarmh->oartifact == ART_PETRI_HAS_LEFT_US) && !rn2((ishaxor && !issuxxor) ? 500 : (issuxxor && !ishaxor) ? 2000 : 1000)) )
13383 makerandomtrap_at(x, y, TRUE);
13385 if ((levl[x][y].typ == GRAVE && !rn2((ishaxor && !issuxxor) ? 5 : (issuxxor && !ishaxor) ? 20 : 10)) )
13386 makerandomtrap_at(x, y, TRUE);
13388 if ((levl[x][y].typ == ALTAR && !rn2((ishaxor && !issuxxor) ? 3 : (issuxxor && !ishaxor) ? 10 : 5)) )
13389 makerandomtrap_at(x, y, TRUE);
13391 if ((levl[x][y].typ == STONE && !rn2((ishaxor && !issuxxor) ? 5000 : (issuxxor && !ishaxor) ? 20000 : 10000)) )
13392 makerandomtrap_at(x, y, TRUE);
13394 if (( (levl[x][y].typ == VWALL || levl[x][y].typ == ROCKWALL || levl[x][y].typ == GRAVEWALL || levl[x][y].typ == TUNNELWALL || levl[x][y].typ == HWALL || levl[x][y].typ == TLCORNER || levl[x][y].typ == TRCORNER || levl[x][y].typ == BLCORNER || levl[x][y].typ == BRCORNER || levl[x][y].typ == CROSSWALL || levl[x][y].typ == TUWALL || levl[x][y].typ == TDWALL || levl[x][y].typ == TRWALL || levl[x][y].typ == TLWALL || levl[x][y].typ == DBWALL ) && !rn2((ishaxor && !issuxxor) ? 1000 : (issuxxor && !ishaxor) ? 4000 : 2000)) )
13395 makerandomtrap_at(x, y, TRUE);
13397 if ((levl[x][y].typ == SDOOR && !rn2((ishaxor && !issuxxor) ? 100 : (issuxxor && !ishaxor) ? 400 : 200)) )
13398 makerandomtrap_at(x, y, TRUE);
13399 if ((levl[x][y].typ == SCORR && !rn2((ishaxor && !issuxxor) ? 200 : (issuxxor && !ishaxor) ? 800 : 400)) )
13400 makerandomtrap_at(x, y, TRUE);
13401 if ((levl[x][y].typ == DOOR && !rn2((ishaxor && !issuxxor) ? 300 : (issuxxor && !ishaxor) ? 1200 : 600)) )
13402 makerandomtrap_at(x, y, TRUE);
13404 } /* ishomicider check */
13408 /* determine if it is even allowed;
13409 almost all special levels are excluded */
13410 if (issoviet && (In_hell(&u.uz) || In_V_tower(&u.uz) ||
13411 #ifdef REINCARNATION
13412 Is_rogue_level(&u.uz) ||
13413 #endif
13414 level.flags.arboreal ||
13415 ((sp = Is_special(&u.uz)) != 0 && !Is_oracle_level(&u.uz)
13416 && (!In_mines(&u.uz) || sp->flags.town)
13417 ))) return;
13418 /* Amy edit - let's just ditch that. If players want to dig for items, let them do so! */
13419 /* In Soviet Russia, restrictions are par for the course. Therefore it's strictly forbidden to hide gold and gems
13420 * in the walls of special levels. Violators of this rule are punished with at least 20 years in the
13421 * detention camp. --Amy */
13423 /* basic level-related probabilities */
13424 goldprob = 20 + depth(&u.uz) / 3;
13425 goldamount = 20 + depth(&u.uz) / 3;
13426 gemprob = goldprob / 10;
13427 objprob = goldprob / 20;
13429 /* mines have ***MORE*** goodies - otherwise why mine? */
13430 if (In_mines(&u.uz)) {
13431 goldprob *= 2;
13432 gemprob *= 2;
13433 } else if (In_deepmines(&u.uz)) {
13434 goldprob *= 3;
13435 gemprob *= 3;
13436 } else if (In_quest(&u.uz)) {
13437 goldprob /= 4;
13438 gemprob /= 6;
13441 if (ishaxor) {
13442 goldprob *= 2;
13443 gemprob *= 2;
13444 objprob *= 2;
13447 if (uwep && uwep->oartifact == ART_RITA_S_DIAMOGIGGLING) {
13448 gemprob *= rn1(2,2);
13452 * Seed rock areas with gold and/or gems.
13453 * We use fairly low level object handling to avoid unnecessary
13454 * overhead from placing things in the floor chain prior to burial.
13456 for (x = 2; x < (COLNO - 2); x++)
13457 for (y = 1; y < (ROWNO - 1); y++)
13458 if (levl[x][y+1].typ != STONE && rn2(100) ) { /* <x,y> spot not eligible */
13459 y += 2; /* next two spots aren't eligible either */
13460 } else if (levl[x][y].typ != STONE && rn2(100) ) { /* this spot not eligible */
13461 y += 1; /* next spot isn't eligible either */
13462 } else if ( (!(levl[x][y].wall_info & W_NONDIGGABLE) || !rn2(1000) ) &&
13463 ((levl[x][y-1].typ == STONE &&
13464 levl[x+1][y-1].typ == STONE && levl[x-1][y-1].typ == STONE &&
13465 levl[x+1][y].typ == STONE && levl[x-1][y].typ == STONE &&
13466 levl[x+1][y+1].typ == STONE && levl[x-1][y+1].typ == STONE) || !rn2(100) ) ) {
13467 if ((rn2(1000) < goldprob) && !rn2(10) && (depth(&u.uz) > rn2(100)) && timebasedlowerchance()) {
13468 if ((otmp = mksobj(GOLD_PIECE, FALSE, FALSE, FALSE)) != 0) {
13469 otmp->ox = x, otmp->oy = y;
13470 otmp->quan = 1L + rnd(goldamount * 3);
13471 otmp->owt = weight(otmp);
13472 if (!rn2((uarmc && itemhasappearance(uarmc, APP_CLOISTER_CLOAK)) ? 2 : 3)) add_to_buried(otmp);
13473 else place_object(otmp, x, y);
13476 if ((rn2(1000) < gemprob) && !rn2(10) && (depth(&u.uz) > rn2(100)) && timebasedlowerchance()) {
13477 for (cnt = rnd(2 + dunlev(&u.uz) / 3); cnt > 0; cnt--)
13478 if ((otmp = mkobj(GEM_CLASS, FALSE, FALSE)) != 0) {
13479 if (otmp->otyp == ROCK) {
13480 dealloc_obj(otmp); /* discard it */
13481 } else {
13482 otmp->ox = x, otmp->oy = y;
13483 if (!rn2((uarmc && itemhasappearance(uarmc, APP_CLOISTER_CLOAK)) ? 2 : 3)) add_to_buried(otmp);
13484 else place_object(otmp, x, y);
13488 if ((rn2(1500) < objprob) && !rn2(10) && (depth(&u.uz) > rn2(100)) && (timebasedlowerchance() || timebasedlowerchance()) ) {
13489 for (cnt = rnd(2 + dunlev(&u.uz) / 3); cnt > 0; cnt--)
13490 if ((otmp = mkobj(RANDOM_CLASS, FALSE, FALSE)) != 0) {
13491 if (otmp->otyp == ROCK) {
13492 dealloc_obj(otmp); /* discard it */
13493 } else {
13494 otmp->ox = x, otmp->oy = y;
13495 if (!rn2((uarmc && itemhasappearance(uarmc, APP_CLOISTER_CLOAK)) ? 2 : 3)) add_to_buried(otmp);
13496 else place_object(otmp, x, y);
13503 void
13504 mklev()
13506 struct mkroom *croom;
13508 init_mapseen(&u.uz);
13510 if(getbones()) {
13512 u.gottenbones = 1;
13513 return;
13516 in_mklev = TRUE;
13517 makelevel();
13519 bound_digging();
13520 specdungeoninit();
13521 mineralize();
13522 in_mklev = FALSE;
13523 /* has_morgue gets cleared once morgue is entered; graveyard stays
13524 set (graveyard might already be set even when has_morgue is clear
13525 [see fixup_special()], so don't update it unconditionally) */
13526 if (level.flags.has_morgue)
13527 level.flags.graveyard = 1;
13528 if(!level.flags.is_maze_lev) {
13529 for (croom = &rooms[0]; croom != &rooms[nroom]; croom++)
13530 #ifdef SPECIALIZATION
13531 topologize(croom, FALSE);
13532 #else
13533 topologize(croom);
13534 #endif
13536 set_wall_state();
13539 void
13540 #ifdef SPECIALIZATION
13541 topologize(croom, do_ordinary)
13542 register struct mkroom *croom;
13543 boolean do_ordinary;
13544 #else
13545 topologize(croom)
13546 register struct mkroom *croom;
13547 #endif
13549 register int x, y, roomno = (croom - rooms) + ROOMOFFSET;
13550 register int lowx = croom->lx, lowy = croom->ly;
13551 register int hix = croom->hx, hiy = croom->hy;
13552 #ifdef SPECIALIZATION
13553 register schar rtype = croom->rtype;
13554 #endif
13555 register int subindex, nsubrooms = croom->nsubrooms;
13557 /* skip the room if already done; i.e. a shop handled out of order */
13558 /* also skip if this is non-rectangular (it _must_ be done already) */
13559 if ((int) levl[lowx][lowy].roomno == roomno || croom->irregular)
13560 return;
13561 #ifdef SPECIALIZATION
13562 # ifdef REINCARNATION
13563 if (Is_rogue_level(&u.uz))
13564 do_ordinary = TRUE; /* vision routine helper */
13565 # endif
13566 if ((rtype != OROOM) || do_ordinary)
13567 #endif
13569 /* do innards first */
13570 for(x = lowx; x <= hix; x++)
13571 for(y = lowy; y <= hiy; y++)
13572 #ifdef SPECIALIZATION
13573 if (rtype == OROOM)
13574 levl[x][y].roomno = NO_ROOM;
13575 else
13576 #endif
13577 levl[x][y].roomno = roomno;
13578 /* top and bottom edges */
13579 for(x = lowx-1; x <= hix+1; x++)
13580 for(y = lowy-1; y <= hiy+1; y += (hiy-lowy+2)) {
13581 levl[x][y].edge = 1;
13582 if (levl[x][y].roomno)
13583 levl[x][y].roomno = SHARED;
13584 else
13585 levl[x][y].roomno = roomno;
13587 /* sides */
13588 for(x = lowx-1; x <= hix+1; x += (hix-lowx+2))
13589 for(y = lowy; y <= hiy; y++) {
13590 levl[x][y].edge = 1;
13591 if (levl[x][y].roomno)
13592 levl[x][y].roomno = SHARED;
13593 else
13594 levl[x][y].roomno = roomno;
13597 /* subrooms */
13598 for (subindex = 0; subindex < nsubrooms; subindex++)
13599 #ifdef SPECIALIZATION
13600 topologize(croom->sbrooms[subindex], (rtype != OROOM));
13601 #else
13602 topologize(croom->sbrooms[subindex]);
13603 #endif
13606 /* Find an unused room for a branch location. */
13607 STATIC_OVL struct mkroom *
13608 find_branch_room(mp)
13609 coord *mp;
13611 struct mkroom *croom = 0;
13613 if (nroom == 0) {
13614 mazexy(mp); /* already verifies location */
13615 } else {
13616 /* not perfect - there may be only one stairway */
13617 if(nroom > 2) {
13618 int tryct = 0;
13621 croom = &rooms[rn2(nroom)];
13622 while((croom == dnstairs_room || croom == upstairs_room ||
13623 croom->rtype != OROOM) && (++tryct < 100));
13625 if (at_dgn_entrance("Green Cross")) {
13627 croom = &rooms[rn2(nroom)];
13628 while((croom->rtype != GREENCROSSROOM) && (++tryct < 100));
13631 } else
13632 croom = &rooms[rn2(nroom)];
13634 register int roomattempts = 0;
13636 do {
13637 roomattempts++;
13638 if (!somexy(croom, mp))
13639 impossible("Can't place branch!");
13640 return croom;
13641 } while( ((roomattempts > 50000) ? reallyoccupied(mp->x, mp->y) : occupied(mp->x, mp->y)) ||
13642 (levl[mp->x][mp->y].typ != CORR && levl[mp->x][mp->y].typ != ROOM));
13644 return croom;
13647 /* Find the room for (x,y). Return null if not in a room. */
13648 STATIC_OVL struct mkroom *
13649 pos_to_room(x, y)
13650 xchar x, y;
13652 int i;
13653 struct mkroom *curr;
13655 for (curr = rooms, i = 0; i < nroom; curr++, i++)
13656 if (inside_room(curr, x, y)) return curr;;
13657 return (struct mkroom *) 0;
13661 /* If given a branch, randomly place a special stair or portal. */
13662 void
13663 place_branch(br, x, y)
13664 branch *br; /* branch to place */
13665 xchar x, y; /* location */
13667 coord m;
13668 d_level *dest;
13669 boolean make_stairs;
13670 struct mkroom *br_room;
13672 int stairtryct = 0;
13675 * Return immediately if there is no branch to make or we have
13676 * already made one. This routine can be called twice when
13677 * a special level is loaded that specifies an SSTAIR location
13678 * as a favored spot for a branch.
13681 if (!br || made_branch) return;
13683 if (!x) { /* find random coordinates for branch */
13684 br_room = (find_branch_room(&m));
13685 x = m.x;
13686 y = m.y;
13688 /* somehow this genius code can place the branch staircase on an existing branch!!! we can't have that --Amy */
13689 if (On_stairs(x, y) && stairtryct++ < 50000) {
13690 impossible("placing branch on existing staircase?");
13691 br_room = (find_branch_room(&m));
13692 x = m.x;
13693 y = m.y;
13695 while (On_stairs(x, y) && stairtryct++ < 50000) {
13696 br_room = (find_branch_room(&m));
13697 x = m.x;
13698 y = m.y;
13701 /* stairseeker changes stuff here */
13702 if (br && (evilfriday || isstairseeker || !(at_dgn_entrance("Green Cross") || at_dgn_entrance("The Subquest") || at_dgn_entrance("The Quest") || at_dgn_entrance("Lawful Quest") || at_dgn_entrance("Neutral Quest") || at_dgn_entrance("Chaotic Quest") || at_dgn_entrance("The Elemental Planes") || at_dgn_entrance("Sheol") || at_dgn_entrance("Bell Caves") || at_dgn_entrance("Vlad's Tower") || at_dgn_entrance("Forging Chamber") || at_dgn_entrance("Dead Grounds") || at_dgn_entrance("Ordered Chaos")) )) {
13704 int steetries = 0;
13705 while (steetries < 50000) {
13706 steetries++;
13707 x = rnd(COLNO-1);
13708 y = rn2(ROWNO);
13709 if (ACCESSIBLE(levl[x][y].typ) && !(t_at(x,y) && ((t_at(x,y))->ttyp == MAGIC_PORTAL)) && (levl[x][y].typ == CORR || levl[x][y].typ == ROOM) && !On_stairs(x, y)) break; /* we got a good location! */
13711 if (!ACCESSIBLE(levl[x][y].typ) || (t_at(x,y) && ((t_at(x,y))->ttyp == MAGIC_PORTAL)) || On_stairs(x, y)) {
13712 x = m.x;
13713 y = m.y;
13717 } else {
13719 br_room = pos_to_room(x, y);
13722 if (on_level(&br->end1, &u.uz)) {
13723 /* we're on end1 */
13724 make_stairs = br->type != BR_NO_END1;
13725 dest = &br->end2;
13726 } else {
13727 /* we're on end2 */
13728 make_stairs = br->type != BR_NO_END2;
13729 dest = &br->end1;
13732 if (br->type == BR_PORTAL) {
13733 mkportal(x, y, dest->dnum, dest->dlevel);
13734 /* Amy edit: make sure it's accessible */
13735 if (IS_ROCK(levl[x][y].typ)) levl[x][y].typ = ROOM;
13736 } else if (make_stairs) {
13737 sstairs.sx = x;
13738 sstairs.sy = y;
13739 sstairs.up = (char) on_level(&br->end1, &u.uz) ?
13740 br->end1_up : !br->end1_up;
13741 assign_level(&sstairs.tolev, dest);
13742 sstairs_room = br_room;
13744 levl[x][y].ladder = sstairs.up ? LA_UP : LA_DOWN;
13745 levl[x][y].typ = STAIRS;
13748 * Set made_branch to TRUE even if we didn't make a stairwell (i.e.
13749 * make_stairs is false) since there is currently only one branch
13750 * per level, if we failed once, we're going to fail again on the
13751 * next call.
13753 made_branch = TRUE;
13755 /* now that the branch exists, it can no longer happen that the stair/portal appears in an impossible place... */
13759 STATIC_OVL boolean
13760 bydoor(x, y)
13761 register xchar x, y;
13763 register int typ;
13765 if (isok(x+1, y)) {
13766 typ = levl[x+1][y].typ;
13767 if (IS_DOOR(typ) || typ == SDOOR) return TRUE;
13769 if (isok(x-1, y)) {
13770 typ = levl[x-1][y].typ;
13771 if (IS_DOOR(typ) || typ == SDOOR) return TRUE;
13773 if (isok(x, y+1)) {
13774 typ = levl[x][y+1].typ;
13775 if (IS_DOOR(typ) || typ == SDOOR) return TRUE;
13777 if (isok(x, y-1)) {
13778 typ = levl[x][y-1].typ;
13779 if (IS_DOOR(typ) || typ == SDOOR) return TRUE;
13781 return FALSE;
13784 /* see whether it is allowable to create a door at [x,y] */
13786 okdoor(x,y)
13787 register xchar x, y;
13789 register boolean near_door = bydoor(x, y);
13791 return((levl[x][y].typ == HWALL || levl[x][y].typ == VWALL) &&
13792 doorindex < DOORMAX && !near_door);
13795 void
13796 dodoor(x,y,aroom)
13797 register int x, y;
13798 register struct mkroom *aroom;
13800 if(doorindex >= DOORMAX) {
13801 impossible("DOORMAX exceeded?");
13802 return;
13805 dosdoor(x,y,aroom,rn2(8) ? DOOR : SDOOR);
13808 boolean
13809 occupied(x, y)
13810 register xchar x, y;
13812 return((boolean)(t_at(x, y)
13813 || IS_FURNITURE(levl[x][y].typ)
13814 || is_lava(x,y)
13815 || is_waterypool(x,y)
13816 || is_watertunnel(x,y)
13817 || is_shiftingsand(x,y)
13818 || is_moorland(x,y)
13819 || is_urinelake(x,y)
13820 || invocation_pos(x,y)
13824 /* K2 found out that the game can enter an infinite loop occasionally; I've seen that happen in slex before, especially
13825 * when a pool room was on one of my special mazes. Apparently, if the game tries to put a branch stair or something in
13826 * one of those rooms and there's only water everywhere, it searches and searches for a position where it could put the
13827 * staircase and never finds one, so I had to make sure it can exit that loop eventually. --Amy */
13828 boolean
13829 reallyoccupied(x, y)
13830 register xchar x, y;
13832 return((boolean) (levl[x][y].typ == STAIRS) || (levl[x][y].typ == LADDER) || invocation_pos(x,y));
13835 /* make a trap somewhere (in croom if mazeflag = 0 && !tm) */
13836 /* if tm != null, make trap at that location */
13837 void
13838 mktrap(num, mazeflag, croom, tm, cangivehp)
13839 register int num, mazeflag;
13840 register struct mkroom *croom;
13841 coord *tm;
13842 boolean cangivehp;
13844 register int kind;
13845 coord m;
13846 boolean isspecific;
13848 /* no traps in pools */
13849 if (tm && issoviet && is_waterypool(tm->x,tm->y)) return;
13851 if (num < -1) {
13852 num += 256; /* sucky workaround --Amy */
13853 if (num == MAGIC_PORTAL) num = 0;
13856 if (num > 0 && num < TRAPNUM) {
13857 kind = num;
13858 isspecific = 1;
13859 #ifdef REINCARNATION
13860 } else if (Is_rogue_level(&u.uz) && rn2(2) ) {
13861 switch (rn2(7)) {
13862 default: kind = BEAR_TRAP; break; /* 0 */
13863 case 1: kind = ARROW_TRAP; break;
13864 case 2: kind = DART_TRAP; break;
13865 case 3: kind = TRAPDOOR; break;
13866 case 4: kind = PIT; break;
13867 case 5: kind = SLP_GAS_TRAP; break;
13868 case 6: kind = RUST_TRAP; break;
13870 #endif
13871 } else if (( (Inhell && !Race_if(PM_HERETIC) ) || flags.gehenna) && !rn2(50)) {
13872 /* bias the frequency of fire traps in Gehennom, but generate them less often
13873 * because all the other traps should also have a chance of spawning --Amy */
13874 kind = FIRE_TRAP;
13875 } else if (Role_if(PM_TRANSSYLVANIAN) && !rn2(50) ) {
13876 kind = HEEL_TRAP;
13877 } else if (Role_if(PM_BUTT_LOVER) && !rn2(100) ) {
13878 kind = FART_TRAP;
13879 } else if (Role_if(PM_BUTT_LOVER) && !rn2(500) ) {
13880 kind = FARTING_WEB;
13881 } else if ((uarmf && itemhasappearance(uarmf, APP_BUFFALO_BOOTS)) && !rn2(100) ) {
13882 kind = SHIT_TRAP;
13883 } else {
13884 kind = rndtrap();
13887 if ((kind == TRAPDOOR || kind == SHAFT_TRAP || kind == CURRENT_SHAFT || kind == HOLE) && !Can_fall_thru(&u.uz) && !Is_stronghold(&u.uz) )
13888 kind = ROCKTRAP;
13890 if (tm)
13891 m = *tm;
13892 else {
13893 register int tryct = 0;
13894 boolean avoid_boulder = (kind == PIT || kind == SPIKED_PIT || kind == GIANT_CHASM || kind == SHIT_PIT || kind == MANA_PIT || kind == ANOXIC_PIT || kind == HYPOXIC_PIT || kind == ACID_PIT || kind == SHAFT_TRAP || kind == CURRENT_SHAFT ||
13895 kind == TRAPDOOR || kind == HOLE);
13897 do {
13898 if (++tryct > 200)
13899 return;
13900 if (mazeflag)
13901 mazexy_all(&m);
13902 else if (!somexy(croom,&m))
13903 return;
13904 } while (occupied(m.x, m.y) ||
13905 (avoid_boulder && sobj_at(BOULDER, m.x, m.y)));
13908 (void) maketrap(m.x, m.y, kind, isspecific ? ((u.monstertimefinish % 2) ? 5 : 10) : 100, cangivehp);
13909 /* Webs can generate on dlvl1, where giant spiders would be totally out of depth. Let's make random spiders. --Amy */
13910 if (kind == WEB) (void) makemon( /*&mons[PM_GIANT_SPIDER]*/ mkclass(S_SPIDER,0),
13911 m.x, m.y, MM_MAYSLEEP);
13914 void
13915 mkstairs(x, y, up, croom)
13916 xchar x, y;
13917 char up;
13918 struct mkroom *croom;
13920 if (!x) {
13921 impossible("mkstairs: bogus stair attempt at <%d,%d>", x, y);
13922 return;
13926 * We can't make a regular stair off an end of the dungeon. This
13927 * attempt can happen when a special level is placed at an end and
13928 * has an up or down stair specified in its description file.
13930 if ((dunlev(&u.uz) == 1 && up) ||
13931 (dunlev(&u.uz) == real_dunlevs_in_dungeon(&u.uz) && !up))
13932 return;
13934 if(up) {
13935 xupstair = x;
13936 yupstair = y;
13937 upstairs_room = croom;
13938 } else {
13939 xdnstair = x;
13940 ydnstair = y;
13941 dnstairs_room = croom;
13944 levl[x][y].typ = STAIRS;
13945 levl[x][y].ladder = up ? LA_UP : LA_DOWN;
13948 STATIC_OVL
13949 void
13950 mkfount(mazeflag,croom)
13951 register int mazeflag;
13952 register struct mkroom *croom;
13954 coord m;
13955 register int tryct = 0;
13957 do {
13958 if(++tryct > 200) return;
13959 if(mazeflag)
13960 mazexy_all(&m);
13961 else
13962 if (!somexy(croom, &m))
13963 return;
13964 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
13966 /* Put a fountain at m.x, m.y */
13967 levl[m.x][m.y].typ = FOUNTAIN;
13968 /* Is it a "blessed" fountain? (affects drinking from fountain) */
13969 if(!rn2(7)) levl[m.x][m.y].blessedftn = 1;
13971 level.flags.nfountains++;
13974 STATIC_OVL void
13975 mkcloudX(amount,croom)
13976 register int amount;
13977 register struct mkroom *croom;
13979 coord m;
13980 register int tryct = 0;
13981 int n = 0;
13983 while (n < amount) {
13985 do {
13986 if(++tryct > 1) return;
13987 if (!somexy(croom, &m))
13988 return;
13989 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
13991 levl[m.x][m.y].typ = CLOUD;
13992 n++;
13993 tryct = 0;
13999 STATIC_OVL void
14000 mkgravewallX(amount,croom)
14001 register int amount;
14002 register struct mkroom *croom;
14004 coord m;
14005 register int tryct = 0;
14006 int n = 0;
14008 while (n < amount) {
14010 do {
14011 if(++tryct > 1) return;
14012 if (!somexy(croom, &m))
14013 return;
14014 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14016 levl[m.x][m.y].typ = GRAVEWALL;
14017 n++;
14018 tryct = 0;
14024 STATIC_OVL void
14025 mktunnelwallX(amount,croom)
14026 register int amount;
14027 register struct mkroom *croom;
14029 coord m;
14030 register int tryct = 0;
14031 int n = 0;
14033 while (n < amount) {
14035 do {
14036 if(++tryct > 1) return;
14037 if (!somexy(croom, &m))
14038 return;
14039 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14041 levl[m.x][m.y].typ = TUNNELWALL;
14042 n++;
14043 tryct = 0;
14049 STATIC_OVL void
14050 mkfarmlandX(amount,croom)
14051 register int amount;
14052 register struct mkroom *croom;
14054 coord m;
14055 register int tryct = 0;
14056 int n = 0;
14058 while (n < amount) {
14060 do {
14061 if(++tryct > 1) return;
14062 if (!somexy(croom, &m))
14063 return;
14064 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14066 levl[m.x][m.y].typ = FARMLAND;
14067 n++;
14068 tryct = 0;
14074 STATIC_OVL void
14075 mkmountainX(amount,croom)
14076 register int amount;
14077 register struct mkroom *croom;
14079 coord m;
14080 register int tryct = 0;
14081 int n = 0;
14083 while (n < amount) {
14085 do {
14086 if(++tryct > 1) return;
14087 if (!somexy(croom, &m))
14088 return;
14089 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14091 levl[m.x][m.y].typ = MOUNTAIN;
14092 n++;
14093 tryct = 0;
14099 STATIC_OVL void
14100 mkwatertunnelX(amount,croom)
14101 register int amount;
14102 register struct mkroom *croom;
14104 coord m;
14105 register int tryct = 0;
14106 int n = 0;
14108 while (n < amount) {
14110 do {
14111 if(++tryct > 1) return;
14112 if (!somexy(croom, &m))
14113 return;
14114 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14116 levl[m.x][m.y].typ = WATERTUNNEL;
14117 n++;
14118 tryct = 0;
14124 STATIC_OVL void
14125 mkcrystalwaterX(amount,croom)
14126 register int amount;
14127 register struct mkroom *croom;
14129 coord m;
14130 register int tryct = 0;
14131 int n = 0;
14133 while (n < amount) {
14135 do {
14136 if(++tryct > 1) return;
14137 if (!somexy(croom, &m))
14138 return;
14139 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14141 levl[m.x][m.y].typ = CRYSTALWATER;
14142 n++;
14143 tryct = 0;
14149 STATIC_OVL void
14150 mkmoorlandX(amount,croom)
14151 register int amount;
14152 register struct mkroom *croom;
14154 coord m;
14155 register int tryct = 0;
14156 int n = 0;
14158 while (n < amount) {
14160 do {
14161 if(++tryct > 1) return;
14162 if (!somexy(croom, &m))
14163 return;
14164 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14166 levl[m.x][m.y].typ = MOORLAND;
14167 n++;
14168 tryct = 0;
14174 STATIC_OVL void
14175 mkurinelakeX(amount,croom)
14176 register int amount;
14177 register struct mkroom *croom;
14179 coord m;
14180 register int tryct = 0;
14181 int n = 0;
14183 while (n < amount) {
14185 do {
14186 if(++tryct > 1) return;
14187 if (!somexy(croom, &m))
14188 return;
14189 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14191 levl[m.x][m.y].typ = URINELAKE;
14192 n++;
14193 tryct = 0;
14199 STATIC_OVL void
14200 mkshiftingsandX(amount,croom)
14201 register int amount;
14202 register struct mkroom *croom;
14204 coord m;
14205 register int tryct = 0;
14206 int n = 0;
14208 while (n < amount) {
14210 do {
14211 if(++tryct > 1) return;
14212 if (!somexy(croom, &m))
14213 return;
14214 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14216 levl[m.x][m.y].typ = SHIFTINGSAND;
14217 n++;
14218 tryct = 0;
14224 STATIC_OVL void
14225 mkstyxriverX(amount,croom)
14226 register int amount;
14227 register struct mkroom *croom;
14229 coord m;
14230 register int tryct = 0;
14231 int n = 0;
14233 while (n < amount) {
14235 do {
14236 if(++tryct > 1) return;
14237 if (!somexy(croom, &m))
14238 return;
14239 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14241 levl[m.x][m.y].typ = STYXRIVER;
14242 n++;
14243 tryct = 0;
14249 STATIC_OVL void
14250 mksnowX(amount,croom)
14251 register int amount;
14252 register struct mkroom *croom;
14254 coord m;
14255 register int tryct = 0;
14256 int n = 0;
14258 while (n < amount) {
14260 do {
14261 if(++tryct > 1) return;
14262 if (!somexy(croom, &m))
14263 return;
14264 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14266 levl[m.x][m.y].typ = SNOW;
14267 n++;
14268 tryct = 0;
14274 STATIC_OVL void
14275 mkashX(amount,croom)
14276 register int amount;
14277 register struct mkroom *croom;
14279 coord m;
14280 register int tryct = 0;
14281 int n = 0;
14283 while (n < amount) {
14285 do {
14286 if(++tryct > 1) return;
14287 if (!somexy(croom, &m))
14288 return;
14289 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14291 levl[m.x][m.y].typ = ASH;
14292 n++;
14293 tryct = 0;
14299 STATIC_OVL void
14300 mksandX(amount,croom)
14301 register int amount;
14302 register struct mkroom *croom;
14304 coord m;
14305 register int tryct = 0;
14306 int n = 0;
14308 while (n < amount) {
14310 do {
14311 if(++tryct > 1) return;
14312 if (!somexy(croom, &m))
14313 return;
14314 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14316 levl[m.x][m.y].typ = SAND;
14317 n++;
14318 tryct = 0;
14324 STATIC_OVL void
14325 mkpavedfloorX(amount,croom)
14326 register int amount;
14327 register struct mkroom *croom;
14329 coord m;
14330 register int tryct = 0;
14331 int n = 0;
14333 while (n < amount) {
14335 do {
14336 if(++tryct > 1) return;
14337 if (!somexy(croom, &m))
14338 return;
14339 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14341 levl[m.x][m.y].typ = PAVEDFLOOR;
14342 n++;
14343 tryct = 0;
14349 STATIC_OVL void
14350 mkhighwayX(amount,croom)
14351 register int amount;
14352 register struct mkroom *croom;
14354 coord m;
14355 register int tryct = 0;
14356 int n = 0;
14358 while (n < amount) {
14360 do {
14361 if(++tryct > 1) return;
14362 if (!somexy(croom, &m))
14363 return;
14364 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14366 levl[m.x][m.y].typ = HIGHWAY;
14367 n++;
14368 tryct = 0;
14374 STATIC_OVL void
14375 mkgrasslandX(amount,croom)
14376 register int amount;
14377 register struct mkroom *croom;
14379 coord m;
14380 register int tryct = 0;
14381 int n = 0;
14383 while (n < amount) {
14385 do {
14386 if(++tryct > 1) return;
14387 if (!somexy(croom, &m))
14388 return;
14389 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14391 levl[m.x][m.y].typ = GRASSLAND;
14392 n++;
14393 tryct = 0;
14399 STATIC_OVL void
14400 mknethermistX(amount,croom)
14401 register int amount;
14402 register struct mkroom *croom;
14404 coord m;
14405 register int tryct = 0;
14406 int n = 0;
14408 while (n < amount) {
14410 do {
14411 if(++tryct > 1) return;
14412 if (!somexy(croom, &m))
14413 return;
14414 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14416 levl[m.x][m.y].typ = NETHERMIST;
14417 n++;
14418 tryct = 0;
14424 STATIC_OVL void
14425 mkstalactiteX(amount,croom)
14426 register int amount;
14427 register struct mkroom *croom;
14429 coord m;
14430 register int tryct = 0;
14431 int n = 0;
14433 while (n < amount) {
14435 do {
14436 if(++tryct > 1) return;
14437 if (!somexy(croom, &m))
14438 return;
14439 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14441 levl[m.x][m.y].typ = STALACTITE;
14442 n++;
14443 tryct = 0;
14449 STATIC_OVL void
14450 mkcryptfloorX(amount,croom)
14451 register int amount;
14452 register struct mkroom *croom;
14454 coord m;
14455 register int tryct = 0;
14456 int n = 0;
14458 while (n < amount) {
14460 do {
14461 if(++tryct > 1) return;
14462 if (!somexy(croom, &m))
14463 return;
14464 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14466 levl[m.x][m.y].typ = CRYPTFLOOR;
14467 n++;
14468 tryct = 0;
14474 STATIC_OVL void
14475 mkbubblesX(amount,croom)
14476 register int amount;
14477 register struct mkroom *croom;
14479 coord m;
14480 register int tryct = 0;
14481 int n = 0;
14483 while (n < amount) {
14485 do {
14486 if(++tryct > 1) return;
14487 if (!somexy(croom, &m))
14488 return;
14489 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14491 levl[m.x][m.y].typ = BUBBLES;
14492 n++;
14493 tryct = 0;
14499 STATIC_OVL void
14500 mkraincloudX(amount,croom)
14501 register int amount;
14502 register struct mkroom *croom;
14504 coord m;
14505 register int tryct = 0;
14506 int n = 0;
14508 while (n < amount) {
14510 do {
14511 if(++tryct > 1) return;
14512 if (!somexy(croom, &m))
14513 return;
14514 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14516 levl[m.x][m.y].typ = RAINCLOUD;
14517 n++;
14518 tryct = 0;
14524 STATIC_OVL void
14525 mkiceX(amount,croom)
14526 register int amount;
14527 register struct mkroom *croom;
14529 coord m;
14530 register int tryct = 0;
14531 int n = 0;
14533 while (n < amount) {
14535 do {
14536 if(++tryct > 1) return;
14537 if (!somexy(croom, &m))
14538 return;
14539 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14541 levl[m.x][m.y].typ = ICE;
14542 n++;
14543 tryct = 0;
14549 STATIC_OVL void
14550 mkironbarsX(amount,croom)
14551 register int amount;
14552 register struct mkroom *croom;
14554 coord m;
14555 register int tryct = 0;
14556 int n = 0;
14558 while (n < amount) {
14560 do {
14561 if(++tryct > 1) return;
14562 if (!somexy(croom, &m))
14563 return;
14564 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14566 levl[m.x][m.y].typ = IRONBARS;
14567 n++;
14568 tryct = 0;
14574 STATIC_OVL void
14575 mklavapoolX(amount,croom)
14576 register int amount;
14577 register struct mkroom *croom;
14579 coord m;
14580 register int tryct = 0;
14581 int n = 0;
14583 while (n < amount) {
14585 do {
14586 if(++tryct > 1) return;
14587 if (!somexy(croom, &m))
14588 return;
14589 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14591 levl[m.x][m.y].typ = LAVAPOOL;
14592 n++;
14593 tryct = 0;
14599 STATIC_OVL void
14600 mkpoolX(amount,croom)
14601 register int amount;
14602 register struct mkroom *croom;
14604 coord m;
14605 register int tryct = 0;
14606 int n = 0;
14608 while (n < amount) {
14610 do {
14611 if(++tryct > 1) return;
14612 if (!somexy(croom, &m))
14613 return;
14614 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14616 levl[m.x][m.y].typ = POOL;
14617 n++;
14618 tryct = 0;
14624 STATIC_OVL void
14625 mktreeX(amount,croom)
14626 register int amount;
14627 register struct mkroom *croom;
14629 coord m;
14630 register int tryct = 0;
14631 int n = 0;
14633 while (n < amount) {
14635 do {
14636 if(++tryct > 1) return;
14637 if (!somexy(croom, &m))
14638 return;
14639 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14641 levl[m.x][m.y].typ = TREE;
14642 n++;
14643 tryct = 0;
14649 STATIC_OVL void
14650 mkstoneX(amount,croom)
14651 register int amount;
14652 register struct mkroom *croom;
14654 coord m;
14655 register int tryct = 0;
14656 int n = 0;
14658 while (n < amount) {
14660 do {
14661 if(++tryct > 1) return;
14662 if (!somexy(croom, &m))
14663 return;
14664 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14666 levl[m.x][m.y].typ = STONE;
14667 n++;
14668 tryct = 0;
14673 STATIC_OVL void
14674 mkcloud(croom)
14675 register struct mkroom *croom;
14677 coord m;
14678 register int tryct = 0;
14680 do {
14681 if(++tryct > 200) return;
14682 if (!somexy(croom, &m))
14683 return;
14684 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14686 /* Put a sink at m.x, m.y */
14687 levl[m.x][m.y].typ = CLOUD;
14691 STATIC_OVL void
14692 mkgravewall(croom)
14693 register struct mkroom *croom;
14695 coord m;
14696 register int tryct = 0;
14698 do {
14699 if(++tryct > 200) return;
14700 if (!somexy(croom, &m))
14701 return;
14702 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14704 /* Put a sink at m.x, m.y */
14705 levl[m.x][m.y].typ = GRAVEWALL;
14709 STATIC_OVL void
14710 mktunnelwall(croom)
14711 register struct mkroom *croom;
14713 coord m;
14714 register int tryct = 0;
14716 do {
14717 if(++tryct > 200) return;
14718 if (!somexy(croom, &m))
14719 return;
14720 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14722 /* Put a sink at m.x, m.y */
14723 levl[m.x][m.y].typ = TUNNELWALL;
14727 STATIC_OVL void
14728 mkfarmland(croom)
14729 register struct mkroom *croom;
14731 coord m;
14732 register int tryct = 0;
14734 do {
14735 if(++tryct > 200) return;
14736 if (!somexy(croom, &m))
14737 return;
14738 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14740 /* Put a sink at m.x, m.y */
14741 levl[m.x][m.y].typ = FARMLAND;
14745 STATIC_OVL void
14746 mkmountain(croom)
14747 register struct mkroom *croom;
14749 coord m;
14750 register int tryct = 0;
14752 do {
14753 if(++tryct > 200) return;
14754 if (!somexy(croom, &m))
14755 return;
14756 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14758 /* Put a sink at m.x, m.y */
14759 levl[m.x][m.y].typ = MOUNTAIN;
14763 STATIC_OVL void
14764 mkwatertunnel(croom)
14765 register struct mkroom *croom;
14767 coord m;
14768 register int tryct = 0;
14770 do {
14771 if(++tryct > 200) return;
14772 if (!somexy(croom, &m))
14773 return;
14774 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14776 /* Put a sink at m.x, m.y */
14777 levl[m.x][m.y].typ = WATERTUNNEL;
14781 STATIC_OVL void
14782 mkcrystalwater(croom)
14783 register struct mkroom *croom;
14785 coord m;
14786 register int tryct = 0;
14788 do {
14789 if(++tryct > 200) return;
14790 if (!somexy(croom, &m))
14791 return;
14792 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14794 /* Put a sink at m.x, m.y */
14795 levl[m.x][m.y].typ = CRYSTALWATER;
14799 STATIC_OVL void
14800 mkmoorland(croom)
14801 register struct mkroom *croom;
14803 coord m;
14804 register int tryct = 0;
14806 do {
14807 if(++tryct > 200) return;
14808 if (!somexy(croom, &m))
14809 return;
14810 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14812 /* Put a sink at m.x, m.y */
14813 levl[m.x][m.y].typ = MOORLAND;
14817 STATIC_OVL void
14818 mkurinelake(croom)
14819 register struct mkroom *croom;
14821 coord m;
14822 register int tryct = 0;
14824 do {
14825 if(++tryct > 200) return;
14826 if (!somexy(croom, &m))
14827 return;
14828 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14830 /* Put a sink at m.x, m.y */
14831 levl[m.x][m.y].typ = URINELAKE;
14835 STATIC_OVL void
14836 mkshiftingsand(croom)
14837 register struct mkroom *croom;
14839 coord m;
14840 register int tryct = 0;
14842 do {
14843 if(++tryct > 200) return;
14844 if (!somexy(croom, &m))
14845 return;
14846 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14848 /* Put a sink at m.x, m.y */
14849 levl[m.x][m.y].typ = SHIFTINGSAND;
14853 STATIC_OVL void
14854 mkstyxriver(croom)
14855 register struct mkroom *croom;
14857 coord m;
14858 register int tryct = 0;
14860 do {
14861 if(++tryct > 200) return;
14862 if (!somexy(croom, &m))
14863 return;
14864 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14866 /* Put a sink at m.x, m.y */
14867 levl[m.x][m.y].typ = STYXRIVER;
14871 STATIC_OVL void
14872 mksnow(croom)
14873 register struct mkroom *croom;
14875 coord m;
14876 register int tryct = 0;
14878 do {
14879 if(++tryct > 200) return;
14880 if (!somexy(croom, &m))
14881 return;
14882 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14884 /* Put a sink at m.x, m.y */
14885 levl[m.x][m.y].typ = SNOW;
14889 STATIC_OVL void
14890 mkash(croom)
14891 register struct mkroom *croom;
14893 coord m;
14894 register int tryct = 0;
14896 do {
14897 if(++tryct > 200) return;
14898 if (!somexy(croom, &m))
14899 return;
14900 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14902 /* Put a sink at m.x, m.y */
14903 levl[m.x][m.y].typ = ASH;
14907 STATIC_OVL void
14908 mksand(croom)
14909 register struct mkroom *croom;
14911 coord m;
14912 register int tryct = 0;
14914 do {
14915 if(++tryct > 200) return;
14916 if (!somexy(croom, &m))
14917 return;
14918 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14920 /* Put a sink at m.x, m.y */
14921 levl[m.x][m.y].typ = SAND;
14925 STATIC_OVL void
14926 mkpavedfloor(croom)
14927 register struct mkroom *croom;
14929 coord m;
14930 register int tryct = 0;
14932 do {
14933 if(++tryct > 200) return;
14934 if (!somexy(croom, &m))
14935 return;
14936 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14938 /* Put a sink at m.x, m.y */
14939 levl[m.x][m.y].typ = PAVEDFLOOR;
14943 STATIC_OVL void
14944 mkhighway(croom)
14945 register struct mkroom *croom;
14947 coord m;
14948 register int tryct = 0;
14950 do {
14951 if(++tryct > 200) return;
14952 if (!somexy(croom, &m))
14953 return;
14954 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14956 /* Put a sink at m.x, m.y */
14957 levl[m.x][m.y].typ = HIGHWAY;
14961 STATIC_OVL void
14962 mkgrassland(croom)
14963 register struct mkroom *croom;
14965 coord m;
14966 register int tryct = 0;
14968 do {
14969 if(++tryct > 200) return;
14970 if (!somexy(croom, &m))
14971 return;
14972 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14974 /* Put a sink at m.x, m.y */
14975 levl[m.x][m.y].typ = GRASSLAND;
14979 STATIC_OVL void
14980 mknethermist(croom)
14981 register struct mkroom *croom;
14983 coord m;
14984 register int tryct = 0;
14986 do {
14987 if(++tryct > 200) return;
14988 if (!somexy(croom, &m))
14989 return;
14990 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
14992 /* Put a sink at m.x, m.y */
14993 levl[m.x][m.y].typ = NETHERMIST;
14997 STATIC_OVL void
14998 mkstalactite(croom)
14999 register struct mkroom *croom;
15001 coord m;
15002 register int tryct = 0;
15004 do {
15005 if(++tryct > 200) return;
15006 if (!somexy(croom, &m))
15007 return;
15008 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15010 /* Put a sink at m.x, m.y */
15011 levl[m.x][m.y].typ = STALACTITE;
15015 STATIC_OVL void
15016 mkcryptfloor(croom)
15017 register struct mkroom *croom;
15019 coord m;
15020 register int tryct = 0;
15022 do {
15023 if(++tryct > 200) return;
15024 if (!somexy(croom, &m))
15025 return;
15026 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15028 /* Put a sink at m.x, m.y */
15029 levl[m.x][m.y].typ = CRYPTFLOOR;
15033 STATIC_OVL void
15034 mkbubbles(croom)
15035 register struct mkroom *croom;
15037 coord m;
15038 register int tryct = 0;
15040 do {
15041 if(++tryct > 200) return;
15042 if (!somexy(croom, &m))
15043 return;
15044 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15046 /* Put a sink at m.x, m.y */
15047 levl[m.x][m.y].typ = BUBBLES;
15051 STATIC_OVL void
15052 mkraincloud(croom)
15053 register struct mkroom *croom;
15055 coord m;
15056 register int tryct = 0;
15058 do {
15059 if(++tryct > 200) return;
15060 if (!somexy(croom, &m))
15061 return;
15062 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15064 /* Put a sink at m.x, m.y */
15065 levl[m.x][m.y].typ = RAINCLOUD;
15069 STATIC_OVL void
15070 mkice(croom)
15071 register struct mkroom *croom;
15073 coord m;
15074 register int tryct = 0;
15076 do {
15077 if(++tryct > 200) return;
15078 if (!somexy(croom, &m))
15079 return;
15080 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15082 /* Put a sink at m.x, m.y */
15083 levl[m.x][m.y].typ = ICE;
15087 STATIC_OVL void
15088 mkdoor(croom)
15089 register struct mkroom *croom;
15091 coord m;
15092 register int tryct = 0;
15094 do {
15095 if(++tryct > 200) return;
15096 if (!somexy(croom, &m))
15097 return;
15098 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15100 /* Put a sink at m.x, m.y */
15101 levl[m.x][m.y].typ = DOOR;
15105 STATIC_OVL void
15106 mkironbars(croom)
15107 register struct mkroom *croom;
15109 coord m;
15110 register int tryct = 0;
15112 do {
15113 if(++tryct > 200) return;
15114 if (!somexy(croom, &m))
15115 return;
15116 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15118 /* Put a sink at m.x, m.y */
15119 levl[m.x][m.y].typ = IRONBARS;
15123 STATIC_OVL void
15124 mklavapool(croom)
15125 register struct mkroom *croom;
15127 coord m;
15128 register int tryct = 0;
15130 do {
15131 if(++tryct > 200) return;
15132 if (!somexy(croom, &m))
15133 return;
15134 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15136 /* Put a sink at m.x, m.y */
15137 levl[m.x][m.y].typ = LAVAPOOL;
15141 STATIC_OVL void
15142 mkpool(croom)
15143 register struct mkroom *croom;
15145 coord m;
15146 register int tryct = 0;
15148 do {
15149 if(++tryct > 200) return;
15150 if (!somexy(croom, &m))
15151 return;
15152 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15154 /* Put a sink at m.x, m.y */
15155 levl[m.x][m.y].typ = POOL;
15159 STATIC_OVL void
15160 mktree(croom)
15161 register struct mkroom *croom;
15163 coord m;
15164 register int tryct = 0;
15166 do {
15167 if(++tryct > 200) return;
15168 if (!somexy(croom, &m))
15169 return;
15170 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15172 /* Put a sink at m.x, m.y */
15173 levl[m.x][m.y].typ = TREE;
15177 STATIC_OVL void
15178 mkstone(croom)
15179 register struct mkroom *croom;
15181 coord m;
15182 register int tryct = 0;
15184 do {
15185 if(++tryct > 200) return;
15186 if (!somexy(croom, &m))
15187 return;
15188 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15190 /* Put a sink at m.x, m.y */
15191 levl[m.x][m.y].typ = STONE;
15195 STATIC_OVL void
15196 mkthrone(croom)
15197 register struct mkroom *croom;
15199 coord m;
15200 register int tryct = 0;
15202 do {
15203 if(++tryct > 200) return;
15204 if (!somexy(croom, &m))
15205 return;
15206 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15208 /* Put a sink at m.x, m.y */
15209 levl[m.x][m.y].typ = THRONE;
15213 STATIC_OVL void
15214 mkpentagram(croom)
15215 register struct mkroom *croom;
15217 coord m;
15218 register int tryct = 0;
15220 do {
15221 if(++tryct > 200) return;
15222 if (!somexy(croom, &m))
15223 return;
15224 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15226 /* Put a sink at m.x, m.y */
15227 levl[m.x][m.y].typ = PENTAGRAM;
15231 STATIC_OVL void
15232 mkwell(croom)
15233 register struct mkroom *croom;
15235 coord m;
15236 register int tryct = 0;
15238 do {
15239 if(++tryct > 200) return;
15240 if (!somexy(croom, &m))
15241 return;
15242 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15244 /* Put a sink at m.x, m.y */
15245 levl[m.x][m.y].typ = WELL;
15246 /* occasionally it's a blessed one --Amy */
15247 if(!rn2(10)) levl[m.x][m.y].blessedftn = 1;
15251 STATIC_OVL void
15252 mkpoisonedwell(croom)
15253 register struct mkroom *croom;
15255 coord m;
15256 register int tryct = 0;
15258 do {
15259 if(++tryct > 200) return;
15260 if (!somexy(croom, &m))
15261 return;
15262 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15264 /* Put a sink at m.x, m.y */
15265 levl[m.x][m.y].typ = POISONEDWELL;
15269 STATIC_OVL void
15270 mkwagon(croom)
15271 register struct mkroom *croom;
15273 coord m;
15274 register int tryct = 0;
15276 do {
15277 if(++tryct > 200) return;
15278 if (!somexy(croom, &m))
15279 return;
15280 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15282 /* Put a sink at m.x, m.y */
15283 levl[m.x][m.y].typ = WAGON;
15287 STATIC_OVL void
15288 mkburningwagon(croom)
15289 register struct mkroom *croom;
15291 coord m;
15292 register int tryct = 0;
15294 do {
15295 if(++tryct > 200) return;
15296 if (!somexy(croom, &m))
15297 return;
15298 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15300 /* Put a sink at m.x, m.y */
15301 levl[m.x][m.y].typ = BURNINGWAGON;
15305 STATIC_OVL void
15306 mkwoodentable(croom)
15307 register struct mkroom *croom;
15309 coord m;
15310 register int tryct = 0;
15312 do {
15313 if(++tryct > 200) return;
15314 if (!somexy(croom, &m))
15315 return;
15316 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15318 /* Put a sink at m.x, m.y */
15319 levl[m.x][m.y].typ = WOODENTABLE;
15323 STATIC_OVL void
15324 mkcarvedbed(croom)
15325 register struct mkroom *croom;
15327 coord m;
15328 register int tryct = 0;
15330 do {
15331 if(++tryct > 200) return;
15332 if (!somexy(croom, &m))
15333 return;
15334 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15336 /* Put a sink at m.x, m.y */
15337 levl[m.x][m.y].typ = CARVEDBED;
15341 STATIC_OVL void
15342 mkstrawmattress(croom)
15343 register struct mkroom *croom;
15345 coord m;
15346 register int tryct = 0;
15348 do {
15349 if(++tryct > 200) return;
15350 if (!somexy(croom, &m))
15351 return;
15352 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15354 /* Put a sink at m.x, m.y */
15355 levl[m.x][m.y].typ = STRAWMATTRESS;
15359 STATIC_OVL void
15360 mksink(croom)
15361 register struct mkroom *croom;
15363 coord m;
15364 register int tryct = 0;
15366 do {
15367 if(++tryct > 200) return;
15368 if (!somexy(croom, &m))
15369 return;
15370 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15372 /* Put a sink at m.x, m.y */
15373 levl[m.x][m.y].typ = SINK;
15375 level.flags.nsinks++;
15379 static void
15380 mktoilet(croom)
15381 register struct mkroom *croom;
15383 coord m;
15384 register int tryct = 0;
15386 do {
15387 if(++tryct > 200) return;
15388 if (!somexy(croom, &m))
15389 return;
15390 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15392 /* Put a toilet at m.x, m.y */
15393 levl[m.x][m.y].typ = TOILET;
15395 level.flags.nsinks++; /* counted as a sink for sounds.c */
15398 STATIC_OVL void
15399 mkaltar(croom)
15400 register struct mkroom *croom;
15402 coord m;
15403 register int tryct = 0;
15404 aligntyp al;
15406 if(croom->rtype != OROOM) return;
15408 do {
15409 if(++tryct > 200) return;
15410 if (!somexy(croom, &m))
15411 return;
15412 } while(occupied(m.x, m.y) || bydoor(m.x, m.y));
15414 /* Put an altar at m.x, m.y */
15415 levl[m.x][m.y].typ = ALTAR;
15417 /* -1 - A_CHAOTIC, 0 - A_NEUTRAL, 1 - A_LAWFUL */
15418 al = rn2((int)A_LAWFUL+2) - 1;
15419 if (!rn2(10) || issoviet) levl[m.x][m.y].altarmask = Align2amask( al );
15420 /* "Unaligned altars have next to no reason for being generated in the early part of the game." Of course they do! * They're there to reduce the chance of players lucking into a coaligned altar! Shouldn't that be obvious? --Amy
15421 * But in Soviet Russia, Moloch isn't allowed to have any altars because he's the president of the united states,
15422 * and therefore automatically counts as the greatest evil in the world. People do not worship him in Russia. */
15423 else levl[m.x][m.y].altarmask = Align2amask( A_NONE );
15425 if (!rn2(25)) {
15426 register struct obj *altarwater;
15427 altarwater = mksobj_at(POT_WATER, m.x, m.y, FALSE, FALSE, FALSE);
15428 if (altarwater) {
15429 if (Amask2align(levl[m.x][m.y].altarmask) == A_NONE && !rn2(5)) curse(altarwater);
15430 else bless(altarwater);
15436 static void
15437 mkgrave(croom)
15438 struct mkroom *croom;
15440 coord m;
15441 register int tryct = 0;
15442 register struct obj *otmp;
15443 boolean dobell = !rn2(100); /* reduced chance by Amy */
15446 if(croom->rtype != OROOM) return;
15448 do {
15449 if(++tryct > 200) return;
15450 if (!somexy(croom, &m))
15451 return;
15452 } while (occupied(m.x, m.y) || bydoor(m.x, m.y));
15454 /* Put a grave at m.x, m.y */
15455 make_grave(m.x, m.y, dobell ? "Saved by the bell!" : (char *) 0);
15457 /* Possibly fill it with objects */
15458 if (!rn2(5)) (void) mkgold(0L, m.x, m.y);
15459 for (tryct = rn2(2 + rn2(4)); tryct; tryct--) {
15460 if (timebasedlowerchance()) {
15461 otmp = mkobj(rn2(3) ? COIN_CLASS : RANDOM_CLASS, TRUE, FALSE);
15462 if (!otmp) return;
15463 curse(otmp);
15464 otmp->ox = m.x;
15465 otmp->oy = m.y;
15466 add_to_buried(otmp);
15470 /* Leave a bell, in case we accidentally buried someone alive */
15471 if (dobell) (void) mksobj_at(BELL, m.x, m.y, TRUE, FALSE, FALSE);
15472 return;
15475 /* maze levels have slightly different constraints from normal levels */
15476 #define x_maze_min 2
15477 #define y_maze_min 2
15479 * Major level transmutation: add a set of stairs (to the Sanctum) after
15480 * an earthquake that leaves behind a a new topology, centered at inv_pos.
15481 * Assumes there are no rooms within the invocation area and that inv_pos
15482 * is not too close to the edge of the map. Also assume the hero can see,
15483 * which is guaranteed for normal play due to the fact that sight is needed
15484 * to read the Book of the Dead.
15486 void
15487 mkinvokearea()
15489 int dist;
15490 xchar xmin = inv_pos.x, xmax = inv_pos.x;
15491 xchar ymin = inv_pos.y, ymax = inv_pos.y;
15492 register xchar i;
15494 pline_The("floor shakes violently under you!");
15495 pline_The("walls around you begin to bend and crumble!");
15496 display_nhwindow(WIN_MESSAGE, TRUE);
15498 mkinvpos(xmin, ymin, 0); /* middle, before placing stairs */
15500 for(dist = 1; dist < 7; dist++) {
15501 xmin--; xmax++;
15503 /* top and bottom */
15504 if(dist != 3) { /* the area is wider that it is high */
15505 ymin--; ymax++;
15506 for(i = xmin+1; i < xmax; i++) {
15507 mkinvpos(i, ymin, dist);
15508 mkinvpos(i, ymax, dist);
15512 /* left and right */
15513 for(i = ymin; i <= ymax; i++) {
15514 mkinvpos(xmin, i, dist);
15515 mkinvpos(xmax, i, dist);
15518 flush_screen(1); /* make sure the new glyphs shows up */
15519 delay_output();
15522 You("are standing at the top of a stairwell leading down!");
15523 mkstairs(u.ux, u.uy, 0, (struct mkroom *)0); /* down */
15524 newsym(u.ux, u.uy);
15525 vision_full_recalc = 1; /* everything changed */
15527 #ifdef RECORD_ACHIEVE
15529 if (!achieve.perform_invocation) {
15530 trophy_get();
15533 achieve.perform_invocation = 1;
15534 #ifdef LIVELOGFILE
15535 livelog_achieve_update();
15536 livelog_report_trophy("performed the invocation");
15538 #endif
15539 #endif
15541 /* let's spice things up a bit... --Amy */
15542 (void) makemon(&mons[PM_CHAOS_MONKEY], 0, 0, NO_MM_FLAGS);
15546 /* Change level topology. Boulders in the vicinity are eliminated.
15547 * Temporarily overrides vision in the name of a nice effect.
15549 STATIC_OVL void
15550 mkinvpos(x,y,dist)
15551 xchar x,y;
15552 int dist;
15554 struct trap *ttmp;
15555 struct obj *otmp;
15556 boolean make_rocks;
15557 register struct rm *lev = &levl[x][y];
15559 /* clip at existing map borders if necessary */
15560 if (!within_bounded_area(x, y, x_maze_min + 1, y_maze_min + 1,
15561 x_maze_max - 1, y_maze_max - 1)) {
15562 /* only outermost 2 columns and/or rows may be truncated due to edge */
15563 if (dist < (7 - 2))
15564 panic("mkinvpos: <%d,%d> (%d) off map edge!", x, y, dist);
15565 return;
15568 /* clear traps */
15569 if ((ttmp = t_at(x,y)) != 0) deltrap(ttmp);
15571 /* clear boulders; leave some rocks for non-{moat|trap} locations */
15572 make_rocks = (dist != 1 && dist != 4 && dist != 5) ? TRUE : FALSE;
15573 while ((otmp = sobj_at(BOULDER, x, y)) != 0) {
15574 if (make_rocks) {
15575 fracture_rock(otmp);
15576 make_rocks = FALSE; /* don't bother with more rocks */
15577 } else {
15578 obj_extract_self(otmp);
15579 obfree(otmp, (struct obj *)0);
15582 unblock_point(x,y); /* make sure vision knows this location is open */
15584 /* fake out saved state */
15585 lev->seenv = 0;
15586 lev->doormask = 0;
15587 if(dist < 6) lev->lit = TRUE;
15588 lev->waslit = TRUE;
15589 lev->horizontal = FALSE;
15590 viz_array[y][x] = (dist < 6 ) ?
15591 (IN_SIGHT|COULD_SEE) : /* short-circuit vision recalc */
15592 COULD_SEE;
15594 switch(dist) {
15595 case 1: /* fire traps */
15596 if (is_waterypool(x,y)) break;
15597 lev->typ = ROOM;
15598 ttmp = maketrap(x, y, FIRE_TRAP, 0, TRUE);
15599 if (ttmp) ttmp->tseen = TRUE;
15600 break;
15601 case 0: /* lit room locations */
15602 case 2:
15603 case 3:
15604 case 6: /* unlit room locations */
15605 lev->typ = ROOM;
15606 break;
15607 case 4: /* pools (aka a wide moat) */
15608 case 5:
15609 lev->typ = MOAT;
15610 /* No kelp! */
15611 break;
15612 default:
15613 impossible("mkinvpos called with dist %d", dist);
15614 break;
15617 /* display new value of position; could have a monster/object on it */
15618 newsym(x,y);
15622 * The portal to Ludios is special. The entrance can only occur within a
15623 * vault in the main dungeon at a depth greater than 10. The Ludios branch
15624 * structure reflects this by having a bogus "source" dungeon: the value
15625 * of n_dgns (thus, Is_branchlev() will never find it).
15627 * Ludios will remain isolated until the branch is corrected by this function.
15629 void
15630 mk_knox_portal(x, y)
15631 xchar x, y;
15633 extern int n_dgns; /* from dungeon.c */
15634 d_level *source;
15635 branch *br;
15636 schar u_depth;
15637 int knoxchance = 20;
15638 if (depth(&u.uz) > 20) knoxchance = 10;
15639 if (depth(&u.uz) > 30) knoxchance = 5;
15640 if (depth(&u.uz) > 40) knoxchance = 3;
15641 if (depth(&u.uz) > 45) knoxchance = 2;
15643 br = dungeon_branch("Fort Ludios");
15644 if (on_level(&knox_level, &br->end1)) {
15645 source = &br->end2;
15646 } else {
15647 /* disallow Knox branch on a level with one branch already */
15648 if(Is_branchlev(&u.uz))
15649 return;
15650 source = &br->end1;
15653 /* Already set or 2/3 chance of deferring until a later level.
15654 * Amy edit: lowered, it's stupid if knox always spawns so early. in SLEX, the portal may be created on any level,
15655 * including special levels, and since you normally go through the dungeons from top to bottom, it's already far
15656 * too likely for the damn portal to spawn early! now, it becomes more likely the deeper you are */
15657 if (source->dnum < n_dgns || (rn2(knoxchance)
15658 #ifdef WIZARD
15659 /*&& !wizard*/ /* damn you, I want to be able to wizmode-check whether the odds work --Amy */
15660 #endif
15661 )) return;
15663 if (! (u.uz.dnum == oracle_level.dnum /* in main dungeon */
15664 && !at_dgn_entrance("The Quest") /* but not Quest's entry */
15665 && (u_depth = depth(&u.uz)) > 10 /* beneath 10 */
15666 && u_depth < depth(&medusa_level))) /* and above Medusa */
15667 return;
15669 /* Adjust source to be current level and re-insert branch. */
15670 *source = u.uz;
15671 insert_branch(br, TRUE);
15672 /* Amy edit: match the Ludios depth to the actual depth to avoid hugely OOD spawns, please! */
15673 dungeons[knox_level.dnum].depth_start = depth(&u.uz);
15675 #ifdef DEBUG
15676 pline("Made knox portal.");
15677 #endif
15678 place_branch(br, x, y);
15681 STATIC_OVL struct permonst *
15682 morguemonX()
15684 register int i = rn2(100), hd = rn2(level_difficulty());
15686 if(hd > 10 && i < 10)
15687 return((Inhell || In_endgame(&u.uz)) ? mkclass(S_DEMON,0) :
15688 &mons[ndemon(A_NONE)]);
15689 if(hd > 8 && i > 90)
15690 return(mkclass(S_VAMPIRE,0));
15692 return((i < 30) ? mkclass(S_GHOST,0) : (i < 40) ? mkclass(S_WRAITH,0) : (i < 70) ? mkclass(S_MUMMY,0) : (i < 71) ? mkclass(S_LICH,0) : mkclass(S_ZOMBIE,0));
15693 } /* added mummies, enabled all of S_wraith type monsters --Amy */
15695 /*mklev.c*/