1 /* SCCS Id: @(#)o_init.c 3.4 1999/12/09 */
2 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
3 /* NetHack may be freely redistributed. See license for details. */
6 #include "lev.h" /* save & restore info */
8 STATIC_DCL
void setgemprobs(d_level
*);
9 STATIC_DCL
void shuffle(int,int,BOOLEAN_P
);
10 STATIC_DCL
void shuffle_all(void);
11 STATIC_DCL boolean
interesting_to_discover(int);
13 static NEARDATA
short disco
[NUM_OBJECTS
] = DUMMY
;
16 STATIC_DCL
void shuffle_tiles(void);
17 extern short glyph2tile
[]; /* from tile.c */
19 /* Shuffle tile assignments to match descriptions, so a red potion isn't
20 * displayed with a blue tile and so on.
22 * Tile assignments are not saved, and shouldn't be so that a game can
23 * be resumed on an otherwise identical non-tile-using binary, so we have
24 * to reshuffle the assignments from oc_descr_idx information when a game
25 * is restored. So might as well do that the first time instead of writing
32 short tmp_tilemap
[NUM_OBJECTS
];
34 for (i
= 0; i
< NUM_OBJECTS
; i
++)
36 glyph2tile
[objects
[i
].oc_descr_idx
+ GLYPH_OBJ_OFF
];
38 for (i
= 0; i
< NUM_OBJECTS
; i
++)
39 glyph2tile
[i
+ GLYPH_OBJ_OFF
] = tmp_tilemap
[i
];
41 #endif /* USE_TILES */
44 STATIC_DCL
void shuffle_proxy_glyphs(void);
45 extern short glyph2proxy
[]; /* from glyphmap.c */
47 /* Shuffle proxy glyph assignments for the same reason as tiles
48 * (internal glyphs are based on object numbers, proxy glyphs
49 * are based on object descriptions).
52 shuffle_proxy_glyphs()
55 short tmp_glyphmap
[NUM_OBJECTS
];
57 for (i
= 0; i
< NUM_OBJECTS
; i
++)
59 glyph2proxy
[objects
[i
].oc_descr_idx
+ GLYPH_OBJ_OFF
];
61 for (i
= 0; i
< NUM_OBJECTS
; i
++)
62 glyph2proxy
[i
+ GLYPH_OBJ_OFF
] = tmp_glyphmap
[i
];
64 #endif /* USE_TILES */
70 return; /* what's the point of this stupidity anyway??? --Amy */
75 lev
= (ledger_no(dlev
) > maxledgerno())
76 ? maxledgerno() : ledger_no(dlev
);
79 first
= bases
[GEM_CLASS
];
81 for(j
= 0; j
< 9-lev
/3; j
++)
82 objects
[first
+j
].oc_prob
= 0;
84 if (first
> LAST_GEM
) {
85 raw_printf("Not enough gems? - first=%d j=%d LAST_GEM=%d",
89 if (objects
[first
].oc_class
!= GEM_CLASS
) {
90 raw_printf("something is not a gem? - first=%d j=%d LAST_GEM=%d",
95 if (OBJ_NAME(objects
[first
]) == (char *)0) {
96 raw_printf("gem with bugged description? - first=%d j=%d LAST_GEM=%d",
101 for (j
= first
; j
<= LAST_GEM
; j
++)
102 /* KMH, balance patch -- valuable gems now sum to 612 */
103 objects
[j
].oc_prob
= (612+j
-first
)/(LAST_GEM
+1-first
);
106 /* shuffle descriptions on objects o_low to o_high */
108 shuffle(o_low
, o_high
, domaterial
)
112 int i
, j
, num_to_shuffle
;
116 for (num_to_shuffle
= 0, j
=o_low
; j
<= o_high
; j
++)
117 /*if (!objects[j].oc_name_known) num_to_shuffle++;*/
118 if (OBJ_DESCR(objects
[j
])) num_to_shuffle
++;
119 if (num_to_shuffle
< 2) return;
121 for (j
=o_low
; j
<= o_high
; j
++) {
122 /*if (objects[j].oc_name_known) continue;*/
123 if (!OBJ_DESCR(objects
[j
])) continue;
125 i
= j
+ rn2(o_high
-j
+1);
126 /*while (objects[i].oc_name_known);*/
127 while (!OBJ_DESCR(objects
[i
]));
128 sw
= objects
[j
].oc_descr_idx
;
129 objects
[j
].oc_descr_idx
= objects
[i
].oc_descr_idx
;
130 objects
[i
].oc_descr_idx
= sw
;
131 sw
= objects
[j
].oc_tough
;
132 objects
[j
].oc_tough
= objects
[i
].oc_tough
;
133 objects
[i
].oc_tough
= sw
;
134 color
= objects
[j
].oc_color
;
135 objects
[j
].oc_color
= objects
[i
].oc_color
;
136 objects
[i
].oc_color
= color
;
137 color
= objects
[j
].oc_appearindex
;
138 objects
[j
].oc_appearindex
= objects
[i
].oc_appearindex
;
139 objects
[i
].oc_appearindex
= color
;
141 /* shuffle material */
143 color
= objects
[j
].oc_material
;
144 objects
[j
].oc_material
= objects
[i
].oc_material
;
145 objects
[i
].oc_material
= color
;
150 /* for matrayser race: shuffle materials per item class --Amy */
154 int first
, last
, oclass
;
155 int i
, lastgood
, k
, savemat
;
157 for (oclass
= 1; oclass
< MAXOCLASSES
; oclass
++) {
158 first
= bases
[oclass
];
160 while (last
< NUM_OBJECTS
&& objects
[last
].oc_class
== oclass
)
163 /* lastgood stays constant from here on */
165 if (objects
[lastgood
].oc_class
!= oclass
) {
166 impossible("matraysershuffle() ERROR: object %d is not object class %d!", lastgood
, oclass
);
169 /* shuffle(first, lastgood, TRUE);
170 * first = o_low, lastgood = o_high */
172 for (i
= first
; i
<= lastgood
; i
++) {
173 k
= i
+ rn2(lastgood
- i
+ 1);
175 savemat
= objects
[i
].oc_material
;
176 objects
[i
].oc_material
= objects
[k
].oc_material
;
177 objects
[k
].oc_material
= savemat
;
184 /* A function that assigns random materials to a few objects, called once at game start. --Amy */
188 register int objtomodify
;
189 while (rn2(25)) { /* to randomize the # of objects affected --Amy */
191 while ( (objtomodify
== -1) || (objtomodify
== GOLD_PIECE
) || (objtomodify
== STRANGE_OBJECT
) || (objtomodify
== AMULET_OF_YENDOR
) || (objtomodify
== CANDELABRUM_OF_INVOCATION
) || (objtomodify
== BELL_OF_OPENING
) || (objtomodify
== SPE_BOOK_OF_THE_DEAD
) || (objects
[objtomodify
].oc_prob
< 1) ) objtomodify
= rn2(NUM_OBJECTS
);
192 /* we roll until we get an item that can be randomly generated and is not a gold piece or other weird thing --Amy */
194 objects
[objtomodify
].oc_material
= rn2(LASTMATERIAL
+ 1); /* allow every material, including 0 (mysterious) */
195 /*if (wizard) pline("Modifying material of object %d", objtomodify);*/ /* debug message */
203 while ( (objtomodify
== -1) || (objtomodify
== GOLD_PIECE
) || (objtomodify
== STRANGE_OBJECT
) || (objtomodify
== AMULET_OF_YENDOR
) || (objtomodify
== CANDELABRUM_OF_INVOCATION
) || (objtomodify
== BELL_OF_OPENING
) || (objtomodify
== SPE_BOOK_OF_THE_DEAD
) || (objects
[objtomodify
].oc_prob
< 1) ) objtomodify
= rn2(NUM_OBJECTS
);
205 objects
[objtomodify
].oc_material
= rn2(LASTMATERIAL
+ 1); /* allow every material, including 0 (mysterious) */
215 while ( (objtomodify
== -1) || (objtomodify
== GOLD_PIECE
) || (objtomodify
== STRANGE_OBJECT
) || (objtomodify
== AMULET_OF_YENDOR
) || (objtomodify
== CANDELABRUM_OF_INVOCATION
) || (objtomodify
== BELL_OF_OPENING
) || (objtomodify
== SPE_BOOK_OF_THE_DEAD
) || (objects
[objtomodify
].oc_prob
< 1) ) objtomodify
= rn2(NUM_OBJECTS
);
217 objects
[objtomodify
].oc_material
= rn2(LASTMATERIAL
+ 1); /* allow every material, including 0 (mysterious) */
227 while ( (objtomodify
== -1) || (objtomodify
== GOLD_PIECE
) || (objtomodify
== STRANGE_OBJECT
) || (objtomodify
== AMULET_OF_YENDOR
) || (objtomodify
== CANDELABRUM_OF_INVOCATION
) || (objtomodify
== BELL_OF_OPENING
) || (objtomodify
== SPE_BOOK_OF_THE_DEAD
) || (objects
[objtomodify
].oc_prob
< 1) ) objtomodify
= rn2(NUM_OBJECTS
);
229 objects
[objtomodify
].oc_material
= rn2(LASTMATERIAL
+ 1); /* allow every material, including 0 (mysterious) */
240 /* discovered by Tariru: when the randomized objects are being re-initialized, and you're wearing someting
241 * like a ring of random effects, you don't lose the property that it used to give, even if you save and load.
242 * Therefore we'll use this ugly hack that takes the item off, re-initializes its effects, and puts it back on --Amy */
244 register struct obj
*otmp
, *otmp2
, *otmp3
, *otmp4
, *otmp5
, *otmp6
, *otmp7
, *otmp8
, *otmp9
, *otmp10
, *otmp11
;
245 boolean hasamulet
, hasleftring
, hasrightring
, hasshirt
, hascloak
, hasarmor
, hasboots
, hasgloves
, hashelmet
, hasshield
, hasimplant
;
247 u
.cnd_appearanceshufflingcount
++;
252 setworn((struct obj
*)0, W_AMUL
);
253 } else hasamulet
= FALSE
;
257 setworn((struct obj
*)0, W_RINGL
);
258 } else hasleftring
= FALSE
;
262 setworn((struct obj
*)0, W_RINGR
);
263 } else hasrightring
= FALSE
;
267 setworn((struct obj
*)0, W_ARMU
);
268 } else hasshirt
= FALSE
;
272 setworn((struct obj
*)0, W_ARMC
);
273 } else hascloak
= FALSE
;
277 setworn((struct obj
*)0, W_ARM
);
278 } else hasarmor
= FALSE
;
282 setworn((struct obj
*)0, W_ARMF
);
283 } else hasboots
= FALSE
;
287 setworn((struct obj
*)0, W_ARMG
);
288 } else hasgloves
= FALSE
;
292 setworn((struct obj
*)0, W_ARMH
);
293 } else hashelmet
= FALSE
;
297 setworn((struct obj
*)0, W_ARMS
);
298 } else hasshield
= FALSE
;
302 setworn((struct obj
*)0, W_IMPLANT
);
303 } else hasimplant
= FALSE
;
308 setworn(otmp
, W_AMUL
);
311 setworn(otmp2
, W_RINGL
);
314 setworn(otmp3
, W_RINGR
);
317 setworn(otmp4
, W_ARMU
);
320 setworn(otmp5
, W_ARMC
);
323 setworn(otmp6
, W_ARM
);
326 setworn(otmp7
, W_ARMF
);
329 setworn(otmp8
, W_ARMG
);
332 setworn(otmp9
, W_ARMH
);
335 setworn(otmp10
, W_ARMS
);
338 setworn(otmp11
, W_IMPLANT
);
341 /* random appearances have now been shuffled - please re-align randarts that depend on them --Amy
342 * it's important that every effect that shuffles appearances will run this code, including e.g. being a kurwa */
343 init_appearance_randarts();
347 init_objects(descrinit
)
350 register int i
, first
, last
, sum
;
351 register char oclass
;
353 # define COPY_OBJ_DESCR(o_dst,o_src) \
354 o_dst.oc_descr_idx = o_src.oc_descr_idx,\
355 o_dst.oc_color = o_src.oc_color
357 # define COPY_OBJ_DESCR(o_dst,o_src) o_dst.oc_descr_idx = o_src.oc_descr_idx
360 /* bug fix to prevent "initialization error" abort on Intel Xenix.
361 * reported by mikew@semike
363 for (i
= 0; i
< MAXOCLASSES
; i
++)
365 /* initialize object descriptions */
367 for (i
= 0; i
< NUM_OBJECTS
; i
++)
368 objects
[i
].oc_name_idx
= objects
[i
].oc_descr_idx
= i
;
370 /* init base; if probs given check that they add up to 10000,
371 otherwise compute probs */
373 while( first
< NUM_OBJECTS
) {
374 oclass
= objects
[first
].oc_class
;
376 while (last
< NUM_OBJECTS
&& objects
[last
].oc_class
== oclass
) last
++;
377 bases
[(int)oclass
] = first
;
379 if (oclass
== GEM_CLASS
) {
380 setgemprobs((d_level
*)0);
382 if (rn2(2)) { /* change turquoise from green to blue? */
383 COPY_OBJ_DESCR(objects
[TURQUOISE
],objects
[SAPPHIRE
]);
385 if (rn2(2)) { /* change aquamarine from green to blue? */
386 COPY_OBJ_DESCR(objects
[AQUAMARINE
],objects
[SAPPHIRE
]);
388 if (rn2(2)) { /* change epidote from green to red? */
389 COPY_OBJ_DESCR(objects
[EPIDOTE
],objects
[RUBY
]);
391 if (rn2(2)) { /* change rhodochrosite from red to pink? */
392 COPY_OBJ_DESCR(objects
[RHODOCHROSITE
],objects
[ROSE_QUARTZ
]);
394 if (rn2(2)) { /* change amazonite from cyan to green? */
395 COPY_OBJ_DESCR(objects
[AMAZONITE
],objects
[EMERALD
]);
397 if (rn2(2)) { /* change covelline from black to blue? */
398 COPY_OBJ_DESCR(objects
[COVELLINE
],objects
[SAPPHIRE
]);
400 if (rn2(2)) { /* change chrysocolla from cyan to teal? */
401 COPY_OBJ_DESCR(objects
[CHRYSOCOLLA
],objects
[CYAN_STONE
]);
403 if (rn2(2)) { /* change peridot from radiant to cyan? */
404 COPY_OBJ_DESCR(objects
[PERIDOT
],objects
[CHALCEDON
]);
406 if (rn2(2)) { /* change anhydrite from teal to cyan? */
407 COPY_OBJ_DESCR(objects
[ANHYDRITE
],objects
[CHALCEDON
]);
409 if (rn2(2)) { /* change marble from white to black? */
410 COPY_OBJ_DESCR(objects
[MARBLE
],objects
[JET
]);
412 if (rn2(2)) { /* change moonstone from white to yellow? */
413 COPY_OBJ_DESCR(objects
[MOONSTONE
],objects
[CHRYSOBERYL
]);
415 switch (rn2(4)) { /* change fluorite from violet? */
418 COPY_OBJ_DESCR(objects
[FLUORITE
],objects
[SAPPHIRE
]);
421 COPY_OBJ_DESCR(objects
[FLUORITE
],objects
[DIAMOND
]);
424 COPY_OBJ_DESCR(objects
[FLUORITE
],objects
[EMERALD
]);
427 switch (rn2(4)) { /* change tourmaline from red? */
430 COPY_OBJ_DESCR(objects
[TOURMALINE
],objects
[RUBY
]);
432 case 2: /* magenta */
433 COPY_OBJ_DESCR(objects
[TOURMALINE
],objects
[AMETHYST
]);
436 COPY_OBJ_DESCR(objects
[TOURMALINE
],objects
[EMERALD
]);
439 switch (rn2(4)) { /* change apophyllite from teal? */
442 COPY_OBJ_DESCR(objects
[APOPHYLLITE
],objects
[CHALCEDON
]);
444 case 2: /* radiant */
445 COPY_OBJ_DESCR(objects
[APOPHYLLITE
],objects
[PREHNITE
]);
448 COPY_OBJ_DESCR(objects
[APOPHYLLITE
],objects
[EMERALD
]);
451 switch (rn2(3)) { /* change spinel from pink? */
454 COPY_OBJ_DESCR(objects
[SPINEL
],objects
[RUBY
]);
456 case 2: /* magenta */
457 COPY_OBJ_DESCR(objects
[SPINEL
],objects
[AMETHYST
]);
460 switch (rn2(3)) { /* change vivianite from cyan? */
463 COPY_OBJ_DESCR(objects
[VIVIANITE
],objects
[JET
]);
466 COPY_OBJ_DESCR(objects
[VIVIANITE
],objects
[SAPPHIRE
]);
469 switch (rn2(13)) { /* change wonder stone from magenta? */
472 COPY_OBJ_DESCR(objects
[WONDER_STONE
],objects
[JET
]);
475 COPY_OBJ_DESCR(objects
[WONDER_STONE
],objects
[SAPPHIRE
]);
478 COPY_OBJ_DESCR(objects
[WONDER_STONE
],objects
[RUBY
]);
480 case 4: /* radiant */
481 COPY_OBJ_DESCR(objects
[WONDER_STONE
],objects
[PREHNITE
]);
484 COPY_OBJ_DESCR(objects
[WONDER_STONE
],objects
[EMERALD
]);
487 COPY_OBJ_DESCR(objects
[WONDER_STONE
],objects
[DIAMOND
]);
490 COPY_OBJ_DESCR(objects
[WONDER_STONE
],objects
[TOPAZ
]);
493 COPY_OBJ_DESCR(objects
[WONDER_STONE
],objects
[CHRYSOBERYL
]);
496 COPY_OBJ_DESCR(objects
[WONDER_STONE
],objects
[ROSE_QUARTZ
]);
498 case 10: /* orange */
499 COPY_OBJ_DESCR(objects
[WONDER_STONE
],objects
[AGATE
]);
502 COPY_OBJ_DESCR(objects
[WONDER_STONE
],objects
[CHALCEDON
]);
505 COPY_OBJ_DESCR(objects
[WONDER_STONE
],objects
[CYAN_STONE
]);
511 for(i
= first
; i
< last
; i
++) sum
+= objects
[i
].oc_prob
;
513 for(i
= first
; i
< last
; i
++)
514 objects
[i
].oc_prob
= (100000+i
-first
)/(last
-first
);
518 error("init-prob error for class %d (%d%%)", oclass
, sum
);
522 objects
[COPPER_DRAGON_SCALE_MAIL
].oc_oprop
= objects
[COPPER_DRAGON_SCALES
].oc_oprop
= objects
[COPPER_DRAGON_SCALE_SHIELD
].oc_oprop
= randenchantment();
523 objects
[PLATINUM_DRAGON_SCALE_MAIL
].oc_oprop
= objects
[PLATINUM_DRAGON_SCALES
].oc_oprop
= objects
[PLATINUM_DRAGON_SCALE_SHIELD
].oc_oprop
= randenchantment();
524 objects
[BRASS_DRAGON_SCALE_MAIL
].oc_oprop
= objects
[BRASS_DRAGON_SCALES
].oc_oprop
= objects
[BRASS_DRAGON_SCALE_SHIELD
].oc_oprop
= randenchantment();
525 objects
[AMETHYST_DRAGON_SCALE_MAIL
].oc_oprop
= objects
[AMETHYST_DRAGON_SCALES
].oc_oprop
= objects
[AMETHYST_DRAGON_SCALE_SHIELD
].oc_oprop
= randenchantment();
526 objects
[DIAMOND_DRAGON_SCALE_MAIL
].oc_oprop
= objects
[DIAMOND_DRAGON_SCALES
].oc_oprop
= objects
[DIAMOND_DRAGON_SCALE_SHIELD
].oc_oprop
= randenchantment();
527 objects
[EMERALD_DRAGON_SCALE_MAIL
].oc_oprop
= objects
[EMERALD_DRAGON_SCALES
].oc_oprop
= objects
[EMERALD_DRAGON_SCALE_SHIELD
].oc_oprop
= randenchantment();
528 objects
[SAPPHIRE_DRAGON_SCALE_MAIL
].oc_oprop
= objects
[SAPPHIRE_DRAGON_SCALES
].oc_oprop
= objects
[SAPPHIRE_DRAGON_SCALE_SHIELD
].oc_oprop
= randenchantment();
529 objects
[RUBY_DRAGON_SCALE_MAIL
].oc_oprop
= objects
[RUBY_DRAGON_SCALES
].oc_oprop
= objects
[RUBY_DRAGON_SCALE_SHIELD
].oc_oprop
= randenchantment();
531 objects
[PURPLE_DRAGON_SCALE_MAIL
].oc_oprop
= randenchantment();
532 objects
[PURPLE_DRAGON_SCALES
].oc_oprop
= randenchantment();
533 objects
[PURPLE_DRAGON_SCALE_SHIELD
].oc_oprop
= randenchantment();
535 objects
[EXCITING_ARMOR
].oc_oprop
= randenchantment();
537 objects
[RANDOMIZED_HELMET
].oc_oprop
= randenchantment();
538 objects
[ROBE_OF_RANDOMNESS
].oc_oprop
= randenchantment();
539 objects
[HIGH_STILETTOS
].oc_oprop
= randenchantment();
540 objects
[UNKNOWN_GAUNTLETS
].oc_oprop
= randenchantment();
541 objects
[MISSING_CLOAK
].oc_oprop
= randenchantment();
543 objects
[RANDOMIZED_HELMET
].a_can
= rnd(10) ? 0 : rnd(3);
544 objects
[ROBE_OF_RANDOMNESS
].a_can
= rnd(10) ? 0 : rnd(3);
545 objects
[HIGH_STILETTOS
].a_can
= rnd(10) ? 0 : rnd(3);
546 objects
[UNKNOWN_GAUNTLETS
].a_can
= rnd(10) ? 0 : rnd(3);
547 objects
[MISSING_CLOAK
].a_can
= rn2(4);
549 objects
[WONDER_HELMET
].a_can
= rnd(10) ? 0 : rnd(3);
550 objects
[SKY_HIGH_HEELS
].a_can
= rnd(10) ? 0 : rnd(3);
551 objects
[ARCANE_GAUNTLETS
].a_can
= rnd(10) ? 0 : rnd(3);
552 objects
[SPECIAL_CLOAK
].a_can
= rn2(4);
554 objects
[POINTED_HELMET
].a_can
= rnd(10) ? 0 : rnd(3);
555 objects
[PREHISTORIC_BOOTS
].a_can
= rnd(10) ? 0 : rnd(3);
556 objects
[PLACEHOLDER_GLOVES
].a_can
= rnd(10) ? 0 : rnd(3);
557 objects
[PLAIN_CLOAK
].a_can
= rn2(4);
559 objects
[BOG_STANDARD_HELMET
].a_can
= rnd(10) ? 0 : rnd(3);
560 objects
[SYNTHETIC_SANDALS
].a_can
= rnd(10) ? 0 : rnd(3);
561 objects
[PROTECTIVE_GLOVES
].a_can
= rnd(10) ? 0 : rnd(3);
562 objects
[ARCHAIC_CLOAK
].a_can
= rn2(4);
564 objects
[RANDOMIZED_HELMET
].a_ac
= 0;
565 if (rn2(10)) objects
[RANDOMIZED_HELMET
].a_ac
= 1;
567 if (objects
[RANDOMIZED_HELMET
].a_ac
< 20) objects
[RANDOMIZED_HELMET
].a_ac
++;
569 objects
[ROBE_OF_RANDOMNESS
].a_ac
= 0;
570 if (rn2(10)) objects
[ROBE_OF_RANDOMNESS
].a_ac
= 1;
572 if (objects
[ROBE_OF_RANDOMNESS
].a_ac
< 20) objects
[ROBE_OF_RANDOMNESS
].a_ac
++;
574 objects
[HIGH_STILETTOS
].a_ac
= 0;
575 if (rn2(10)) objects
[HIGH_STILETTOS
].a_ac
= 1;
577 if (objects
[HIGH_STILETTOS
].a_ac
< 20) objects
[HIGH_STILETTOS
].a_ac
++;
579 objects
[UNKNOWN_GAUNTLETS
].a_ac
= 0;
580 if (rn2(10)) objects
[UNKNOWN_GAUNTLETS
].a_ac
= 1;
582 if (objects
[UNKNOWN_GAUNTLETS
].a_ac
< 20) objects
[UNKNOWN_GAUNTLETS
].a_ac
++;
584 objects
[MISSING_CLOAK
].a_ac
= 0;
585 if (rn2(10)) objects
[MISSING_CLOAK
].a_ac
= 1;
587 if (objects
[MISSING_CLOAK
].a_ac
< 20) objects
[MISSING_CLOAK
].a_ac
++;
589 objects
[SPECIAL_CLOAK
].a_ac
= 0;
590 if (rn2(10)) objects
[SPECIAL_CLOAK
].a_ac
= 1;
592 if (objects
[SPECIAL_CLOAK
].a_ac
< 20) objects
[SPECIAL_CLOAK
].a_ac
++;
594 objects
[WONDER_HELMET
].a_ac
= 0;
595 if (rn2(10)) objects
[WONDER_HELMET
].a_ac
= 1;
597 if (objects
[WONDER_HELMET
].a_ac
< 20) objects
[WONDER_HELMET
].a_ac
++;
599 objects
[ARCANE_GAUNTLETS
].a_ac
= 0;
600 if (rn2(10)) objects
[ARCANE_GAUNTLETS
].a_ac
= 1;
602 if (objects
[ARCANE_GAUNTLETS
].a_ac
< 20) objects
[ARCANE_GAUNTLETS
].a_ac
++;
604 objects
[SKY_HIGH_HEELS
].a_ac
= 0;
605 if (rn2(10)) objects
[SKY_HIGH_HEELS
].a_ac
= 1;
607 if (objects
[SKY_HIGH_HEELS
].a_ac
< 20) objects
[SKY_HIGH_HEELS
].a_ac
++;
609 objects
[PLAIN_CLOAK
].a_ac
= 0;
610 if (rn2(10)) objects
[PLAIN_CLOAK
].a_ac
= 1;
612 if (objects
[PLAIN_CLOAK
].a_ac
< 20) objects
[PLAIN_CLOAK
].a_ac
++;
614 objects
[POINTED_HELMET
].a_ac
= 0;
615 if (rn2(10)) objects
[POINTED_HELMET
].a_ac
= 1;
617 if (objects
[POINTED_HELMET
].a_ac
< 20) objects
[POINTED_HELMET
].a_ac
++;
619 objects
[PLACEHOLDER_GLOVES
].a_ac
= 0;
620 if (rn2(10)) objects
[PLACEHOLDER_GLOVES
].a_ac
= 1;
622 if (objects
[PLACEHOLDER_GLOVES
].a_ac
< 20) objects
[PLACEHOLDER_GLOVES
].a_ac
++;
624 objects
[PREHISTORIC_BOOTS
].a_ac
= 0;
625 if (rn2(10)) objects
[PREHISTORIC_BOOTS
].a_ac
= 1;
627 if (objects
[PREHISTORIC_BOOTS
].a_ac
< 20) objects
[PREHISTORIC_BOOTS
].a_ac
++;
629 objects
[ARCHAIC_CLOAK
].a_ac
= 0;
630 if (rn2(10)) objects
[ARCHAIC_CLOAK
].a_ac
= 1;
632 if (objects
[ARCHAIC_CLOAK
].a_ac
< 20) objects
[ARCHAIC_CLOAK
].a_ac
++;
634 objects
[BOG_STANDARD_HELMET
].a_ac
= 0;
635 if (rn2(10)) objects
[BOG_STANDARD_HELMET
].a_ac
= 1;
637 if (objects
[BOG_STANDARD_HELMET
].a_ac
< 20) objects
[BOG_STANDARD_HELMET
].a_ac
++;
639 objects
[PROTECTIVE_GLOVES
].a_ac
= 0;
640 if (rn2(10)) objects
[PROTECTIVE_GLOVES
].a_ac
= 1;
642 if (objects
[PROTECTIVE_GLOVES
].a_ac
< 20) objects
[PROTECTIVE_GLOVES
].a_ac
++;
644 objects
[SYNTHETIC_SANDALS
].a_ac
= 0;
645 if (rn2(10)) objects
[SYNTHETIC_SANDALS
].a_ac
= 1;
647 if (objects
[SYNTHETIC_SANDALS
].a_ac
< 20) objects
[SYNTHETIC_SANDALS
].a_ac
++;
650 objects
[RIN_RANDOM_EFFECTS
].oc_oprop
= randenchantment();
651 objects
[RIN_SPECIAL_EFFECTS
].oc_oprop
= randenchantment();
652 objects
[AMULET_OF_THE_RNG
].oc_oprop
= randenchantment();
653 objects
[AMULET_OF_INFINITY
].oc_oprop
= randenchantment();
654 objects
[RIN_DANGER
].oc_oprop
= randnastyenchantment();
655 objects
[AMULET_OF_DANGER
].oc_oprop
= randnastyenchantment();
656 objects
[NASTY_CLOAK
].oc_oprop
= randnastyenchantment();
657 objects
[ROBE_OF_NASTINESS
].oc_oprop
= randnastyenchantment();
658 objects
[UNWANTED_HELMET
].oc_oprop
= randnastyenchantment();
659 objects
[EVIL_GLOVES
].oc_oprop
= randnastyenchantment();
660 objects
[UNFAIR_STILETTOS
].oc_oprop
= randnastyenchantment();
662 objects
[MAIDRAGON_SCALE_MAIL
].oc_oprop
= randfemienchantment();
663 objects
[MAIDRAGON_SCALES
].oc_oprop
= randfemienchantment();
664 objects
[MAIDRAGON_SCALE_SHIELD
].oc_oprop
= randfemienchantment();
665 objects
[ROBE_OF_FEMINISM
].oc_oprop
= randfemienchantment();
666 objects
[FEMINISM_CLOAK
].oc_oprop
= randfemienchantment();
667 objects
[FEMINISM_HELMET
].oc_oprop
= randfemienchantment();
668 objects
[FEMALE_GLOVES
].oc_oprop
= randfemienchantment();
669 objects
[FEMININE_STILETTOS
].oc_oprop
= randfemienchantment();
670 objects
[RIN_FEMINISM
].oc_oprop
= randfemienchantment();
671 objects
[AMULET_OF_FEMINISM
].oc_oprop
= randfemienchantment();
673 objects
[MAGICAL_SHIELD
].oc_oprop
= randenchantment();
674 objects
[EVIL_DRAGON_SCALE_MAIL
].oc_oprop
= randnastyenchantment();
675 objects
[EVIL_DRAGON_SCALES
].oc_oprop
= randnastyenchantment();
676 objects
[EVIL_DRAGON_SCALE_SHIELD
].oc_oprop
= randnastyenchantment();
677 objects
[DIFFICULT_SHIELD
].oc_oprop
= randnastyenchantment();
678 objects
[BAD_SHIRT
].oc_oprop
= randnastyenchantment();
679 objects
[EVIL_PLATE_MAIL
].oc_oprop
= randnastyenchantment();
680 objects
[EVIL_LEATHER_ARMOR
].oc_oprop
= randnastyenchantment();
682 objects
[DUMMY_CLOAK_A
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
683 objects
[DUMMY_CLOAK_B
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
684 objects
[DUMMY_CLOAK_C
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
685 objects
[DUMMY_CLOAK_D
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
686 objects
[DUMMY_CLOAK_E
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
687 objects
[DUMMY_CLOAK_F
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
688 objects
[DUMMY_CLOAK_G
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
689 objects
[DUMMY_CLOAK_H
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
690 objects
[DUMMY_CLOAK_I
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
691 objects
[DUMMY_CLOAK_J
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
692 objects
[DUMMY_CLOAK_K
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
693 objects
[DUMMY_CLOAK_L
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
694 objects
[DUMMY_CLOAK_M
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
695 objects
[DUMMY_CLOAK_N
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
696 objects
[DUMMY_CLOAK_O
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
697 objects
[DUMMY_CLOAK_P
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
698 objects
[DUMMY_CLOAK_Q
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
699 objects
[DUMMY_CLOAK_R
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
700 objects
[DUMMY_CLOAK_S
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
701 objects
[DUMMY_CLOAK_T
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
702 objects
[DUMMY_CLOAK_U
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
703 objects
[DUMMY_CLOAK_V
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
704 objects
[DUMMY_CLOAK_W
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
705 objects
[DUMMY_CLOAK_X
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
706 objects
[DUMMY_CLOAK_Y
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
707 objects
[DUMMY_CLOAK_Z
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
708 objects
[DUMMY_CLOAK_AA
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
709 objects
[DUMMY_CLOAK_AB
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
710 objects
[DUMMY_CLOAK_AC
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
711 objects
[DUMMY_CLOAK_AD
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
712 objects
[DUMMY_CLOAK_AE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
713 objects
[DUMMY_CLOAK_AF
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
714 objects
[DUMMY_CLOAK_AG
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
715 objects
[DUMMY_CLOAK_AH
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
716 objects
[DUMMY_CLOAK_AI
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
717 objects
[DUMMY_CLOAK_AJ
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
718 objects
[DUMMY_CLOAK_AK
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
719 objects
[DUMMY_CLOAK_AL
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
720 objects
[DUMMY_CLOAK_AM
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
721 objects
[DUMMY_CLOAK_AN
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
722 objects
[DUMMY_CLOAK_AO
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
723 objects
[DUMMY_CLOAK_AP
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
724 objects
[DUMMY_CLOAK_AQ
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
725 objects
[DUMMY_CLOAK_AR
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
726 objects
[DUMMY_CLOAK_AS
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
727 objects
[DUMMY_CLOAK_AT
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
728 objects
[DUMMY_CLOAK_AU
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
729 objects
[DUMMY_CLOAK_AV
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
730 objects
[DUMMY_CLOAK_AW
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
731 objects
[DUMMY_CLOAK_AX
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
733 objects
[RANDOM_JACKET
].a_ac
= rnd(10);
735 objects
[IMPLANT_OF_ABSORPTION
].a_ac
= rnd(10);
736 objects
[IMPLANT_OF_PUNCTURING
].a_ac
= rnd(10);
737 objects
[IMPLANT_OF_CRAFTSMANSHIP
].a_ac
= rnd(10);
738 objects
[IMPLANT_OF_PRECISION
].a_ac
= rnd(10);
739 objects
[IMPLANT_OF_VILENESS
].a_ac
= rnd(10);
740 objects
[IMPLANT_OF_REMEDY
].a_ac
= rnd(10);
741 objects
[IMPLANT_OF_STOICISM
].a_ac
= rnd(10);
742 objects
[IMPLANT_OF_AVARICE
].a_ac
= rnd(10);
743 objects
[IMPLANT_OF_CREMATION
].a_ac
= rnd(10);
744 objects
[IMPLANT_OF_SEARING
].a_ac
= rnd(10);
745 objects
[IMPLANT_OF_REDEMPTION
].a_ac
= rnd(10);
746 objects
[IMPLANT_OF_EROSION
].a_ac
= rnd(10);
747 objects
[IMPLANT_OF_JOY
].a_ac
= rnd(10);
748 objects
[IMPLANT_OF_CRUELTY
].a_ac
= rnd(10);
749 objects
[IMPLANT_OF_BADNESS
].a_ac
= rnd(10);
750 objects
[IMPLANT_OF_PROPOGATION
].a_ac
= rnd(10);
751 objects
[IMPLANT_OF_PASSION
].a_ac
= rnd(10);
752 objects
[IMPLANT_OF_WINTER
].a_ac
= rnd(10);
753 objects
[IMPLANT_OF_ACCELERATION
].a_ac
= rnd(10);
754 objects
[IMPLANT_OF_PROSPERITY
].a_ac
= rnd(10);
756 objects
[IMPLANT_OF_QUEEB_BUTT
].a_ac
= rnd(10);
757 objects
[IMPLANT_OF_BEHOLDING
].a_ac
= rnd(10);
758 objects
[IMPLANT_OF_DA_GUSHA
].a_ac
= rnd(10);
759 objects
[IMPLANT_OF_FINGER_POINTING
].a_ac
= rnd(10);
761 objects
[IMPLANT_OF_QUICKENING
].a_ac
= rnd(8);
762 objects
[IMPLANT_OF_KARMA
].a_ac
= rnd(8);
763 objects
[IMPLANT_OF_FERVOR
].a_ac
= rnd(8);
764 objects
[IMPLANT_OF_TRANSCENDENCE
].a_ac
= rnd(8);
765 objects
[IMPLANT_OF_ELUSION
].a_ac
= rnd(8);
766 objects
[IMPLANT_OF_STATURE
].a_ac
= rnd(8);
767 objects
[IMPLANT_OF_SUFFERING
].a_ac
= rnd(8);
768 objects
[IMPLANT_OF_BADASS
].a_ac
= rnd(8);
769 objects
[IMPLANT_OF_FAST_REPAIR
].a_ac
= rnd(8);
770 objects
[IMPLANT_OF_PILFERING
].a_ac
= rnd(8);
771 objects
[IMPLANT_OF_REPLENISHING
].a_ac
= rnd(8);
772 objects
[IMPLANT_OF_HONOR
].a_ac
= rnd(8);
773 objects
[IMPLANT_OF_CONTROL
].a_ac
= rnd(8);
774 objects
[IMPLANT_OF_CLUMSINESS
].a_ac
= rnd(8);
775 objects
[IMPLANT_OF_INSULATION
].a_ac
= rnd(8);
776 objects
[IMPLANT_OF_FRAILTY
].a_ac
= rnd(8);
777 objects
[IMPLANT_OF_KNOWLEDGE
].a_ac
= rnd(8);
778 objects
[IMPLANT_OF_VENGEANCE
].a_ac
= rnd(8);
779 objects
[IMPLANT_OF_BLISS
].a_ac
= rnd(8);
780 objects
[IMPLANT_OF_BLITZEN
].a_ac
= rnd(8);
782 objects
[IMPLANT_OF_TOTAL_NONSENSE
].a_ac
= rnd(8);
783 objects
[IMPLANT_OF_BIG_OL
].a_ac
= rnd(8);
784 objects
[IMPLANT_OF_ANAL_RETENTION
].a_ac
= rnd(8);
785 objects
[IMPLANT_OF_GALVANIZATION
].a_ac
= rnd(8);
787 objects
[IMPLANT_OF_IRE
].a_ac
= rnd(5);
788 objects
[IMPLANT_OF_MALICE
].a_ac
= rnd(5);
789 objects
[IMPLANT_OF_AGES
].a_ac
= rnd(5);
790 objects
[IMPLANT_OF_SUSTENANCE
].a_ac
= rnd(5);
791 objects
[IMPLANT_OF_TRUTH
].a_ac
= rnd(5);
792 objects
[IMPLANT_OF_REMORSE
].a_ac
= rnd(5);
793 objects
[IMPLANT_OF_GRACE
].a_ac
= rnd(5);
794 objects
[IMPLANT_OF_WASTE
].a_ac
= rnd(5);
795 objects
[IMPLANT_OF_COMBAT
].a_ac
= rnd(5);
796 objects
[IMPLANT_OF_FAITH
].a_ac
= rnd(5);
797 objects
[IMPLANT_OF_DISPATCH
].a_ac
= rnd(5);
798 objects
[IMPLANT_OF_DREAD
].a_ac
= rnd(5);
799 objects
[IMPLANT_OF_VITA
].a_ac
= rnd(5);
800 objects
[IMPLANT_OF_MAGGOTS
].a_ac
= rnd(5);
801 objects
[IMPLANT_OF_BEAUTY
].a_ac
= rnd(5);
802 objects
[IMPLANT_OF_DUSK
].a_ac
= rnd(5);
803 objects
[IMPLANT_OF_TRIBUTE
].a_ac
= rnd(5);
804 objects
[IMPLANT_OF_INERTIA
].a_ac
= rnd(5);
805 objects
[IMPLANT_OF_SWEETNESS
].a_ac
= rnd(5);
806 objects
[IMPLANT_OF_IRRIGATION
].a_ac
= rnd(5);
807 objects
[IMPLANT_OF_TWILIGHT
].a_ac
= rnd(5);
808 objects
[IMPLANT_OF_MEMORY
].a_ac
= rnd(5);
809 objects
[IMPLANT_OF_LOVE
].a_ac
= rnd(5);
810 objects
[IMPLANT_OF_VINES
].a_ac
= rnd(5);
811 objects
[IMPLANT_OF_ANIMA
].a_ac
= rnd(5);
812 objects
[IMPLANT_OF_LINES
].a_ac
= rnd(5);
813 objects
[IMPLANT_OF_THAWING
].a_ac
= rnd(5);
814 objects
[IMPLANT_OF_DESIRE
].a_ac
= rnd(5);
815 objects
[IMPLANT_OF_PAIN
].a_ac
= rnd(5);
816 objects
[IMPLANT_OF_DARING
].a_ac
= rnd(5);
817 objects
[IMPLANT_OF_CORRUPTION
].a_ac
= rnd(5);
818 objects
[IMPLANT_OF_EVISCERATION
].a_ac
= rnd(5);
819 objects
[IMPLANT_OF_TRAVELING
].a_ac
= rnd(5);
820 objects
[IMPLANT_OF_CHEATING
].a_ac
= rnd(5);
821 objects
[IMPLANT_OF_ANTHRAX
].a_ac
= rnd(5);
822 objects
[IMPLANT_OF_ATTRITION
].a_ac
= rnd(5);
823 objects
[IMPLANT_OF_HACKING
].a_ac
= rnd(5);
824 objects
[IMPLANT_OF_PROSPERING
].a_ac
= rnd(5);
825 objects
[IMPLANT_OF_VALHALLA
].a_ac
= rnd(5);
826 objects
[IMPLANT_OF_DECEPTION
].a_ac
= rnd(5);
827 objects
[IMPLANT_OF_BUTCHERY
].a_ac
= rnd(5);
828 objects
[IMPLANT_OF_BLIZZARD
].a_ac
= rnd(5);
829 objects
[IMPLANT_OF_TERROR
].a_ac
= rnd(5);
830 objects
[IMPLANT_OF_DAWN
].a_ac
= rnd(5);
831 objects
[IMPLANT_OF_BILE
].a_ac
= rnd(5);
832 objects
[IMPLANT_OF_CREDIT
].a_ac
= rnd(5);
833 objects
[IMPLANT_OF_QUOTA
].a_ac
= rnd(5);
834 objects
[IMPLANT_OF_VIRILITY
].a_ac
= rnd(5);
835 objects
[IMPLANT_OF_VANILLA
].a_ac
= rnd(5);
836 objects
[IMPLANT_OF_HOPE
].a_ac
= rnd(5);
837 objects
[IMPLANT_OF_ABRASION
].a_ac
= rnd(5);
838 objects
[IMPLANT_OF_OSMOSIS
].a_ac
= rnd(5);
839 objects
[IMPLANT_OF_NIRVANA
].a_ac
= rnd(5);
840 objects
[IMPLANT_OF_ENVY
].a_ac
= rnd(5);
841 objects
[IMPLANT_OF_ENNUI
].a_ac
= rnd(5);
842 objects
[IMPLANT_OF_IMPOSSIBILITY
].a_ac
= rnd(5);
843 objects
[IMPLANT_OF_ADMIRATION
].a_ac
= rnd(5);
844 objects
[IMPLANT_OF_SUNLIGHT
].a_ac
= rnd(5);
845 objects
[IMPLANT_OF_TSUNAMI
].a_ac
= rnd(5);
846 objects
[IMPLANT_OF_FREEDOM
].a_ac
= rnd(5);
848 objects
[IMPLANT_OF_TEN_THOUSAND_THINGS
].a_ac
= rnd(5);
849 objects
[IMPLANT_OF_TOSSING
].a_ac
= rnd(5);
850 objects
[IMPLANT_OF_HEAVY_LUBRICATION
].a_ac
= rnd(5);
851 objects
[IMPLANT_OF_MISANTHROPHY
].a_ac
= rnd(5);
852 objects
[IMPLANT_OF_CRAP
].a_ac
= rnd(5);
853 objects
[IMPLANT_OF_KING_BEEFCAKE
].a_ac
= rnd(5);
854 objects
[IMPLANT_OF_PUMPING
].a_ac
= rnd(5);
855 objects
[IMPLANT_OF_WANNABE
].a_ac
= rnd(5);
856 objects
[IMPLANT_OF_YOUR_MOMMA
].a_ac
= rnd(5);
857 objects
[IMPLANT_OF_SWALLOWING
].a_ac
= rnd(5);
858 objects
[IMPLANT_OF_MENSTRATING
].a_ac
= rnd(5);
859 objects
[IMPLANT_OF_ENFORCING
].a_ac
= rnd(5);
861 objects
[IMPLANT_OF_SERENITY
].a_ac
= rnd(9);
862 objects
[IMPLANT_OF_GILGAMESH
].a_ac
= rnd(9);
863 objects
[IMPLANT_OF_THE_PLANES
].a_ac
= rnd(9);
864 objects
[IMPLANT_OF_RECKONING
].a_ac
= rnd(9);
865 objects
[IMPLANT_OF_RESPECT
].a_ac
= rnd(9);
866 objects
[IMPLANT_OF_EXCELLENCE
].a_ac
= rnd(9);
867 objects
[IMPLANT_OF_PUNITION
].a_ac
= rnd(9);
868 objects
[IMPLANT_OF_HUBRIS
].a_ac
= rnd(9);
869 objects
[IMPLANT_OF_OMEN
].a_ac
= rnd(9);
870 objects
[IMPLANT_OF_CARNAGE
].a_ac
= rnd(9);
872 objects
[IMPLANT_OF_LEGEND
].a_ac
= rnd(9);
873 objects
[IMPLANT_OF_VIRTUE
].a_ac
= rnd(9);
875 objects
[IMPLANT_OF_FATE
].a_ac
= rnd(8);
876 objects
[IMPLANT_OF_THE_SEA_LION
].a_ac
= rnd(8);
877 objects
[IMPLANT_OF_JUSTICE
].a_ac
= rnd(8);
878 objects
[IMPLANT_OF_DISASTER
].a_ac
= rnd(8);
879 objects
[IMPLANT_OF_REDRESS
].a_ac
= rnd(8);
880 objects
[IMPLANT_OF_QUARRELS
].a_ac
= rnd(8);
881 objects
[IMPLANT_OF_PARANOIA
].a_ac
= rnd(8);
882 objects
[IMPLANT_OF_TORMENT
].a_ac
= rnd(8);
883 objects
[IMPLANT_OF_SWIFT_DEFEAT
].a_ac
= rnd(8);
884 objects
[IMPLANT_OF_INTEGRITY
].a_ac
= rnd(8);
885 objects
[IMPLANT_OF_CHASTITY
].a_ac
= rnd(8);
886 objects
[IMPLANT_OF_BINDING
].a_ac
= rnd(8);
887 objects
[IMPLANT_OF_MOLLIFICATION
].a_ac
= rnd(8);
888 objects
[IMPLANT_OF_FULL_HEALING
].a_ac
= rnd(8);
889 objects
[IMPLANT_OF_DESTRUCTION
].a_ac
= rnd(8);
890 objects
[IMPLANT_OF_FRIENDSHIP
].a_ac
= rnd(8);
891 objects
[IMPLANT_OF_SATIATION
].a_ac
= rnd(8);
892 objects
[IMPLANT_OF_PRESERVATION
].a_ac
= rnd(8);
893 objects
[IMPLANT_OF_QUICK_DRAWING
].a_ac
= rnd(8);
894 objects
[IMPLANT_OF_WAND_CHARGING
].a_ac
= rnd(8);
896 objects
[IMPLANT_OF_SORROW
].a_ac
= rnd(8);
897 objects
[IMPLANT_OF_CLEAR_THINKING
].a_ac
= rnd(8);
898 objects
[IMPLANT_OF_MIND_BLASTING
].a_ac
= rnd(8);
899 objects
[IMPLANT_OF_THE_OCTOPUS
].a_ac
= rnd(8);
901 objects
[IMPLANT_OF_FATE
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
902 objects
[IMPLANT_OF_THE_SEA_LION
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
903 objects
[IMPLANT_OF_JUSTICE
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
904 objects
[IMPLANT_OF_DISASTER
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
905 objects
[IMPLANT_OF_REDRESS
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
906 objects
[IMPLANT_OF_QUARRELS
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
907 objects
[IMPLANT_OF_PARANOIA
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
908 objects
[IMPLANT_OF_TORMENT
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
909 objects
[IMPLANT_OF_SWIFT_DEFEAT
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
910 objects
[IMPLANT_OF_INTEGRITY
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
911 objects
[IMPLANT_OF_CHASTITY
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
912 objects
[IMPLANT_OF_BINDING
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
913 objects
[IMPLANT_OF_MOLLIFICATION
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
914 objects
[IMPLANT_OF_FULL_HEALING
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
915 objects
[IMPLANT_OF_DESTRUCTION
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
916 objects
[IMPLANT_OF_FRIENDSHIP
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
917 objects
[IMPLANT_OF_SATIATION
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
918 objects
[IMPLANT_OF_PRESERVATION
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
919 objects
[IMPLANT_OF_QUICK_DRAWING
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
920 objects
[IMPLANT_OF_WAND_CHARGING
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
922 objects
[IMPLANT_OF_SORROW
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
923 objects
[IMPLANT_OF_CLEAR_THINKING
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
924 objects
[IMPLANT_OF_MIND_BLASTING
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
925 objects
[IMPLANT_OF_THE_OCTOPUS
].a_can
= !rn2(5) ? rn1(6, 4) : rnd(3);
927 objects
[IMPLANT_OF_QUICKENING
].oc_oprop
= randnastyenchantment();
928 objects
[IMPLANT_OF_KARMA
].oc_oprop
= randnastyenchantment();
929 objects
[IMPLANT_OF_FERVOR
].oc_oprop
= randnastyenchantment();
930 objects
[IMPLANT_OF_TRANSCENDENCE
].oc_oprop
= randnastyenchantment();
931 objects
[IMPLANT_OF_ELUSION
].oc_oprop
= randnastyenchantment();
932 objects
[IMPLANT_OF_STATURE
].oc_oprop
= randnastyenchantment();
933 objects
[IMPLANT_OF_SUFFERING
].oc_oprop
= randnastyenchantment();
934 objects
[IMPLANT_OF_BADASS
].oc_oprop
= randnastyenchantment();
935 objects
[IMPLANT_OF_FAST_REPAIR
].oc_oprop
= randnastyenchantment();
936 objects
[IMPLANT_OF_PILFERING
].oc_oprop
= randnastyenchantment();
937 objects
[IMPLANT_OF_REPLENISHING
].oc_oprop
= randnastyenchantment();
938 objects
[IMPLANT_OF_HONOR
].oc_oprop
= randnastyenchantment();
939 objects
[IMPLANT_OF_CONTROL
].oc_oprop
= randnastyenchantment();
940 objects
[IMPLANT_OF_CLUMSINESS
].oc_oprop
= randnastyenchantment();
941 objects
[IMPLANT_OF_INSULATION
].oc_oprop
= randnastyenchantment();
942 objects
[IMPLANT_OF_FRAILTY
].oc_oprop
= randnastyenchantment();
943 objects
[IMPLANT_OF_KNOWLEDGE
].oc_oprop
= randnastyenchantment();
944 objects
[IMPLANT_OF_VENGEANCE
].oc_oprop
= randnastyenchantment();
945 objects
[IMPLANT_OF_BLISS
].oc_oprop
= randnastyenchantment();
946 objects
[IMPLANT_OF_BLITZEN
].oc_oprop
= randnastyenchantment();
948 objects
[IMPLANT_OF_TOTAL_NONSENSE
].oc_oprop
= randnastyenchantment();
949 objects
[IMPLANT_OF_BIG_OL
].oc_oprop
= randnastyenchantment();
950 objects
[IMPLANT_OF_ANAL_RETENTION
].oc_oprop
= randnastyenchantment();
951 objects
[IMPLANT_OF_GALVANIZATION
].oc_oprop
= randnastyenchantment();
953 objects
[IMPLANT_OF_SERENITY
].oc_oprop
= randfemienchantment();
954 objects
[IMPLANT_OF_GILGAMESH
].oc_oprop
= randfemienchantment();
955 objects
[IMPLANT_OF_THE_PLANES
].oc_oprop
= randfemienchantment();
956 objects
[IMPLANT_OF_RECKONING
].oc_oprop
= randfemienchantment();
957 objects
[IMPLANT_OF_RESPECT
].oc_oprop
= randfemienchantment();
958 objects
[IMPLANT_OF_EXCELLENCE
].oc_oprop
= randfemienchantment();
959 objects
[IMPLANT_OF_PUNITION
].oc_oprop
= randfemienchantment();
960 objects
[IMPLANT_OF_HUBRIS
].oc_oprop
= randfemienchantment();
961 objects
[IMPLANT_OF_OMEN
].oc_oprop
= randfemienchantment();
962 objects
[IMPLANT_OF_CARNAGE
].oc_oprop
= randfemienchantment();
964 objects
[IMPLANT_OF_LEGEND
].oc_oprop
= randfemienchantment();
965 objects
[IMPLANT_OF_VIRTUE
].oc_oprop
= randfemienchantment();
967 objects
[IMPLANT_OF_IRE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
968 objects
[IMPLANT_OF_MALICE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
969 objects
[IMPLANT_OF_AGES
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
970 objects
[IMPLANT_OF_SUSTENANCE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
971 objects
[IMPLANT_OF_TRUTH
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
972 objects
[IMPLANT_OF_REMORSE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
973 objects
[IMPLANT_OF_GRACE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
974 objects
[IMPLANT_OF_WASTE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
975 objects
[IMPLANT_OF_COMBAT
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
976 objects
[IMPLANT_OF_FAITH
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
977 objects
[IMPLANT_OF_DISPATCH
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
978 objects
[IMPLANT_OF_DREAD
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
979 objects
[IMPLANT_OF_VITA
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
980 objects
[IMPLANT_OF_MAGGOTS
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
981 objects
[IMPLANT_OF_BEAUTY
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
982 objects
[IMPLANT_OF_DUSK
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
983 objects
[IMPLANT_OF_TRIBUTE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
984 objects
[IMPLANT_OF_INERTIA
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
985 objects
[IMPLANT_OF_SWEETNESS
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
986 objects
[IMPLANT_OF_IRRIGATION
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
987 objects
[IMPLANT_OF_TWILIGHT
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
988 objects
[IMPLANT_OF_MEMORY
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
989 objects
[IMPLANT_OF_LOVE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
990 objects
[IMPLANT_OF_VINES
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
991 objects
[IMPLANT_OF_ANIMA
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
992 objects
[IMPLANT_OF_LINES
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
993 objects
[IMPLANT_OF_THAWING
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
994 objects
[IMPLANT_OF_DESIRE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
995 objects
[IMPLANT_OF_PAIN
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
996 objects
[IMPLANT_OF_DARING
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
997 objects
[IMPLANT_OF_CORRUPTION
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
998 objects
[IMPLANT_OF_EVISCERATION
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
999 objects
[IMPLANT_OF_TRAVELING
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1000 objects
[IMPLANT_OF_CHEATING
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1001 objects
[IMPLANT_OF_ANTHRAX
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1002 objects
[IMPLANT_OF_ATTRITION
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1003 objects
[IMPLANT_OF_HACKING
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1004 objects
[IMPLANT_OF_PROSPERING
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1005 objects
[IMPLANT_OF_VALHALLA
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1006 objects
[IMPLANT_OF_DECEPTION
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1007 objects
[IMPLANT_OF_BUTCHERY
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1008 objects
[IMPLANT_OF_BLIZZARD
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1009 objects
[IMPLANT_OF_TERROR
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1010 objects
[IMPLANT_OF_DAWN
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1011 objects
[IMPLANT_OF_BILE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1012 objects
[IMPLANT_OF_CREDIT
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1013 objects
[IMPLANT_OF_QUOTA
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1014 objects
[IMPLANT_OF_VIRILITY
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1015 objects
[IMPLANT_OF_VANILLA
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1016 objects
[IMPLANT_OF_HOPE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1017 objects
[IMPLANT_OF_ABRASION
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1018 objects
[IMPLANT_OF_OSMOSIS
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1019 objects
[IMPLANT_OF_NIRVANA
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1020 objects
[IMPLANT_OF_ENVY
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1021 objects
[IMPLANT_OF_ENNUI
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1022 objects
[IMPLANT_OF_IMPOSSIBILITY
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1023 objects
[IMPLANT_OF_ADMIRATION
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1024 objects
[IMPLANT_OF_SUNLIGHT
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1025 objects
[IMPLANT_OF_TSUNAMI
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1026 objects
[IMPLANT_OF_FREEDOM
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1028 objects
[IMPLANT_OF_TEN_THOUSAND_THINGS
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1029 objects
[IMPLANT_OF_TOSSING
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1030 objects
[IMPLANT_OF_HEAVY_LUBRICATION
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1031 objects
[IMPLANT_OF_MISANTHROPHY
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1032 objects
[IMPLANT_OF_CRAP
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1033 objects
[IMPLANT_OF_KING_BEEFCAKE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1034 objects
[IMPLANT_OF_PUMPING
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1035 objects
[IMPLANT_OF_WANNABE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1036 objects
[IMPLANT_OF_YOUR_MOMMA
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1037 objects
[IMPLANT_OF_SWALLOWING
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1038 objects
[IMPLANT_OF_MENSTRATING
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1039 objects
[IMPLANT_OF_ENFORCING
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1041 objects
[DUMMY_CLOAK_A
].a_can
= rn2(4);
1042 objects
[DUMMY_CLOAK_B
].a_can
= rn2(4);
1043 objects
[DUMMY_CLOAK_C
].a_can
= rn2(4);
1044 objects
[DUMMY_CLOAK_D
].a_can
= rn2(4);
1045 objects
[DUMMY_CLOAK_E
].a_can
= rn2(4);
1046 objects
[DUMMY_CLOAK_F
].a_can
= rn2(4);
1047 objects
[DUMMY_CLOAK_G
].a_can
= rn2(4);
1048 objects
[DUMMY_CLOAK_H
].a_can
= rn2(4);
1049 objects
[DUMMY_CLOAK_I
].a_can
= rn2(4);
1050 objects
[DUMMY_CLOAK_J
].a_can
= rn2(4);
1051 objects
[DUMMY_CLOAK_K
].a_can
= rn2(4);
1052 objects
[DUMMY_CLOAK_L
].a_can
= rn2(4);
1053 objects
[DUMMY_CLOAK_M
].a_can
= rn2(4);
1054 objects
[DUMMY_CLOAK_N
].a_can
= rn2(4);
1055 objects
[DUMMY_CLOAK_O
].a_can
= rn2(4);
1056 objects
[DUMMY_CLOAK_P
].a_can
= rn2(4);
1057 objects
[DUMMY_CLOAK_Q
].a_can
= rn2(4);
1058 objects
[DUMMY_CLOAK_R
].a_can
= rn2(4);
1059 objects
[DUMMY_CLOAK_S
].a_can
= rn2(4);
1060 objects
[DUMMY_CLOAK_T
].a_can
= rn2(4);
1061 objects
[DUMMY_CLOAK_U
].a_can
= rn2(4);
1062 objects
[DUMMY_CLOAK_V
].a_can
= rn2(4);
1063 objects
[DUMMY_CLOAK_W
].a_can
= rn2(4);
1064 objects
[DUMMY_CLOAK_X
].a_can
= rn2(4);
1065 objects
[DUMMY_CLOAK_Y
].a_can
= rn2(4);
1066 objects
[DUMMY_CLOAK_Z
].a_can
= rn2(4);
1067 objects
[DUMMY_CLOAK_AA
].a_can
= rn2(4);
1068 objects
[DUMMY_CLOAK_AB
].a_can
= rn2(4);
1069 objects
[DUMMY_CLOAK_AC
].a_can
= rn2(4);
1070 objects
[DUMMY_CLOAK_AD
].a_can
= rn2(4);
1071 objects
[DUMMY_CLOAK_AE
].a_can
= rn2(4);
1072 objects
[DUMMY_CLOAK_AF
].a_can
= rn2(4);
1073 objects
[DUMMY_CLOAK_AG
].a_can
= rn2(4);
1074 objects
[DUMMY_CLOAK_AH
].a_can
= rn2(4);
1075 objects
[DUMMY_CLOAK_AI
].a_can
= rn2(4);
1076 objects
[DUMMY_CLOAK_AJ
].a_can
= rn2(4);
1077 objects
[DUMMY_CLOAK_AK
].a_can
= rn2(4);
1078 objects
[DUMMY_CLOAK_AL
].a_can
= rn2(4);
1079 objects
[DUMMY_CLOAK_AM
].a_can
= rn2(4);
1080 objects
[DUMMY_CLOAK_AN
].a_can
= rn2(4);
1081 objects
[DUMMY_CLOAK_AO
].a_can
= rn2(4);
1082 objects
[DUMMY_CLOAK_AP
].a_can
= rn2(4);
1083 objects
[DUMMY_CLOAK_AQ
].a_can
= rn2(4);
1084 objects
[DUMMY_CLOAK_AR
].a_can
= rn2(4);
1085 objects
[DUMMY_CLOAK_AS
].a_can
= rn2(4);
1086 objects
[DUMMY_CLOAK_AT
].a_can
= rn2(4);
1087 objects
[DUMMY_CLOAK_AU
].a_can
= rn2(4);
1088 objects
[DUMMY_CLOAK_AV
].a_can
= rn2(4);
1089 objects
[DUMMY_CLOAK_AW
].a_can
= rn2(4);
1090 objects
[DUMMY_CLOAK_AX
].a_can
= rn2(4);
1092 objects
[DUMMY_CLOAK_A
].a_ac
= 0;
1093 if (rn2(10)) objects
[DUMMY_CLOAK_A
].a_ac
= 1;
1095 if (objects
[DUMMY_CLOAK_A
].a_ac
< 20) objects
[DUMMY_CLOAK_A
].a_ac
++;
1097 objects
[DUMMY_CLOAK_B
].a_ac
= 0;
1098 if (rn2(10)) objects
[DUMMY_CLOAK_B
].a_ac
= 1;
1100 if (objects
[DUMMY_CLOAK_B
].a_ac
< 20) objects
[DUMMY_CLOAK_B
].a_ac
++;
1102 objects
[DUMMY_CLOAK_C
].a_ac
= 0;
1103 if (rn2(10)) objects
[DUMMY_CLOAK_C
].a_ac
= 1;
1105 if (objects
[DUMMY_CLOAK_C
].a_ac
< 20) objects
[DUMMY_CLOAK_C
].a_ac
++;
1107 objects
[DUMMY_CLOAK_D
].a_ac
= 0;
1108 if (rn2(10)) objects
[DUMMY_CLOAK_D
].a_ac
= 1;
1110 if (objects
[DUMMY_CLOAK_D
].a_ac
< 20) objects
[DUMMY_CLOAK_D
].a_ac
++;
1112 objects
[DUMMY_CLOAK_E
].a_ac
= 0;
1113 if (rn2(10)) objects
[DUMMY_CLOAK_E
].a_ac
= 1;
1115 if (objects
[DUMMY_CLOAK_E
].a_ac
< 20) objects
[DUMMY_CLOAK_E
].a_ac
++;
1117 objects
[DUMMY_CLOAK_F
].a_ac
= 0;
1118 if (rn2(10)) objects
[DUMMY_CLOAK_F
].a_ac
= 1;
1120 if (objects
[DUMMY_CLOAK_F
].a_ac
< 20) objects
[DUMMY_CLOAK_F
].a_ac
++;
1122 objects
[DUMMY_CLOAK_G
].a_ac
= 0;
1123 if (rn2(10)) objects
[DUMMY_CLOAK_G
].a_ac
= 1;
1125 if (objects
[DUMMY_CLOAK_G
].a_ac
< 20) objects
[DUMMY_CLOAK_G
].a_ac
++;
1127 objects
[DUMMY_CLOAK_H
].a_ac
= 0;
1128 if (rn2(10)) objects
[DUMMY_CLOAK_H
].a_ac
= 1;
1130 if (objects
[DUMMY_CLOAK_H
].a_ac
< 20) objects
[DUMMY_CLOAK_H
].a_ac
++;
1132 objects
[DUMMY_CLOAK_I
].a_ac
= 0;
1133 if (rn2(10)) objects
[DUMMY_CLOAK_I
].a_ac
= 1;
1135 if (objects
[DUMMY_CLOAK_I
].a_ac
< 20) objects
[DUMMY_CLOAK_I
].a_ac
++;
1137 objects
[DUMMY_CLOAK_J
].a_ac
= 0;
1138 if (rn2(10)) objects
[DUMMY_CLOAK_J
].a_ac
= 1;
1140 if (objects
[DUMMY_CLOAK_J
].a_ac
< 20) objects
[DUMMY_CLOAK_J
].a_ac
++;
1142 objects
[DUMMY_CLOAK_K
].a_ac
= 0;
1143 if (rn2(10)) objects
[DUMMY_CLOAK_K
].a_ac
= 1;
1145 if (objects
[DUMMY_CLOAK_K
].a_ac
< 20) objects
[DUMMY_CLOAK_K
].a_ac
++;
1147 objects
[DUMMY_CLOAK_L
].a_ac
= 0;
1148 if (rn2(10)) objects
[DUMMY_CLOAK_L
].a_ac
= 1;
1150 if (objects
[DUMMY_CLOAK_L
].a_ac
< 20) objects
[DUMMY_CLOAK_L
].a_ac
++;
1152 objects
[DUMMY_CLOAK_M
].a_ac
= 0;
1153 if (rn2(10)) objects
[DUMMY_CLOAK_M
].a_ac
= 1;
1155 if (objects
[DUMMY_CLOAK_M
].a_ac
< 20) objects
[DUMMY_CLOAK_M
].a_ac
++;
1157 objects
[DUMMY_CLOAK_N
].a_ac
= 0;
1158 if (rn2(10)) objects
[DUMMY_CLOAK_N
].a_ac
= 1;
1160 if (objects
[DUMMY_CLOAK_N
].a_ac
< 20) objects
[DUMMY_CLOAK_N
].a_ac
++;
1162 objects
[DUMMY_CLOAK_O
].a_ac
= 0;
1163 if (rn2(10)) objects
[DUMMY_CLOAK_O
].a_ac
= 1;
1165 if (objects
[DUMMY_CLOAK_O
].a_ac
< 20) objects
[DUMMY_CLOAK_O
].a_ac
++;
1167 objects
[DUMMY_CLOAK_P
].a_ac
= 0;
1168 if (rn2(10)) objects
[DUMMY_CLOAK_P
].a_ac
= 1;
1170 if (objects
[DUMMY_CLOAK_P
].a_ac
< 20) objects
[DUMMY_CLOAK_P
].a_ac
++;
1172 objects
[DUMMY_CLOAK_Q
].a_ac
= 0;
1173 if (rn2(10)) objects
[DUMMY_CLOAK_Q
].a_ac
= 1;
1175 if (objects
[DUMMY_CLOAK_Q
].a_ac
< 20) objects
[DUMMY_CLOAK_Q
].a_ac
++;
1177 objects
[DUMMY_CLOAK_R
].a_ac
= 0;
1178 if (rn2(10)) objects
[DUMMY_CLOAK_R
].a_ac
= 1;
1180 if (objects
[DUMMY_CLOAK_R
].a_ac
< 20) objects
[DUMMY_CLOAK_R
].a_ac
++;
1182 objects
[DUMMY_CLOAK_S
].a_ac
= 0;
1183 if (rn2(10)) objects
[DUMMY_CLOAK_S
].a_ac
= 1;
1185 if (objects
[DUMMY_CLOAK_S
].a_ac
< 20) objects
[DUMMY_CLOAK_S
].a_ac
++;
1187 objects
[DUMMY_CLOAK_T
].a_ac
= 0;
1188 if (rn2(10)) objects
[DUMMY_CLOAK_T
].a_ac
= 1;
1190 if (objects
[DUMMY_CLOAK_T
].a_ac
< 20) objects
[DUMMY_CLOAK_T
].a_ac
++;
1192 objects
[DUMMY_CLOAK_U
].a_ac
= 0;
1193 if (rn2(10)) objects
[DUMMY_CLOAK_U
].a_ac
= 1;
1195 if (objects
[DUMMY_CLOAK_U
].a_ac
< 20) objects
[DUMMY_CLOAK_U
].a_ac
++;
1197 objects
[DUMMY_CLOAK_V
].a_ac
= 0;
1198 if (rn2(10)) objects
[DUMMY_CLOAK_V
].a_ac
= 1;
1200 if (objects
[DUMMY_CLOAK_V
].a_ac
< 20) objects
[DUMMY_CLOAK_V
].a_ac
++;
1202 objects
[DUMMY_CLOAK_W
].a_ac
= 0;
1203 if (rn2(10)) objects
[DUMMY_CLOAK_W
].a_ac
= 1;
1205 if (objects
[DUMMY_CLOAK_W
].a_ac
< 20) objects
[DUMMY_CLOAK_W
].a_ac
++;
1207 objects
[DUMMY_CLOAK_X
].a_ac
= 0;
1208 if (rn2(10)) objects
[DUMMY_CLOAK_X
].a_ac
= 1;
1210 if (objects
[DUMMY_CLOAK_X
].a_ac
< 20) objects
[DUMMY_CLOAK_X
].a_ac
++;
1212 objects
[DUMMY_CLOAK_Y
].a_ac
= 0;
1213 if (rn2(10)) objects
[DUMMY_CLOAK_Y
].a_ac
= 1;
1215 if (objects
[DUMMY_CLOAK_Y
].a_ac
< 20) objects
[DUMMY_CLOAK_Y
].a_ac
++;
1217 objects
[DUMMY_CLOAK_Z
].a_ac
= 0;
1218 if (rn2(10)) objects
[DUMMY_CLOAK_Z
].a_ac
= 1;
1220 if (objects
[DUMMY_CLOAK_Z
].a_ac
< 20) objects
[DUMMY_CLOAK_Z
].a_ac
++;
1222 objects
[DUMMY_CLOAK_AA
].a_ac
= 0;
1223 if (rn2(10)) objects
[DUMMY_CLOAK_AA
].a_ac
= 1;
1225 if (objects
[DUMMY_CLOAK_AA
].a_ac
< 20) objects
[DUMMY_CLOAK_AA
].a_ac
++;
1227 objects
[DUMMY_CLOAK_AB
].a_ac
= 0;
1228 if (rn2(10)) objects
[DUMMY_CLOAK_AB
].a_ac
= 1;
1230 if (objects
[DUMMY_CLOAK_AB
].a_ac
< 20) objects
[DUMMY_CLOAK_AB
].a_ac
++;
1232 objects
[DUMMY_CLOAK_AC
].a_ac
= 0;
1233 if (rn2(10)) objects
[DUMMY_CLOAK_AC
].a_ac
= 1;
1235 if (objects
[DUMMY_CLOAK_AC
].a_ac
< 20) objects
[DUMMY_CLOAK_AC
].a_ac
++;
1237 objects
[DUMMY_CLOAK_AD
].a_ac
= 0;
1238 if (rn2(10)) objects
[DUMMY_CLOAK_AD
].a_ac
= 1;
1240 if (objects
[DUMMY_CLOAK_AD
].a_ac
< 20) objects
[DUMMY_CLOAK_AD
].a_ac
++;
1242 objects
[DUMMY_CLOAK_AE
].a_ac
= 0;
1243 if (rn2(10)) objects
[DUMMY_CLOAK_AE
].a_ac
= 1;
1245 if (objects
[DUMMY_CLOAK_AE
].a_ac
< 20) objects
[DUMMY_CLOAK_AE
].a_ac
++;
1247 objects
[DUMMY_CLOAK_AF
].a_ac
= 0;
1248 if (rn2(10)) objects
[DUMMY_CLOAK_AF
].a_ac
= 1;
1250 if (objects
[DUMMY_CLOAK_AF
].a_ac
< 20) objects
[DUMMY_CLOAK_AF
].a_ac
++;
1252 objects
[DUMMY_CLOAK_AG
].a_ac
= 0;
1253 if (rn2(10)) objects
[DUMMY_CLOAK_AG
].a_ac
= 1;
1255 if (objects
[DUMMY_CLOAK_AG
].a_ac
< 20) objects
[DUMMY_CLOAK_AG
].a_ac
++;
1257 objects
[DUMMY_CLOAK_AH
].a_ac
= 0;
1258 if (rn2(10)) objects
[DUMMY_CLOAK_AH
].a_ac
= 1;
1260 if (objects
[DUMMY_CLOAK_AH
].a_ac
< 20) objects
[DUMMY_CLOAK_AH
].a_ac
++;
1262 objects
[DUMMY_CLOAK_AI
].a_ac
= 0;
1263 if (rn2(10)) objects
[DUMMY_CLOAK_AI
].a_ac
= 1;
1265 if (objects
[DUMMY_CLOAK_AI
].a_ac
< 20) objects
[DUMMY_CLOAK_AI
].a_ac
++;
1267 objects
[DUMMY_CLOAK_AJ
].a_ac
= 0;
1268 if (rn2(10)) objects
[DUMMY_CLOAK_AJ
].a_ac
= 1;
1270 if (objects
[DUMMY_CLOAK_AJ
].a_ac
< 20) objects
[DUMMY_CLOAK_AJ
].a_ac
++;
1272 objects
[DUMMY_CLOAK_AK
].a_ac
= 0;
1273 if (rn2(10)) objects
[DUMMY_CLOAK_AK
].a_ac
= 1;
1275 if (objects
[DUMMY_CLOAK_AK
].a_ac
< 20) objects
[DUMMY_CLOAK_AK
].a_ac
++;
1277 objects
[DUMMY_CLOAK_AL
].a_ac
= 0;
1278 if (rn2(10)) objects
[DUMMY_CLOAK_AL
].a_ac
= 1;
1280 if (objects
[DUMMY_CLOAK_AL
].a_ac
< 20) objects
[DUMMY_CLOAK_AL
].a_ac
++;
1282 objects
[DUMMY_CLOAK_AM
].a_ac
= 0;
1283 if (rn2(10)) objects
[DUMMY_CLOAK_AM
].a_ac
= 1;
1285 if (objects
[DUMMY_CLOAK_AM
].a_ac
< 20) objects
[DUMMY_CLOAK_AM
].a_ac
++;
1287 objects
[DUMMY_CLOAK_AN
].a_ac
= 0;
1288 if (rn2(10)) objects
[DUMMY_CLOAK_AN
].a_ac
= 1;
1290 if (objects
[DUMMY_CLOAK_AN
].a_ac
< 20) objects
[DUMMY_CLOAK_AN
].a_ac
++;
1292 objects
[DUMMY_CLOAK_AO
].a_ac
= 0;
1293 if (rn2(10)) objects
[DUMMY_CLOAK_AO
].a_ac
= 1;
1295 if (objects
[DUMMY_CLOAK_AO
].a_ac
< 20) objects
[DUMMY_CLOAK_AO
].a_ac
++;
1297 objects
[DUMMY_CLOAK_AP
].a_ac
= 0;
1298 if (rn2(10)) objects
[DUMMY_CLOAK_AP
].a_ac
= 1;
1300 if (objects
[DUMMY_CLOAK_AP
].a_ac
< 20) objects
[DUMMY_CLOAK_AP
].a_ac
++;
1302 objects
[DUMMY_CLOAK_AQ
].a_ac
= 0;
1303 if (rn2(10)) objects
[DUMMY_CLOAK_AQ
].a_ac
= 1;
1305 if (objects
[DUMMY_CLOAK_AQ
].a_ac
< 20) objects
[DUMMY_CLOAK_AQ
].a_ac
++;
1307 objects
[DUMMY_CLOAK_AR
].a_ac
= 0;
1308 if (rn2(10)) objects
[DUMMY_CLOAK_AR
].a_ac
= 1;
1310 if (objects
[DUMMY_CLOAK_AR
].a_ac
< 20) objects
[DUMMY_CLOAK_AR
].a_ac
++;
1312 objects
[DUMMY_CLOAK_AS
].a_ac
= 0;
1313 if (rn2(10)) objects
[DUMMY_CLOAK_AS
].a_ac
= 1;
1315 if (objects
[DUMMY_CLOAK_AS
].a_ac
< 20) objects
[DUMMY_CLOAK_AS
].a_ac
++;
1317 objects
[DUMMY_CLOAK_AT
].a_ac
= 0;
1318 if (rn2(10)) objects
[DUMMY_CLOAK_AT
].a_ac
= 1;
1320 if (objects
[DUMMY_CLOAK_AT
].a_ac
< 20) objects
[DUMMY_CLOAK_AT
].a_ac
++;
1322 objects
[DUMMY_CLOAK_AU
].a_ac
= 0;
1323 if (rn2(10)) objects
[DUMMY_CLOAK_AU
].a_ac
= 1;
1325 if (objects
[DUMMY_CLOAK_AU
].a_ac
< 20) objects
[DUMMY_CLOAK_AU
].a_ac
++;
1327 objects
[DUMMY_CLOAK_AV
].a_ac
= 0;
1328 if (rn2(10)) objects
[DUMMY_CLOAK_AV
].a_ac
= 1;
1330 if (objects
[DUMMY_CLOAK_AV
].a_ac
< 20) objects
[DUMMY_CLOAK_AV
].a_ac
++;
1332 objects
[DUMMY_CLOAK_AW
].a_ac
= 0;
1333 if (rn2(10)) objects
[DUMMY_CLOAK_AW
].a_ac
= 1;
1335 if (objects
[DUMMY_CLOAK_AW
].a_ac
< 20) objects
[DUMMY_CLOAK_AW
].a_ac
++;
1337 objects
[DUMMY_CLOAK_AX
].a_ac
= 0;
1338 if (rn2(10)) objects
[DUMMY_CLOAK_AX
].a_ac
= 1;
1340 if (objects
[DUMMY_CLOAK_AX
].a_ac
< 20) objects
[DUMMY_CLOAK_AX
].a_ac
++;
1343 objects
[DUMMY_HELMET_A
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1344 objects
[DUMMY_HELMET_B
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1345 objects
[DUMMY_HELMET_C
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1346 objects
[DUMMY_HELMET_D
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1347 objects
[DUMMY_HELMET_E
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1348 objects
[DUMMY_HELMET_F
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1349 objects
[DUMMY_HELMET_G
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1350 objects
[DUMMY_HELMET_H
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1351 objects
[DUMMY_HELMET_I
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1352 objects
[DUMMY_HELMET_J
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1353 objects
[DUMMY_HELMET_K
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1354 objects
[DUMMY_HELMET_L
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1355 objects
[DUMMY_HELMET_M
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1356 objects
[DUMMY_HELMET_N
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1357 objects
[DUMMY_HELMET_O
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1358 objects
[DUMMY_HELMET_P
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1359 objects
[DUMMY_HELMET_Q
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1360 objects
[DUMMY_HELMET_R
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1361 objects
[DUMMY_HELMET_S
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1362 objects
[DUMMY_HELMET_T
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1363 objects
[DUMMY_HELMET_U
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1364 objects
[DUMMY_HELMET_V
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1365 objects
[DUMMY_HELMET_W
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1366 objects
[DUMMY_HELMET_X
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1367 objects
[DUMMY_HELMET_Y
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1368 objects
[DUMMY_HELMET_Z
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1369 objects
[DUMMY_HELMET_AA
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1370 objects
[DUMMY_HELMET_AB
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1371 objects
[DUMMY_HELMET_AC
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1372 objects
[DUMMY_HELMET_AD
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1373 objects
[DUMMY_HELMET_AE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1374 objects
[DUMMY_HELMET_AF
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1375 objects
[DUMMY_HELMET_AG
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1377 objects
[DUMMY_HELMET_A
].a_can
= rnd(10) ? 0 : rnd(3);
1378 objects
[DUMMY_HELMET_B
].a_can
= rnd(10) ? 0 : rnd(3);
1379 objects
[DUMMY_HELMET_C
].a_can
= rnd(10) ? 0 : rnd(3);
1380 objects
[DUMMY_HELMET_D
].a_can
= rnd(10) ? 0 : rnd(3);
1381 objects
[DUMMY_HELMET_E
].a_can
= rnd(10) ? 0 : rnd(3);
1382 objects
[DUMMY_HELMET_F
].a_can
= rnd(10) ? 0 : rnd(3);
1383 objects
[DUMMY_HELMET_G
].a_can
= rnd(10) ? 0 : rnd(3);
1384 objects
[DUMMY_HELMET_H
].a_can
= rnd(10) ? 0 : rnd(3);
1385 objects
[DUMMY_HELMET_I
].a_can
= rnd(10) ? 0 : rnd(3);
1386 objects
[DUMMY_HELMET_J
].a_can
= rnd(10) ? 0 : rnd(3);
1387 objects
[DUMMY_HELMET_K
].a_can
= rnd(10) ? 0 : rnd(3);
1388 objects
[DUMMY_HELMET_L
].a_can
= rnd(10) ? 0 : rnd(3);
1389 objects
[DUMMY_HELMET_M
].a_can
= rnd(10) ? 0 : rnd(3);
1390 objects
[DUMMY_HELMET_N
].a_can
= rnd(10) ? 0 : rnd(3);
1391 objects
[DUMMY_HELMET_O
].a_can
= rnd(10) ? 0 : rnd(3);
1392 objects
[DUMMY_HELMET_P
].a_can
= rnd(10) ? 0 : rnd(3);
1393 objects
[DUMMY_HELMET_Q
].a_can
= rnd(10) ? 0 : rnd(3);
1394 objects
[DUMMY_HELMET_R
].a_can
= rnd(10) ? 0 : rnd(3);
1395 objects
[DUMMY_HELMET_S
].a_can
= rnd(10) ? 0 : rnd(3);
1396 objects
[DUMMY_HELMET_T
].a_can
= rnd(10) ? 0 : rnd(3);
1397 objects
[DUMMY_HELMET_U
].a_can
= rnd(10) ? 0 : rnd(3);
1398 objects
[DUMMY_HELMET_V
].a_can
= rnd(10) ? 0 : rnd(3);
1399 objects
[DUMMY_HELMET_W
].a_can
= rnd(10) ? 0 : rnd(3);
1400 objects
[DUMMY_HELMET_X
].a_can
= rnd(10) ? 0 : rnd(3);
1401 objects
[DUMMY_HELMET_Y
].a_can
= rnd(10) ? 0 : rnd(3);
1402 objects
[DUMMY_HELMET_Z
].a_can
= rnd(10) ? 0 : rnd(3);
1403 objects
[DUMMY_HELMET_AA
].a_can
= rnd(10) ? 0 : rnd(3);
1404 objects
[DUMMY_HELMET_AB
].a_can
= rnd(10) ? 0 : rnd(3);
1405 objects
[DUMMY_HELMET_AC
].a_can
= rnd(10) ? 0 : rnd(3);
1406 objects
[DUMMY_HELMET_AD
].a_can
= rnd(10) ? 0 : rnd(3);
1407 objects
[DUMMY_HELMET_AE
].a_can
= rnd(10) ? 0 : rnd(3);
1408 objects
[DUMMY_HELMET_AF
].a_can
= rnd(10) ? 0 : rnd(3);
1409 objects
[DUMMY_HELMET_AG
].a_can
= rnd(10) ? 0 : rnd(3);
1411 objects
[DUMMY_HELMET_A
].a_ac
= 0;
1412 if (rn2(10)) objects
[DUMMY_HELMET_A
].a_ac
= 1;
1414 if (objects
[DUMMY_HELMET_A
].a_ac
< 20) objects
[DUMMY_HELMET_A
].a_ac
++;
1416 objects
[DUMMY_HELMET_B
].a_ac
= 0;
1417 if (rn2(10)) objects
[DUMMY_HELMET_B
].a_ac
= 1;
1419 if (objects
[DUMMY_HELMET_B
].a_ac
< 20) objects
[DUMMY_HELMET_B
].a_ac
++;
1421 objects
[DUMMY_HELMET_C
].a_ac
= 0;
1422 if (rn2(10)) objects
[DUMMY_HELMET_C
].a_ac
= 1;
1424 if (objects
[DUMMY_HELMET_C
].a_ac
< 20) objects
[DUMMY_HELMET_C
].a_ac
++;
1426 objects
[DUMMY_HELMET_D
].a_ac
= 0;
1427 if (rn2(10)) objects
[DUMMY_HELMET_D
].a_ac
= 1;
1429 if (objects
[DUMMY_HELMET_D
].a_ac
< 20) objects
[DUMMY_HELMET_D
].a_ac
++;
1431 objects
[DUMMY_HELMET_E
].a_ac
= 0;
1432 if (rn2(10)) objects
[DUMMY_HELMET_E
].a_ac
= 1;
1434 if (objects
[DUMMY_HELMET_E
].a_ac
< 20) objects
[DUMMY_HELMET_E
].a_ac
++;
1436 objects
[DUMMY_HELMET_F
].a_ac
= 0;
1437 if (rn2(10)) objects
[DUMMY_HELMET_F
].a_ac
= 1;
1439 if (objects
[DUMMY_HELMET_F
].a_ac
< 20) objects
[DUMMY_HELMET_F
].a_ac
++;
1441 objects
[DUMMY_HELMET_G
].a_ac
= 0;
1442 if (rn2(10)) objects
[DUMMY_HELMET_G
].a_ac
= 1;
1444 if (objects
[DUMMY_HELMET_G
].a_ac
< 20) objects
[DUMMY_HELMET_G
].a_ac
++;
1446 objects
[DUMMY_HELMET_H
].a_ac
= 0;
1447 if (rn2(10)) objects
[DUMMY_HELMET_H
].a_ac
= 1;
1449 if (objects
[DUMMY_HELMET_H
].a_ac
< 20) objects
[DUMMY_HELMET_H
].a_ac
++;
1451 objects
[DUMMY_HELMET_I
].a_ac
= 0;
1452 if (rn2(10)) objects
[DUMMY_HELMET_I
].a_ac
= 1;
1454 if (objects
[DUMMY_HELMET_I
].a_ac
< 20) objects
[DUMMY_HELMET_I
].a_ac
++;
1456 objects
[DUMMY_HELMET_J
].a_ac
= 0;
1457 if (rn2(10)) objects
[DUMMY_HELMET_J
].a_ac
= 1;
1459 if (objects
[DUMMY_HELMET_J
].a_ac
< 20) objects
[DUMMY_HELMET_J
].a_ac
++;
1461 objects
[DUMMY_HELMET_K
].a_ac
= 0;
1462 if (rn2(10)) objects
[DUMMY_HELMET_K
].a_ac
= 1;
1464 if (objects
[DUMMY_HELMET_K
].a_ac
< 20) objects
[DUMMY_HELMET_K
].a_ac
++;
1466 objects
[DUMMY_HELMET_L
].a_ac
= 0;
1467 if (rn2(10)) objects
[DUMMY_HELMET_L
].a_ac
= 1;
1469 if (objects
[DUMMY_HELMET_L
].a_ac
< 20) objects
[DUMMY_HELMET_L
].a_ac
++;
1471 objects
[DUMMY_HELMET_M
].a_ac
= 0;
1472 if (rn2(10)) objects
[DUMMY_HELMET_M
].a_ac
= 1;
1474 if (objects
[DUMMY_HELMET_M
].a_ac
< 20) objects
[DUMMY_HELMET_M
].a_ac
++;
1476 objects
[DUMMY_HELMET_N
].a_ac
= 0;
1477 if (rn2(10)) objects
[DUMMY_HELMET_N
].a_ac
= 1;
1479 if (objects
[DUMMY_HELMET_N
].a_ac
< 20) objects
[DUMMY_HELMET_N
].a_ac
++;
1481 objects
[DUMMY_HELMET_O
].a_ac
= 0;
1482 if (rn2(10)) objects
[DUMMY_HELMET_O
].a_ac
= 1;
1484 if (objects
[DUMMY_HELMET_O
].a_ac
< 20) objects
[DUMMY_HELMET_O
].a_ac
++;
1486 objects
[DUMMY_HELMET_P
].a_ac
= 0;
1487 if (rn2(10)) objects
[DUMMY_HELMET_P
].a_ac
= 1;
1489 if (objects
[DUMMY_HELMET_P
].a_ac
< 20) objects
[DUMMY_HELMET_P
].a_ac
++;
1491 objects
[DUMMY_HELMET_Q
].a_ac
= 0;
1492 if (rn2(10)) objects
[DUMMY_HELMET_Q
].a_ac
= 1;
1494 if (objects
[DUMMY_HELMET_Q
].a_ac
< 20) objects
[DUMMY_HELMET_Q
].a_ac
++;
1496 objects
[DUMMY_HELMET_R
].a_ac
= 0;
1497 if (rn2(10)) objects
[DUMMY_HELMET_R
].a_ac
= 1;
1499 if (objects
[DUMMY_HELMET_R
].a_ac
< 20) objects
[DUMMY_HELMET_R
].a_ac
++;
1501 objects
[DUMMY_HELMET_S
].a_ac
= 0;
1502 if (rn2(10)) objects
[DUMMY_HELMET_S
].a_ac
= 1;
1504 if (objects
[DUMMY_HELMET_S
].a_ac
< 20) objects
[DUMMY_HELMET_S
].a_ac
++;
1506 objects
[DUMMY_HELMET_T
].a_ac
= 0;
1507 if (rn2(10)) objects
[DUMMY_HELMET_T
].a_ac
= 1;
1509 if (objects
[DUMMY_HELMET_T
].a_ac
< 20) objects
[DUMMY_HELMET_T
].a_ac
++;
1511 objects
[DUMMY_HELMET_U
].a_ac
= 0;
1512 if (rn2(10)) objects
[DUMMY_HELMET_U
].a_ac
= 1;
1514 if (objects
[DUMMY_HELMET_U
].a_ac
< 20) objects
[DUMMY_HELMET_U
].a_ac
++;
1516 objects
[DUMMY_HELMET_V
].a_ac
= 0;
1517 if (rn2(10)) objects
[DUMMY_HELMET_V
].a_ac
= 1;
1519 if (objects
[DUMMY_HELMET_V
].a_ac
< 20) objects
[DUMMY_HELMET_V
].a_ac
++;
1521 objects
[DUMMY_HELMET_W
].a_ac
= 0;
1522 if (rn2(10)) objects
[DUMMY_HELMET_W
].a_ac
= 1;
1524 if (objects
[DUMMY_HELMET_W
].a_ac
< 20) objects
[DUMMY_HELMET_W
].a_ac
++;
1526 objects
[DUMMY_HELMET_X
].a_ac
= 0;
1527 if (rn2(10)) objects
[DUMMY_HELMET_X
].a_ac
= 1;
1529 if (objects
[DUMMY_HELMET_X
].a_ac
< 20) objects
[DUMMY_HELMET_X
].a_ac
++;
1531 objects
[DUMMY_HELMET_Y
].a_ac
= 0;
1532 if (rn2(10)) objects
[DUMMY_HELMET_Y
].a_ac
= 1;
1534 if (objects
[DUMMY_HELMET_Y
].a_ac
< 20) objects
[DUMMY_HELMET_Y
].a_ac
++;
1536 objects
[DUMMY_HELMET_Z
].a_ac
= 0;
1537 if (rn2(10)) objects
[DUMMY_HELMET_Z
].a_ac
= 1;
1539 if (objects
[DUMMY_HELMET_Z
].a_ac
< 20) objects
[DUMMY_HELMET_Z
].a_ac
++;
1541 objects
[DUMMY_HELMET_AA
].a_ac
= 0;
1542 if (rn2(10)) objects
[DUMMY_HELMET_AA
].a_ac
= 1;
1544 if (objects
[DUMMY_HELMET_AA
].a_ac
< 20) objects
[DUMMY_HELMET_AA
].a_ac
++;
1546 objects
[DUMMY_HELMET_AB
].a_ac
= 0;
1547 if (rn2(10)) objects
[DUMMY_HELMET_AB
].a_ac
= 1;
1549 if (objects
[DUMMY_HELMET_AB
].a_ac
< 20) objects
[DUMMY_HELMET_AB
].a_ac
++;
1551 objects
[DUMMY_HELMET_AC
].a_ac
= 0;
1552 if (rn2(10)) objects
[DUMMY_HELMET_AC
].a_ac
= 1;
1554 if (objects
[DUMMY_HELMET_AC
].a_ac
< 20) objects
[DUMMY_HELMET_AC
].a_ac
++;
1556 objects
[DUMMY_HELMET_AD
].a_ac
= 0;
1557 if (rn2(10)) objects
[DUMMY_HELMET_AD
].a_ac
= 1;
1559 if (objects
[DUMMY_HELMET_AD
].a_ac
< 20) objects
[DUMMY_HELMET_AD
].a_ac
++;
1561 objects
[DUMMY_HELMET_AE
].a_ac
= 0;
1562 if (rn2(10)) objects
[DUMMY_HELMET_AE
].a_ac
= 1;
1564 if (objects
[DUMMY_HELMET_AE
].a_ac
< 20) objects
[DUMMY_HELMET_AE
].a_ac
++;
1566 objects
[DUMMY_HELMET_AF
].a_ac
= 0;
1567 if (rn2(10)) objects
[DUMMY_HELMET_AF
].a_ac
= 1;
1569 if (objects
[DUMMY_HELMET_AF
].a_ac
< 20) objects
[DUMMY_HELMET_AF
].a_ac
++;
1571 objects
[DUMMY_HELMET_AG
].a_ac
= 0;
1572 if (rn2(10)) objects
[DUMMY_HELMET_AG
].a_ac
= 1;
1574 if (objects
[DUMMY_HELMET_AG
].a_ac
< 20) objects
[DUMMY_HELMET_AG
].a_ac
++;
1577 objects
[DUMMY_GLOVES_A
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1578 objects
[DUMMY_GLOVES_B
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1579 objects
[DUMMY_GLOVES_C
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1580 objects
[DUMMY_GLOVES_D
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1581 objects
[DUMMY_GLOVES_E
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1582 objects
[DUMMY_GLOVES_F
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1583 objects
[DUMMY_GLOVES_G
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1584 objects
[DUMMY_GLOVES_H
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1585 objects
[DUMMY_GLOVES_I
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1586 objects
[DUMMY_GLOVES_J
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1587 objects
[DUMMY_GLOVES_K
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1588 objects
[DUMMY_GLOVES_L
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1589 objects
[DUMMY_GLOVES_M
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1590 objects
[DUMMY_GLOVES_N
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1591 objects
[DUMMY_GLOVES_O
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1592 objects
[DUMMY_GLOVES_P
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1593 objects
[DUMMY_GLOVES_Q
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1594 objects
[DUMMY_GLOVES_R
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1595 objects
[DUMMY_GLOVES_S
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1596 objects
[DUMMY_GLOVES_T
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1597 objects
[DUMMY_GLOVES_U
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1598 objects
[DUMMY_GLOVES_V
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1599 objects
[DUMMY_GLOVES_W
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1600 objects
[DUMMY_GLOVES_X
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1601 objects
[DUMMY_GLOVES_Y
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1602 objects
[DUMMY_GLOVES_Z
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1603 objects
[DUMMY_GLOVES_AA
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1604 objects
[DUMMY_GLOVES_AB
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1605 objects
[DUMMY_GLOVES_AC
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1606 objects
[DUMMY_GLOVES_AD
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1607 objects
[DUMMY_GLOVES_AE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1608 objects
[DUMMY_GLOVES_AF
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1609 objects
[DUMMY_GLOVES_AG
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1610 objects
[DUMMY_GLOVES_AH
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1611 objects
[DUMMY_GLOVES_AI
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1613 objects
[DUMMY_GLOVES_A
].a_can
= rnd(10) ? 0 : rnd(3);
1614 objects
[DUMMY_GLOVES_B
].a_can
= rnd(10) ? 0 : rnd(3);
1615 objects
[DUMMY_GLOVES_C
].a_can
= rnd(10) ? 0 : rnd(3);
1616 objects
[DUMMY_GLOVES_D
].a_can
= rnd(10) ? 0 : rnd(3);
1617 objects
[DUMMY_GLOVES_E
].a_can
= rnd(10) ? 0 : rnd(3);
1618 objects
[DUMMY_GLOVES_F
].a_can
= rnd(10) ? 0 : rnd(3);
1619 objects
[DUMMY_GLOVES_G
].a_can
= rnd(10) ? 0 : rnd(3);
1620 objects
[DUMMY_GLOVES_H
].a_can
= rnd(10) ? 0 : rnd(3);
1621 objects
[DUMMY_GLOVES_I
].a_can
= rnd(10) ? 0 : rnd(3);
1622 objects
[DUMMY_GLOVES_J
].a_can
= rnd(10) ? 0 : rnd(3);
1623 objects
[DUMMY_GLOVES_K
].a_can
= rnd(10) ? 0 : rnd(3);
1624 objects
[DUMMY_GLOVES_L
].a_can
= rnd(10) ? 0 : rnd(3);
1625 objects
[DUMMY_GLOVES_M
].a_can
= rnd(10) ? 0 : rnd(3);
1626 objects
[DUMMY_GLOVES_N
].a_can
= rnd(10) ? 0 : rnd(3);
1627 objects
[DUMMY_GLOVES_O
].a_can
= rnd(10) ? 0 : rnd(3);
1628 objects
[DUMMY_GLOVES_P
].a_can
= rnd(10) ? 0 : rnd(3);
1629 objects
[DUMMY_GLOVES_Q
].a_can
= rnd(10) ? 0 : rnd(3);
1630 objects
[DUMMY_GLOVES_R
].a_can
= rnd(10) ? 0 : rnd(3);
1631 objects
[DUMMY_GLOVES_S
].a_can
= rnd(10) ? 0 : rnd(3);
1632 objects
[DUMMY_GLOVES_T
].a_can
= rnd(10) ? 0 : rnd(3);
1633 objects
[DUMMY_GLOVES_U
].a_can
= rnd(10) ? 0 : rnd(3);
1634 objects
[DUMMY_GLOVES_V
].a_can
= rnd(10) ? 0 : rnd(3);
1635 objects
[DUMMY_GLOVES_W
].a_can
= rnd(10) ? 0 : rnd(3);
1636 objects
[DUMMY_GLOVES_X
].a_can
= rnd(10) ? 0 : rnd(3);
1637 objects
[DUMMY_GLOVES_Y
].a_can
= rnd(10) ? 0 : rnd(3);
1638 objects
[DUMMY_GLOVES_Z
].a_can
= rnd(10) ? 0 : rnd(3);
1639 objects
[DUMMY_GLOVES_AA
].a_can
= rnd(10) ? 0 : rnd(3);
1640 objects
[DUMMY_GLOVES_AB
].a_can
= rnd(10) ? 0 : rnd(3);
1641 objects
[DUMMY_GLOVES_AC
].a_can
= rnd(10) ? 0 : rnd(3);
1642 objects
[DUMMY_GLOVES_AD
].a_can
= rnd(10) ? 0 : rnd(3);
1643 objects
[DUMMY_GLOVES_AE
].a_can
= rnd(10) ? 0 : rnd(3);
1644 objects
[DUMMY_GLOVES_AF
].a_can
= rnd(10) ? 0 : rnd(3);
1645 objects
[DUMMY_GLOVES_AG
].a_can
= rnd(10) ? 0 : rnd(3);
1646 objects
[DUMMY_GLOVES_AH
].a_can
= rnd(10) ? 0 : rnd(3);
1647 objects
[DUMMY_GLOVES_AI
].a_can
= rnd(10) ? 0 : rnd(3);
1649 objects
[DUMMY_GLOVES_A
].a_ac
= 0;
1650 if (rn2(10)) objects
[DUMMY_GLOVES_A
].a_ac
= 1;
1652 if (objects
[DUMMY_GLOVES_A
].a_ac
< 20) objects
[DUMMY_GLOVES_A
].a_ac
++;
1654 objects
[DUMMY_GLOVES_B
].a_ac
= 0;
1655 if (rn2(10)) objects
[DUMMY_GLOVES_B
].a_ac
= 1;
1657 if (objects
[DUMMY_GLOVES_B
].a_ac
< 20) objects
[DUMMY_GLOVES_B
].a_ac
++;
1659 objects
[DUMMY_GLOVES_C
].a_ac
= 0;
1660 if (rn2(10)) objects
[DUMMY_GLOVES_C
].a_ac
= 1;
1662 if (objects
[DUMMY_GLOVES_C
].a_ac
< 20) objects
[DUMMY_GLOVES_C
].a_ac
++;
1664 objects
[DUMMY_GLOVES_D
].a_ac
= 0;
1665 if (rn2(10)) objects
[DUMMY_GLOVES_D
].a_ac
= 1;
1667 if (objects
[DUMMY_GLOVES_D
].a_ac
< 20) objects
[DUMMY_GLOVES_D
].a_ac
++;
1669 objects
[DUMMY_GLOVES_E
].a_ac
= 0;
1670 if (rn2(10)) objects
[DUMMY_GLOVES_E
].a_ac
= 1;
1672 if (objects
[DUMMY_GLOVES_E
].a_ac
< 20) objects
[DUMMY_GLOVES_E
].a_ac
++;
1674 objects
[DUMMY_GLOVES_F
].a_ac
= 0;
1675 if (rn2(10)) objects
[DUMMY_GLOVES_F
].a_ac
= 1;
1677 if (objects
[DUMMY_GLOVES_F
].a_ac
< 20) objects
[DUMMY_GLOVES_F
].a_ac
++;
1679 objects
[DUMMY_GLOVES_G
].a_ac
= 0;
1680 if (rn2(10)) objects
[DUMMY_GLOVES_G
].a_ac
= 1;
1682 if (objects
[DUMMY_GLOVES_G
].a_ac
< 20) objects
[DUMMY_GLOVES_G
].a_ac
++;
1684 objects
[DUMMY_GLOVES_H
].a_ac
= 0;
1685 if (rn2(10)) objects
[DUMMY_GLOVES_H
].a_ac
= 1;
1687 if (objects
[DUMMY_GLOVES_H
].a_ac
< 20) objects
[DUMMY_GLOVES_H
].a_ac
++;
1689 objects
[DUMMY_GLOVES_I
].a_ac
= 0;
1690 if (rn2(10)) objects
[DUMMY_GLOVES_I
].a_ac
= 1;
1692 if (objects
[DUMMY_GLOVES_I
].a_ac
< 20) objects
[DUMMY_GLOVES_I
].a_ac
++;
1694 objects
[DUMMY_GLOVES_J
].a_ac
= 0;
1695 if (rn2(10)) objects
[DUMMY_GLOVES_J
].a_ac
= 1;
1697 if (objects
[DUMMY_GLOVES_J
].a_ac
< 20) objects
[DUMMY_GLOVES_J
].a_ac
++;
1699 objects
[DUMMY_GLOVES_K
].a_ac
= 0;
1700 if (rn2(10)) objects
[DUMMY_GLOVES_K
].a_ac
= 1;
1702 if (objects
[DUMMY_GLOVES_K
].a_ac
< 20) objects
[DUMMY_GLOVES_K
].a_ac
++;
1704 objects
[DUMMY_GLOVES_L
].a_ac
= 0;
1705 if (rn2(10)) objects
[DUMMY_GLOVES_L
].a_ac
= 1;
1707 if (objects
[DUMMY_GLOVES_L
].a_ac
< 20) objects
[DUMMY_GLOVES_L
].a_ac
++;
1709 objects
[DUMMY_GLOVES_M
].a_ac
= 0;
1710 if (rn2(10)) objects
[DUMMY_GLOVES_M
].a_ac
= 1;
1712 if (objects
[DUMMY_GLOVES_M
].a_ac
< 20) objects
[DUMMY_GLOVES_M
].a_ac
++;
1714 objects
[DUMMY_GLOVES_N
].a_ac
= 0;
1715 if (rn2(10)) objects
[DUMMY_GLOVES_N
].a_ac
= 1;
1717 if (objects
[DUMMY_GLOVES_N
].a_ac
< 20) objects
[DUMMY_GLOVES_N
].a_ac
++;
1719 objects
[DUMMY_GLOVES_O
].a_ac
= 0;
1720 if (rn2(10)) objects
[DUMMY_GLOVES_O
].a_ac
= 1;
1722 if (objects
[DUMMY_GLOVES_O
].a_ac
< 20) objects
[DUMMY_GLOVES_O
].a_ac
++;
1724 objects
[DUMMY_GLOVES_P
].a_ac
= 0;
1725 if (rn2(10)) objects
[DUMMY_GLOVES_P
].a_ac
= 1;
1727 if (objects
[DUMMY_GLOVES_P
].a_ac
< 20) objects
[DUMMY_GLOVES_P
].a_ac
++;
1729 objects
[DUMMY_GLOVES_Q
].a_ac
= 0;
1730 if (rn2(10)) objects
[DUMMY_GLOVES_Q
].a_ac
= 1;
1732 if (objects
[DUMMY_GLOVES_Q
].a_ac
< 20) objects
[DUMMY_GLOVES_Q
].a_ac
++;
1734 objects
[DUMMY_GLOVES_R
].a_ac
= 0;
1735 if (rn2(10)) objects
[DUMMY_GLOVES_R
].a_ac
= 1;
1737 if (objects
[DUMMY_GLOVES_R
].a_ac
< 20) objects
[DUMMY_GLOVES_R
].a_ac
++;
1739 objects
[DUMMY_GLOVES_S
].a_ac
= 0;
1740 if (rn2(10)) objects
[DUMMY_GLOVES_S
].a_ac
= 1;
1742 if (objects
[DUMMY_GLOVES_S
].a_ac
< 20) objects
[DUMMY_GLOVES_S
].a_ac
++;
1744 objects
[DUMMY_GLOVES_T
].a_ac
= 0;
1745 if (rn2(10)) objects
[DUMMY_GLOVES_T
].a_ac
= 1;
1747 if (objects
[DUMMY_GLOVES_T
].a_ac
< 20) objects
[DUMMY_GLOVES_T
].a_ac
++;
1749 objects
[DUMMY_GLOVES_U
].a_ac
= 0;
1750 if (rn2(10)) objects
[DUMMY_GLOVES_U
].a_ac
= 1;
1752 if (objects
[DUMMY_GLOVES_U
].a_ac
< 20) objects
[DUMMY_GLOVES_U
].a_ac
++;
1754 objects
[DUMMY_GLOVES_V
].a_ac
= 0;
1755 if (rn2(10)) objects
[DUMMY_GLOVES_V
].a_ac
= 1;
1757 if (objects
[DUMMY_GLOVES_V
].a_ac
< 20) objects
[DUMMY_GLOVES_V
].a_ac
++;
1759 objects
[DUMMY_GLOVES_W
].a_ac
= 0;
1760 if (rn2(10)) objects
[DUMMY_GLOVES_W
].a_ac
= 1;
1762 if (objects
[DUMMY_GLOVES_W
].a_ac
< 20) objects
[DUMMY_GLOVES_W
].a_ac
++;
1764 objects
[DUMMY_GLOVES_X
].a_ac
= 0;
1765 if (rn2(10)) objects
[DUMMY_GLOVES_X
].a_ac
= 1;
1767 if (objects
[DUMMY_GLOVES_X
].a_ac
< 20) objects
[DUMMY_GLOVES_X
].a_ac
++;
1769 objects
[DUMMY_GLOVES_Y
].a_ac
= 0;
1770 if (rn2(10)) objects
[DUMMY_GLOVES_Y
].a_ac
= 1;
1772 if (objects
[DUMMY_GLOVES_Y
].a_ac
< 20) objects
[DUMMY_GLOVES_Y
].a_ac
++;
1774 objects
[DUMMY_GLOVES_Z
].a_ac
= 0;
1775 if (rn2(10)) objects
[DUMMY_GLOVES_Z
].a_ac
= 1;
1777 if (objects
[DUMMY_GLOVES_Z
].a_ac
< 20) objects
[DUMMY_GLOVES_Z
].a_ac
++;
1779 objects
[DUMMY_GLOVES_AA
].a_ac
= 0;
1780 if (rn2(10)) objects
[DUMMY_GLOVES_AA
].a_ac
= 1;
1782 if (objects
[DUMMY_GLOVES_AA
].a_ac
< 20) objects
[DUMMY_GLOVES_AA
].a_ac
++;
1784 objects
[DUMMY_GLOVES_AB
].a_ac
= 0;
1785 if (rn2(10)) objects
[DUMMY_GLOVES_AB
].a_ac
= 1;
1787 if (objects
[DUMMY_GLOVES_AB
].a_ac
< 20) objects
[DUMMY_GLOVES_AB
].a_ac
++;
1789 objects
[DUMMY_GLOVES_AC
].a_ac
= 0;
1790 if (rn2(10)) objects
[DUMMY_GLOVES_AC
].a_ac
= 1;
1792 if (objects
[DUMMY_GLOVES_AC
].a_ac
< 20) objects
[DUMMY_GLOVES_AC
].a_ac
++;
1794 objects
[DUMMY_GLOVES_AD
].a_ac
= 0;
1795 if (rn2(10)) objects
[DUMMY_GLOVES_AD
].a_ac
= 1;
1797 if (objects
[DUMMY_GLOVES_AD
].a_ac
< 20) objects
[DUMMY_GLOVES_AD
].a_ac
++;
1799 objects
[DUMMY_GLOVES_AE
].a_ac
= 0;
1800 if (rn2(10)) objects
[DUMMY_GLOVES_AE
].a_ac
= 1;
1802 if (objects
[DUMMY_GLOVES_AE
].a_ac
< 20) objects
[DUMMY_GLOVES_AE
].a_ac
++;
1804 objects
[DUMMY_GLOVES_AF
].a_ac
= 0;
1805 if (rn2(10)) objects
[DUMMY_GLOVES_AF
].a_ac
= 1;
1807 if (objects
[DUMMY_GLOVES_AF
].a_ac
< 20) objects
[DUMMY_GLOVES_AF
].a_ac
++;
1809 objects
[DUMMY_GLOVES_AG
].a_ac
= 0;
1810 if (rn2(10)) objects
[DUMMY_GLOVES_AG
].a_ac
= 1;
1812 if (objects
[DUMMY_GLOVES_AG
].a_ac
< 20) objects
[DUMMY_GLOVES_AG
].a_ac
++;
1814 objects
[DUMMY_GLOVES_AH
].a_ac
= 0;
1815 if (rn2(10)) objects
[DUMMY_GLOVES_AH
].a_ac
= 1;
1817 if (objects
[DUMMY_GLOVES_AH
].a_ac
< 20) objects
[DUMMY_GLOVES_AH
].a_ac
++;
1819 objects
[DUMMY_GLOVES_AI
].a_ac
= 0;
1820 if (rn2(10)) objects
[DUMMY_GLOVES_AI
].a_ac
= 1;
1822 if (objects
[DUMMY_GLOVES_AI
].a_ac
< 20) objects
[DUMMY_GLOVES_AI
].a_ac
++;
1825 objects
[DUMMY_BOOTS_A
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1826 objects
[DUMMY_BOOTS_B
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1827 objects
[DUMMY_BOOTS_C
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1828 objects
[DUMMY_BOOTS_D
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1829 objects
[DUMMY_BOOTS_E
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1830 objects
[DUMMY_BOOTS_F
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1831 objects
[DUMMY_BOOTS_G
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1832 objects
[DUMMY_BOOTS_H
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1833 objects
[DUMMY_BOOTS_I
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1834 objects
[DUMMY_BOOTS_J
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1835 objects
[DUMMY_BOOTS_K
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1836 objects
[DUMMY_BOOTS_L
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1837 objects
[DUMMY_BOOTS_M
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1838 objects
[DUMMY_BOOTS_N
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1839 objects
[DUMMY_BOOTS_O
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1840 objects
[DUMMY_BOOTS_P
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1841 objects
[DUMMY_BOOTS_Q
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1842 objects
[DUMMY_BOOTS_R
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1843 objects
[DUMMY_BOOTS_S
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1844 objects
[DUMMY_BOOTS_T
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1845 objects
[DUMMY_BOOTS_U
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1846 objects
[DUMMY_BOOTS_V
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1847 objects
[DUMMY_BOOTS_W
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1848 objects
[DUMMY_BOOTS_X
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1849 objects
[DUMMY_BOOTS_Y
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1850 objects
[DUMMY_BOOTS_Z
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1851 objects
[DUMMY_BOOTS_AA
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1852 objects
[DUMMY_BOOTS_AB
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1853 objects
[DUMMY_BOOTS_AC
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1854 objects
[DUMMY_BOOTS_AD
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1855 objects
[DUMMY_BOOTS_AE
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1856 objects
[DUMMY_BOOTS_AF
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1857 objects
[DUMMY_BOOTS_AG
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1858 objects
[DUMMY_BOOTS_AH
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1859 objects
[DUMMY_BOOTS_AI
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1860 objects
[DUMMY_BOOTS_AJ
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1861 objects
[DUMMY_BOOTS_AK
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1862 objects
[DUMMY_BOOTS_AL
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1863 objects
[DUMMY_BOOTS_AM
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1864 objects
[DUMMY_BOOTS_AN
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1865 objects
[DUMMY_BOOTS_AO
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1866 objects
[DUMMY_BOOTS_AP
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1867 objects
[DUMMY_BOOTS_AQ
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1868 objects
[DUMMY_BOOTS_AR
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1869 objects
[DUMMY_BOOTS_AS
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1870 objects
[DUMMY_BOOTS_AT
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1871 objects
[DUMMY_BOOTS_AU
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1872 objects
[DUMMY_BOOTS_AV
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1873 objects
[DUMMY_BOOTS_AW
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1874 objects
[DUMMY_BOOTS_AX
].oc_oprop
= !rn2(10) ? randnastyenchantment() : randenchantment();
1876 objects
[DUMMY_BOOTS_A
].a_can
= rnd(10) ? 0 : rnd(3);
1877 objects
[DUMMY_BOOTS_B
].a_can
= rnd(10) ? 0 : rnd(3);
1878 objects
[DUMMY_BOOTS_C
].a_can
= rnd(10) ? 0 : rnd(3);
1879 objects
[DUMMY_BOOTS_D
].a_can
= rnd(10) ? 0 : rnd(3);
1880 objects
[DUMMY_BOOTS_E
].a_can
= rnd(10) ? 0 : rnd(3);
1881 objects
[DUMMY_BOOTS_F
].a_can
= rnd(10) ? 0 : rnd(3);
1882 objects
[DUMMY_BOOTS_G
].a_can
= rnd(10) ? 0 : rnd(3);
1883 objects
[DUMMY_BOOTS_H
].a_can
= rnd(10) ? 0 : rnd(3);
1884 objects
[DUMMY_BOOTS_I
].a_can
= rnd(10) ? 0 : rnd(3);
1885 objects
[DUMMY_BOOTS_J
].a_can
= rnd(10) ? 0 : rnd(3);
1886 objects
[DUMMY_BOOTS_K
].a_can
= rnd(10) ? 0 : rnd(3);
1887 objects
[DUMMY_BOOTS_L
].a_can
= rnd(10) ? 0 : rnd(3);
1888 objects
[DUMMY_BOOTS_M
].a_can
= rnd(10) ? 0 : rnd(3);
1889 objects
[DUMMY_BOOTS_N
].a_can
= rnd(10) ? 0 : rnd(3);
1890 objects
[DUMMY_BOOTS_O
].a_can
= rnd(10) ? 0 : rnd(3);
1891 objects
[DUMMY_BOOTS_P
].a_can
= rnd(10) ? 0 : rnd(3);
1892 objects
[DUMMY_BOOTS_Q
].a_can
= rnd(10) ? 0 : rnd(3);
1893 objects
[DUMMY_BOOTS_R
].a_can
= rnd(10) ? 0 : rnd(3);
1894 objects
[DUMMY_BOOTS_S
].a_can
= rnd(10) ? 0 : rnd(3);
1895 objects
[DUMMY_BOOTS_T
].a_can
= rnd(10) ? 0 : rnd(3);
1896 objects
[DUMMY_BOOTS_U
].a_can
= rnd(10) ? 0 : rnd(3);
1897 objects
[DUMMY_BOOTS_V
].a_can
= rnd(10) ? 0 : rnd(3);
1898 objects
[DUMMY_BOOTS_W
].a_can
= rnd(10) ? 0 : rnd(3);
1899 objects
[DUMMY_BOOTS_X
].a_can
= rnd(10) ? 0 : rnd(3);
1900 objects
[DUMMY_BOOTS_Y
].a_can
= rnd(10) ? 0 : rnd(3);
1901 objects
[DUMMY_BOOTS_Z
].a_can
= rnd(10) ? 0 : rnd(3);
1902 objects
[DUMMY_BOOTS_AA
].a_can
= rnd(10) ? 0 : rnd(3);
1903 objects
[DUMMY_BOOTS_AB
].a_can
= rnd(10) ? 0 : rnd(3);
1904 objects
[DUMMY_BOOTS_AC
].a_can
= rnd(10) ? 0 : rnd(3);
1905 objects
[DUMMY_BOOTS_AD
].a_can
= rnd(10) ? 0 : rnd(3);
1906 objects
[DUMMY_BOOTS_AE
].a_can
= rnd(10) ? 0 : rnd(3);
1907 objects
[DUMMY_BOOTS_AF
].a_can
= rnd(10) ? 0 : rnd(3);
1908 objects
[DUMMY_BOOTS_AG
].a_can
= rnd(10) ? 0 : rnd(3);
1909 objects
[DUMMY_BOOTS_AH
].a_can
= rnd(10) ? 0 : rnd(3);
1910 objects
[DUMMY_BOOTS_AI
].a_can
= rnd(10) ? 0 : rnd(3);
1911 objects
[DUMMY_BOOTS_AJ
].a_can
= rnd(10) ? 0 : rnd(3);
1912 objects
[DUMMY_BOOTS_AK
].a_can
= rnd(10) ? 0 : rnd(3);
1913 objects
[DUMMY_BOOTS_AL
].a_can
= rnd(10) ? 0 : rnd(3);
1914 objects
[DUMMY_BOOTS_AM
].a_can
= rnd(10) ? 0 : rnd(3);
1915 objects
[DUMMY_BOOTS_AN
].a_can
= rnd(10) ? 0 : rnd(3);
1916 objects
[DUMMY_BOOTS_AO
].a_can
= rnd(10) ? 0 : rnd(3);
1917 objects
[DUMMY_BOOTS_AP
].a_can
= rnd(10) ? 0 : rnd(3);
1918 objects
[DUMMY_BOOTS_AQ
].a_can
= rnd(10) ? 0 : rnd(3);
1919 objects
[DUMMY_BOOTS_AR
].a_can
= rnd(10) ? 0 : rnd(3);
1920 objects
[DUMMY_BOOTS_AS
].a_can
= rnd(10) ? 0 : rnd(3);
1921 objects
[DUMMY_BOOTS_AT
].a_can
= rnd(10) ? 0 : rnd(3);
1922 objects
[DUMMY_BOOTS_AU
].a_can
= rnd(10) ? 0 : rnd(3);
1923 objects
[DUMMY_BOOTS_AV
].a_can
= rnd(10) ? 0 : rnd(3);
1924 objects
[DUMMY_BOOTS_AW
].a_can
= rnd(10) ? 0 : rnd(3);
1925 objects
[DUMMY_BOOTS_AX
].a_can
= rnd(10) ? 0 : rnd(3);
1927 objects
[DUMMY_BOOTS_A
].a_ac
= 0;
1928 if (rn2(10)) objects
[DUMMY_BOOTS_A
].a_ac
= 1;
1930 if (objects
[DUMMY_BOOTS_A
].a_ac
< 20) objects
[DUMMY_BOOTS_A
].a_ac
++;
1932 objects
[DUMMY_BOOTS_B
].a_ac
= 0;
1933 if (rn2(10)) objects
[DUMMY_BOOTS_B
].a_ac
= 1;
1935 if (objects
[DUMMY_BOOTS_B
].a_ac
< 20) objects
[DUMMY_BOOTS_B
].a_ac
++;
1937 objects
[DUMMY_BOOTS_C
].a_ac
= 0;
1938 if (rn2(10)) objects
[DUMMY_BOOTS_C
].a_ac
= 1;
1940 if (objects
[DUMMY_BOOTS_C
].a_ac
< 20) objects
[DUMMY_BOOTS_C
].a_ac
++;
1942 objects
[DUMMY_BOOTS_D
].a_ac
= 0;
1943 if (rn2(10)) objects
[DUMMY_BOOTS_D
].a_ac
= 1;
1945 if (objects
[DUMMY_BOOTS_D
].a_ac
< 20) objects
[DUMMY_BOOTS_D
].a_ac
++;
1947 objects
[DUMMY_BOOTS_E
].a_ac
= 0;
1948 if (rn2(10)) objects
[DUMMY_BOOTS_E
].a_ac
= 1;
1950 if (objects
[DUMMY_BOOTS_E
].a_ac
< 20) objects
[DUMMY_BOOTS_E
].a_ac
++;
1952 objects
[DUMMY_BOOTS_F
].a_ac
= 0;
1953 if (rn2(10)) objects
[DUMMY_BOOTS_F
].a_ac
= 1;
1955 if (objects
[DUMMY_BOOTS_F
].a_ac
< 20) objects
[DUMMY_BOOTS_F
].a_ac
++;
1957 objects
[DUMMY_BOOTS_G
].a_ac
= 0;
1958 if (rn2(10)) objects
[DUMMY_BOOTS_G
].a_ac
= 1;
1960 if (objects
[DUMMY_BOOTS_G
].a_ac
< 20) objects
[DUMMY_BOOTS_G
].a_ac
++;
1962 objects
[DUMMY_BOOTS_H
].a_ac
= 0;
1963 if (rn2(10)) objects
[DUMMY_BOOTS_H
].a_ac
= 1;
1965 if (objects
[DUMMY_BOOTS_H
].a_ac
< 20) objects
[DUMMY_BOOTS_H
].a_ac
++;
1967 objects
[DUMMY_BOOTS_I
].a_ac
= 0;
1968 if (rn2(10)) objects
[DUMMY_BOOTS_I
].a_ac
= 1;
1970 if (objects
[DUMMY_BOOTS_I
].a_ac
< 20) objects
[DUMMY_BOOTS_I
].a_ac
++;
1972 objects
[DUMMY_BOOTS_J
].a_ac
= 0;
1973 if (rn2(10)) objects
[DUMMY_BOOTS_J
].a_ac
= 1;
1975 if (objects
[DUMMY_BOOTS_J
].a_ac
< 20) objects
[DUMMY_BOOTS_J
].a_ac
++;
1977 objects
[DUMMY_BOOTS_K
].a_ac
= 0;
1978 if (rn2(10)) objects
[DUMMY_BOOTS_K
].a_ac
= 1;
1980 if (objects
[DUMMY_BOOTS_K
].a_ac
< 20) objects
[DUMMY_BOOTS_K
].a_ac
++;
1982 objects
[DUMMY_BOOTS_L
].a_ac
= 0;
1983 if (rn2(10)) objects
[DUMMY_BOOTS_L
].a_ac
= 1;
1985 if (objects
[DUMMY_BOOTS_L
].a_ac
< 20) objects
[DUMMY_BOOTS_L
].a_ac
++;
1987 objects
[DUMMY_BOOTS_M
].a_ac
= 0;
1988 if (rn2(10)) objects
[DUMMY_BOOTS_M
].a_ac
= 1;
1990 if (objects
[DUMMY_BOOTS_M
].a_ac
< 20) objects
[DUMMY_BOOTS_M
].a_ac
++;
1992 objects
[DUMMY_BOOTS_N
].a_ac
= 0;
1993 if (rn2(10)) objects
[DUMMY_BOOTS_N
].a_ac
= 1;
1995 if (objects
[DUMMY_BOOTS_N
].a_ac
< 20) objects
[DUMMY_BOOTS_N
].a_ac
++;
1997 objects
[DUMMY_BOOTS_O
].a_ac
= 0;
1998 if (rn2(10)) objects
[DUMMY_BOOTS_O
].a_ac
= 1;
2000 if (objects
[DUMMY_BOOTS_O
].a_ac
< 20) objects
[DUMMY_BOOTS_O
].a_ac
++;
2002 objects
[DUMMY_BOOTS_P
].a_ac
= 0;
2003 if (rn2(10)) objects
[DUMMY_BOOTS_P
].a_ac
= 1;
2005 if (objects
[DUMMY_BOOTS_P
].a_ac
< 20) objects
[DUMMY_BOOTS_P
].a_ac
++;
2007 objects
[DUMMY_BOOTS_Q
].a_ac
= 0;
2008 if (rn2(10)) objects
[DUMMY_BOOTS_Q
].a_ac
= 1;
2010 if (objects
[DUMMY_BOOTS_Q
].a_ac
< 20) objects
[DUMMY_BOOTS_Q
].a_ac
++;
2012 objects
[DUMMY_BOOTS_R
].a_ac
= 0;
2013 if (rn2(10)) objects
[DUMMY_BOOTS_R
].a_ac
= 1;
2015 if (objects
[DUMMY_BOOTS_R
].a_ac
< 20) objects
[DUMMY_BOOTS_R
].a_ac
++;
2017 objects
[DUMMY_BOOTS_S
].a_ac
= 0;
2018 if (rn2(10)) objects
[DUMMY_BOOTS_S
].a_ac
= 1;
2020 if (objects
[DUMMY_BOOTS_S
].a_ac
< 20) objects
[DUMMY_BOOTS_S
].a_ac
++;
2022 objects
[DUMMY_BOOTS_T
].a_ac
= 0;
2023 if (rn2(10)) objects
[DUMMY_BOOTS_T
].a_ac
= 1;
2025 if (objects
[DUMMY_BOOTS_T
].a_ac
< 20) objects
[DUMMY_BOOTS_T
].a_ac
++;
2027 objects
[DUMMY_BOOTS_U
].a_ac
= 0;
2028 if (rn2(10)) objects
[DUMMY_BOOTS_U
].a_ac
= 1;
2030 if (objects
[DUMMY_BOOTS_U
].a_ac
< 20) objects
[DUMMY_BOOTS_U
].a_ac
++;
2032 objects
[DUMMY_BOOTS_V
].a_ac
= 0;
2033 if (rn2(10)) objects
[DUMMY_BOOTS_V
].a_ac
= 1;
2035 if (objects
[DUMMY_BOOTS_V
].a_ac
< 20) objects
[DUMMY_BOOTS_V
].a_ac
++;
2037 objects
[DUMMY_BOOTS_W
].a_ac
= 0;
2038 if (rn2(10)) objects
[DUMMY_BOOTS_W
].a_ac
= 1;
2040 if (objects
[DUMMY_BOOTS_W
].a_ac
< 20) objects
[DUMMY_BOOTS_W
].a_ac
++;
2042 objects
[DUMMY_BOOTS_X
].a_ac
= 0;
2043 if (rn2(10)) objects
[DUMMY_BOOTS_X
].a_ac
= 1;
2045 if (objects
[DUMMY_BOOTS_X
].a_ac
< 20) objects
[DUMMY_BOOTS_X
].a_ac
++;
2047 objects
[DUMMY_BOOTS_Y
].a_ac
= 0;
2048 if (rn2(10)) objects
[DUMMY_BOOTS_Y
].a_ac
= 1;
2050 if (objects
[DUMMY_BOOTS_Y
].a_ac
< 20) objects
[DUMMY_BOOTS_Y
].a_ac
++;
2052 objects
[DUMMY_BOOTS_Z
].a_ac
= 0;
2053 if (rn2(10)) objects
[DUMMY_BOOTS_Z
].a_ac
= 1;
2055 if (objects
[DUMMY_BOOTS_Z
].a_ac
< 20) objects
[DUMMY_BOOTS_Z
].a_ac
++;
2057 objects
[DUMMY_BOOTS_AA
].a_ac
= 0;
2058 if (rn2(10)) objects
[DUMMY_BOOTS_AA
].a_ac
= 1;
2060 if (objects
[DUMMY_BOOTS_AA
].a_ac
< 20) objects
[DUMMY_BOOTS_AA
].a_ac
++;
2062 objects
[DUMMY_BOOTS_AB
].a_ac
= 0;
2063 if (rn2(10)) objects
[DUMMY_BOOTS_AB
].a_ac
= 1;
2065 if (objects
[DUMMY_BOOTS_AB
].a_ac
< 20) objects
[DUMMY_BOOTS_AB
].a_ac
++;
2067 objects
[DUMMY_BOOTS_AC
].a_ac
= 0;
2068 if (rn2(10)) objects
[DUMMY_BOOTS_AC
].a_ac
= 1;
2070 if (objects
[DUMMY_BOOTS_AC
].a_ac
< 20) objects
[DUMMY_BOOTS_AC
].a_ac
++;
2072 objects
[DUMMY_BOOTS_AD
].a_ac
= 0;
2073 if (rn2(10)) objects
[DUMMY_BOOTS_AD
].a_ac
= 1;
2075 if (objects
[DUMMY_BOOTS_AD
].a_ac
< 20) objects
[DUMMY_BOOTS_AD
].a_ac
++;
2077 objects
[DUMMY_BOOTS_AE
].a_ac
= 0;
2078 if (rn2(10)) objects
[DUMMY_BOOTS_AE
].a_ac
= 1;
2080 if (objects
[DUMMY_BOOTS_AE
].a_ac
< 20) objects
[DUMMY_BOOTS_AE
].a_ac
++;
2082 objects
[DUMMY_BOOTS_AF
].a_ac
= 0;
2083 if (rn2(10)) objects
[DUMMY_BOOTS_AF
].a_ac
= 1;
2085 if (objects
[DUMMY_BOOTS_AF
].a_ac
< 20) objects
[DUMMY_BOOTS_AF
].a_ac
++;
2087 objects
[DUMMY_BOOTS_AG
].a_ac
= 0;
2088 if (rn2(10)) objects
[DUMMY_BOOTS_AG
].a_ac
= 1;
2090 if (objects
[DUMMY_BOOTS_AG
].a_ac
< 20) objects
[DUMMY_BOOTS_AG
].a_ac
++;
2092 objects
[DUMMY_BOOTS_AH
].a_ac
= 0;
2093 if (rn2(10)) objects
[DUMMY_BOOTS_AH
].a_ac
= 1;
2095 if (objects
[DUMMY_BOOTS_AH
].a_ac
< 20) objects
[DUMMY_BOOTS_AH
].a_ac
++;
2097 objects
[DUMMY_BOOTS_AI
].a_ac
= 0;
2098 if (rn2(10)) objects
[DUMMY_BOOTS_AI
].a_ac
= 1;
2100 if (objects
[DUMMY_BOOTS_AI
].a_ac
< 20) objects
[DUMMY_BOOTS_AI
].a_ac
++;
2102 objects
[DUMMY_BOOTS_AJ
].a_ac
= 0;
2103 if (rn2(10)) objects
[DUMMY_BOOTS_AJ
].a_ac
= 1;
2105 if (objects
[DUMMY_BOOTS_AJ
].a_ac
< 20) objects
[DUMMY_BOOTS_AJ
].a_ac
++;
2107 objects
[DUMMY_BOOTS_AK
].a_ac
= 0;
2108 if (rn2(10)) objects
[DUMMY_BOOTS_AK
].a_ac
= 1;
2110 if (objects
[DUMMY_BOOTS_AK
].a_ac
< 20) objects
[DUMMY_BOOTS_AK
].a_ac
++;
2112 objects
[DUMMY_BOOTS_AL
].a_ac
= 0;
2113 if (rn2(10)) objects
[DUMMY_BOOTS_AL
].a_ac
= 1;
2115 if (objects
[DUMMY_BOOTS_AL
].a_ac
< 20) objects
[DUMMY_BOOTS_AL
].a_ac
++;
2117 objects
[DUMMY_BOOTS_AM
].a_ac
= 0;
2118 if (rn2(10)) objects
[DUMMY_BOOTS_AM
].a_ac
= 1;
2120 if (objects
[DUMMY_BOOTS_AM
].a_ac
< 20) objects
[DUMMY_BOOTS_AM
].a_ac
++;
2122 objects
[DUMMY_BOOTS_AN
].a_ac
= 0;
2123 if (rn2(10)) objects
[DUMMY_BOOTS_AN
].a_ac
= 1;
2125 if (objects
[DUMMY_BOOTS_AN
].a_ac
< 20) objects
[DUMMY_BOOTS_AN
].a_ac
++;
2127 objects
[DUMMY_BOOTS_AO
].a_ac
= 0;
2128 if (rn2(10)) objects
[DUMMY_BOOTS_AO
].a_ac
= 1;
2130 if (objects
[DUMMY_BOOTS_AO
].a_ac
< 20) objects
[DUMMY_BOOTS_AO
].a_ac
++;
2132 objects
[DUMMY_BOOTS_AP
].a_ac
= 0;
2133 if (rn2(10)) objects
[DUMMY_BOOTS_AP
].a_ac
= 1;
2135 if (objects
[DUMMY_BOOTS_AP
].a_ac
< 20) objects
[DUMMY_BOOTS_AP
].a_ac
++;
2137 objects
[DUMMY_BOOTS_AQ
].a_ac
= 0;
2138 if (rn2(10)) objects
[DUMMY_BOOTS_AQ
].a_ac
= 1;
2140 if (objects
[DUMMY_BOOTS_AQ
].a_ac
< 20) objects
[DUMMY_BOOTS_AQ
].a_ac
++;
2142 objects
[DUMMY_BOOTS_AR
].a_ac
= 0;
2143 if (rn2(10)) objects
[DUMMY_BOOTS_AR
].a_ac
= 1;
2145 if (objects
[DUMMY_BOOTS_AR
].a_ac
< 20) objects
[DUMMY_BOOTS_AR
].a_ac
++;
2147 objects
[DUMMY_BOOTS_AS
].a_ac
= 0;
2148 if (rn2(10)) objects
[DUMMY_BOOTS_AS
].a_ac
= 1;
2150 if (objects
[DUMMY_BOOTS_AS
].a_ac
< 20) objects
[DUMMY_BOOTS_AS
].a_ac
++;
2152 objects
[DUMMY_BOOTS_AT
].a_ac
= 0;
2153 if (rn2(10)) objects
[DUMMY_BOOTS_AT
].a_ac
= 1;
2155 if (objects
[DUMMY_BOOTS_AT
].a_ac
< 20) objects
[DUMMY_BOOTS_AT
].a_ac
++;
2157 objects
[DUMMY_BOOTS_AU
].a_ac
= 0;
2158 if (rn2(10)) objects
[DUMMY_BOOTS_AU
].a_ac
= 1;
2160 if (objects
[DUMMY_BOOTS_AU
].a_ac
< 20) objects
[DUMMY_BOOTS_AU
].a_ac
++;
2162 objects
[DUMMY_BOOTS_AV
].a_ac
= 0;
2163 if (rn2(10)) objects
[DUMMY_BOOTS_AV
].a_ac
= 1;
2165 if (objects
[DUMMY_BOOTS_AV
].a_ac
< 20) objects
[DUMMY_BOOTS_AV
].a_ac
++;
2167 objects
[DUMMY_BOOTS_AW
].a_ac
= 0;
2168 if (rn2(10)) objects
[DUMMY_BOOTS_AW
].a_ac
= 1;
2170 if (objects
[DUMMY_BOOTS_AW
].a_ac
< 20) objects
[DUMMY_BOOTS_AW
].a_ac
++;
2172 objects
[DUMMY_BOOTS_AX
].a_ac
= 0;
2173 if (rn2(10)) objects
[DUMMY_BOOTS_AX
].a_ac
= 1;
2175 if (objects
[DUMMY_BOOTS_AX
].a_ac
< 20) objects
[DUMMY_BOOTS_AX
].a_ac
++;
2178 objects
[SPE_FORBIDDEN_KNOWLEDGE
].oc_level
= rnd(8);
2180 objects
[SPE_CHARACTER_RECURSION
].oc_level
= rnd(8);
2182 objects
[WONDER_BALL
].oc_material
= rn2(LASTMATERIAL
+ 1);
2183 objects
[WONDER_CHAIN
].oc_material
= rn2(LASTMATERIAL
+ 1);
2184 objects
[TOILET_ROLL
].oc_material
= rn2(LASTMATERIAL
+ 1);
2185 objects
[WONDER_PLATE
].oc_material
= rn2(LASTMATERIAL
+ 1);
2186 objects
[MEDIUM_MITHRIL_COAT
].oc_material
= rn2(LASTMATERIAL
+ 1);
2187 objects
[TAPERED_MAIL
].oc_material
= rn2(LASTMATERIAL
+ 1);
2188 objects
[EXCITING_ARMOR
].oc_material
= rn2(LASTMATERIAL
+ 1);
2189 objects
[LORICATED_CLOAK
].oc_material
= rn2(LASTMATERIAL
+ 1);
2190 objects
[BASINET
].oc_material
= rn2(LASTMATERIAL
+ 1);
2191 objects
[ROCKET_GAUNTLETS
].oc_material
= rn2(LASTMATERIAL
+ 1);
2192 objects
[ANCIENT_SHIELD
].oc_material
= rn2(LASTMATERIAL
+ 1);
2193 objects
[ITALIAN_HEELS
].oc_material
= rn2(LASTMATERIAL
+ 1);
2194 objects
[WONDER_DAGGER
].oc_material
= rn2(LASTMATERIAL
+ 1);
2195 objects
[UNKNOWN_KNIFE
].oc_material
= rn2(LASTMATERIAL
+ 1);
2196 objects
[SHARP_AXE
].oc_material
= rn2(LASTMATERIAL
+ 1);
2197 objects
[SHORT_BLADE
].oc_material
= rn2(LASTMATERIAL
+ 1);
2198 objects
[ELEGANT_BROADSWORD
].oc_material
= rn2(LASTMATERIAL
+ 1);
2199 objects
[MAIN_SWORD
].oc_material
= rn2(LASTMATERIAL
+ 1);
2200 objects
[ROMAN_SWORD
].oc_material
= rn2(LASTMATERIAL
+ 1);
2201 objects
[MYTHICAL_SABLE
].oc_material
= rn2(LASTMATERIAL
+ 1);
2202 objects
[CRYPTIC_SABER
].oc_material
= rn2(LASTMATERIAL
+ 1);
2203 objects
[BLOW_AKLYS
].oc_material
= rn2(LASTMATERIAL
+ 1);
2204 objects
[TELEPHONE
].oc_material
= rn2(LASTMATERIAL
+ 1);
2205 objects
[BATLETH
].oc_material
= rn2(LASTMATERIAL
+ 1);
2206 objects
[ELITE_BATLETH
].oc_material
= rn2(LASTMATERIAL
+ 1);
2207 objects
[CALCULATOR
].oc_material
= rn2(LASTMATERIAL
+ 1);
2208 objects
[WEIGHTED_FLAIL
].oc_material
= rn2(LASTMATERIAL
+ 1);
2209 objects
[BLOCK_HEELED_SANDAL
].oc_material
= rn2(LASTMATERIAL
+ 1);
2210 objects
[PROSTITUTE_SHOE
].oc_material
= rn2(LASTMATERIAL
+ 1);
2211 objects
[BO_STAFF
].oc_material
= rn2(LASTMATERIAL
+ 1);
2212 objects
[LONG_POLE
].oc_material
= rn2(LASTMATERIAL
+ 1);
2213 objects
[SHARP_POLE
].oc_material
= rn2(LASTMATERIAL
+ 1);
2214 objects
[RANDOSPEAR
].oc_material
= rn2(LASTMATERIAL
+ 1);
2215 objects
[STACK_JAVELIN
].oc_material
= rn2(LASTMATERIAL
+ 1);
2216 objects
[SPEC_LANCE
].oc_material
= rn2(LASTMATERIAL
+ 1);
2217 objects
[META_BOW
].oc_material
= rn2(LASTMATERIAL
+ 1);
2218 objects
[WONDER_ARROW
].oc_material
= rn2(LASTMATERIAL
+ 1);
2219 objects
[MATERIAL_BOLT
].oc_material
= rn2(LASTMATERIAL
+ 1);
2220 objects
[RANDOM_DART
].oc_material
= rn2(LASTMATERIAL
+ 1);
2221 objects
[CUBIC_STAR
].oc_material
= rn2(LASTMATERIAL
+ 1);
2222 objects
[SEXPLAY_WHIP
].oc_material
= rn2(LASTMATERIAL
+ 1);
2223 objects
[MYSTERY_PICK
].oc_material
= rn2(LASTMATERIAL
+ 1);
2224 objects
[MYSTERY_LIGHTSABER
].oc_material
= rn2(LASTMATERIAL
+ 1);
2225 objects
[RAINBOW_LIGHTSABER
].oc_material
= rn2(LASTMATERIAL
+ 1);
2226 objects
[SLING_AMMO
].oc_material
= rn2(LASTMATERIAL
+ 1);
2227 objects
[CIGARETTE
].oc_material
= rn2(LASTMATERIAL
+ 1);
2228 objects
[VARIED_GRINDER
].oc_material
= rn2(LASTMATERIAL
+ 1);
2229 objects
[CAMO_QATAR
].oc_material
= rn2(LASTMATERIAL
+ 1);
2231 objects
[RAINBOW_LIGHTSABER
].oc_color
= rn2(CLR_MAX
);
2233 int dyepotion
= find_potion_of_dye();
2234 objects
[dyepotion
].oc_color
= rn2(CLR_MAX
);
2236 while (objects
[RAINBOW_LIGHTSABER
].oc_color
== NO_COLOR
) objects
[RAINBOW_LIGHTSABER
].oc_color
= rn2(CLR_MAX
);
2238 /* shuffle descriptions */
2243 #ifdef PROXY_GRAPHICS
2244 shuffle_proxy_glyphs();
2251 int first
, last
, oclass
;
2253 for (oclass
= 1; oclass
< MAXOCLASSES
; oclass
++) {
2254 first
= bases
[oclass
];
2256 while (last
< NUM_OBJECTS
&& objects
[last
].oc_class
== oclass
)
2259 if (OBJ_DESCR(objects
[first
]) != (char *)0 &&
2260 oclass
!= TOOL_CLASS
&&
2261 oclass
!= WEAPON_CLASS
&&
2262 oclass
!= ARMOR_CLASS
&&
2263 oclass
!= BALL_CLASS
&&
2264 oclass
!= CHAIN_CLASS
&&
2265 oclass
!= VENOM_CLASS
&&
2266 oclass
!= GEM_CLASS
) {
2269 if (oclass
== POTION_CLASS
)
2270 /* water and following have fixed descriptions */
2272 else if (oclass
== AMULET_CLASS
||
2273 oclass
== SCROLL_CLASS
||
2274 oclass
== SPBOOK_CLASS
) {
2275 while (!objects
[j
].oc_magic
|| objects
[j
].oc_unique
)
2279 /* non-magical amulets, scrolls, and spellbooks
2280 * (ex. imitation Amulets, blank, scrolls of mail)
2281 * and one-of-a-kind magical artifacts at the end of
2282 * their class in objects[] have fixed descriptions.
2284 shuffle(first
, j
, TRUE
);
2288 /* shuffle the helmets */
2289 shuffle(STANDARD_HELMET
, HELM_OF_TELEPATHY
, TRUE
);
2291 /* shuffle the gloves */
2292 shuffle(REGULAR_GLOVES
, GAUNTLETS_OF_DEXTERITY
, TRUE
);
2294 /* shuffle the robes */
2295 shuffle(ROBE
, ROBE_OF_WEAKNESS
, TRUE
);
2297 /* shuffle the cloaks */
2298 shuffle(CLOAK_OF_PROTECTION
, CLOAK_OF_DISPLACEMENT
, TRUE
);
2300 /* shuffle the boots [if they change, update find_skates() below] */
2301 shuffle(SPEED_BOOTS
, LEVITATION_BOOTS
, TRUE
);
2304 /* find the object index for snow boots; used [once] by slippery ice code */
2310 for (i
= SPEED_BOOTS
; i
<= LEVITATION_BOOTS
; i
++) {
2311 if (itemnumwithappearance(i
, APP_SNOW_BOOTS
)) return i
;
2314 impossible("snow boots not found?");
2315 return -1; /* not 0, or caller would try again each move */
2323 for (i
= SPEED_BOOTS
; i
<= LEVITATION_BOOTS
; i
++) {
2324 if (itemnumwithappearance(i
, APP_WINTER_BOOTS
)) return i
;
2327 impossible("winter boots not found?");
2328 return -1; /* not 0, or caller would try again each move */
2336 for (i
= SPEED_BOOTS
; i
<= LEVITATION_BOOTS
; i
++) {
2337 if (itemnumwithappearance(i
, APP_WINTER_STILETTOS
)) return i
;
2340 impossible("winter stilettos not found?");
2341 return -1; /* not 0, or caller would try again each move */
2349 for (i
= SPEED_BOOTS
; i
<= LEVITATION_BOOTS
; i
++) {
2350 if (itemnumwithappearance(i
, APP_SKI_HEELS
)) return i
;
2353 impossible("ski heels not found?");
2354 return -1; /* not 0, or caller would try again each move */
2357 /* tons of more such cases for randarts, the ones that depend on randomized appearances --Amy */
2364 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2365 if (itemnumwithappearance(i
, APP_OPERA_CLOAK
)) return i
;
2368 impossible("opera cloak not found?");
2369 return -1; /* not 0, or caller would try again each move */
2373 find_explosive_boots()
2377 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2378 if (itemnumwithappearance(i
, APP_EXPLOSIVE_BOOTS
)) return i
;
2381 impossible("explosive boots not found?");
2382 return -1; /* not 0, or caller would try again each move */
2390 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2391 if (itemnumwithappearance(i
, APP_BULL_HELMET
)) return i
;
2394 impossible("bull helmet not found?");
2395 return -1; /* not 0, or caller would try again each move */
2403 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2404 if (itemnumwithappearance(i
, APP_ECHO_HELMET
)) return i
;
2407 impossible("echo helmet not found?");
2408 return -1; /* not 0, or caller would try again each move */
2412 find_irregular_boots()
2416 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2417 if (itemnumwithappearance(i
, APP_IRREGULAR_BOOTS
)) return i
;
2420 impossible("irregular boots not found?");
2421 return -1; /* not 0, or caller would try again each move */
2429 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2430 if (itemnumwithappearance(i
, APP_WEDGE_BOOTS
)) return i
;
2433 impossible("wedge boots not found?");
2434 return -1; /* not 0, or caller would try again each move */
2438 find_aluminium_helmet()
2442 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2443 if (itemnumwithappearance(i
, APP_ALUMINIUM_HELMET
)) return i
;
2446 impossible("aluminium helmet not found?");
2447 return -1; /* not 0, or caller would try again each move */
2451 find_ghostly_cloak()
2455 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2456 if (itemnumwithappearance(i
, APP_GHOSTLY_CLOAK
)) return i
;
2459 impossible("ghostly cloak not found?");
2460 return -1; /* not 0, or caller would try again each move */
2464 find_demonic_cloak()
2468 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2469 if (itemnumwithappearance(i
, APP_DEMONIC_CLOAK
)) return i
;
2472 impossible("demonic cloak not found?");
2473 return -1; /* not 0, or caller would try again each move */
2477 find_polnish_gloves()
2481 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2482 if (itemnumwithappearance(i
, APP_POLNISH_GLOVES
)) return i
;
2485 impossible("polnish gloves not found?");
2486 return -1; /* not 0, or caller would try again each move */
2490 find_fencing_gloves()
2494 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2495 if (itemnumwithappearance(i
, APP_FENCING_GLOVES
)) return i
;
2498 impossible("fencing gloves not found?");
2499 return -1; /* not 0, or caller would try again each move */
2503 find_critical_gloves()
2507 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2508 if (itemnumwithappearance(i
, APP_CRITICAL_GLOVES
)) return i
;
2511 impossible("critical gloves not found?");
2512 return -1; /* not 0, or caller would try again each move */
2516 find_falconry_gloves()
2520 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2521 if (itemnumwithappearance(i
, APP_FALCONRY_GLOVES
)) return i
;
2524 impossible("falconry gloves not found?");
2525 return -1; /* not 0, or caller would try again each move */
2533 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2534 if (itemnumwithappearance(i
, APP_LATEX_GLOVES
)) return i
;
2537 impossible("latex gloves not found?");
2538 return -1; /* not 0, or caller would try again each move */
2546 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2547 if (itemnumwithappearance(i
, APP_SPIKY_GLOVES
)) return i
;
2550 impossible("spiky gloves not found?");
2551 return -1; /* not 0, or caller would try again each move */
2559 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2560 if (itemnumwithappearance(i
, APP_VELCRO_BOOTS
)) return i
;
2563 impossible("velcro boots not found?");
2564 return -1; /* not 0, or caller would try again each move */
2568 find_clumsy_gloves()
2572 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2573 if (itemnumwithappearance(i
, APP_CLUMSY_GLOVES
)) return i
;
2576 impossible("clumsy gloves not found?");
2577 return -1; /* not 0, or caller would try again each move */
2585 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2586 if (itemnumwithappearance(i
, APP_FIN_BOOTS
)) return i
;
2589 impossible("fin boots not found?");
2590 return -1; /* not 0, or caller would try again each move */
2598 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2599 if (itemnumwithappearance(i
, APP_WINTER_BOOTS
)) return i
;
2602 impossible("winter boots not found?");
2603 return -1; /* not 0, or caller would try again each move */
2607 find_profiled_boots()
2611 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2612 if (itemnumwithappearance(i
, APP_PROFILED_BOOTS
)) return i
;
2615 impossible("profiled boots not found?");
2616 return -1; /* not 0, or caller would try again each move */
2624 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2625 if (itemnumwithappearance(i
, APP_VOID_CLOAK
)) return i
;
2628 impossible("void cloak not found?");
2629 return -1; /* not 0, or caller would try again each move */
2633 find_petrified_cloak()
2637 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2638 if (itemnumwithappearance(i
, APP_PETRIFIED_CLOAK
)) return i
;
2641 impossible("petrified cloak not found?");
2642 return -1; /* not 0, or caller would try again each move */
2646 find_grey_shaded_gloves()
2650 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2651 if (itemnumwithappearance(i
, APP_GREY_SHADED_GLOVES
)) return i
;
2654 impossible("grey-shaded gloves not found?");
2655 return -1; /* not 0, or caller would try again each move */
2659 find_leather_gloves()
2663 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2664 if (itemnumwithappearance(i
, APP_LEATHER_GLOVES
)) return i
;
2667 impossible("leather gloves not found?");
2668 return -1; /* not 0, or caller would try again each move */
2676 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2677 if (itemnumwithappearance(i
, APP_WEEB_CLOAK
)) return i
;
2680 impossible("weeb cloak not found?");
2681 return -1; /* not 0, or caller would try again each move */
2685 find_persian_boots()
2689 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2690 if (itemnumwithappearance(i
, APP_PERSIAN_BOOTS
)) return i
;
2693 impossible("persian boots not found?");
2694 return -1; /* not 0, or caller would try again each move */
2698 find_higher_helmet()
2702 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2703 if (itemnumwithappearance(i
, APP_HIGHER_HELMET
)) return i
;
2706 impossible("higher helmet not found?");
2707 return -1; /* not 0, or caller would try again each move */
2711 find_hardcore_cloth()
2715 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2716 if (itemnumwithappearance(i
, APP_HARDCORE_CLOTH
)) return i
;
2719 impossible("hardcore cloth not found?");
2720 return -1; /* not 0, or caller would try again each move */
2728 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2729 if (itemnumwithappearance(i
, APP_TANKINI
)) return i
;
2732 impossible("tankini not found?");
2733 return -1; /* not 0, or caller would try again each move */
2741 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2742 if (itemnumwithappearance(i
, APP_MISSYS
)) return i
;
2745 impossible("missys not found?");
2746 return -1; /* not 0, or caller would try again each move */
2750 find_superhard_sandals()
2754 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2755 if (itemnumwithappearance(i
, APP_SUPERHARD_SANDALS
)) return i
;
2758 impossible("superhard sandals not found?");
2759 return -1; /* not 0, or caller would try again each move */
2767 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2768 if (itemnumwithappearance(i
, APP_TELESCOPE
)) return i
;
2771 impossible("telescope not found?");
2772 return -1; /* not 0, or caller would try again each move */
2780 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2781 if (itemnumwithappearance(i
, APP_OSFA_CLOAK
)) return i
;
2784 impossible("osfa cloak not found?");
2785 return -1; /* not 0, or caller would try again each move */
2789 find_tarpaulin_cloak()
2793 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2794 if (itemnumwithappearance(i
, APP_TARPAULIN_CLOAK
)) return i
;
2797 impossible("tarpaulin cloak not found?");
2798 return -1; /* not 0, or caller would try again each move */
2801 /* the potion of dye may be mapped to an actual potion, or it may not; its color should be randomly initialized anyway,
2802 * because if the randomized appearances are shuffled during an ongoing game, it might become an actual potion --Amy */
2804 find_potion_of_dye()
2808 for (i
= POT_BOOZE
; i
<= POT_AMNESIA
; i
++) {
2809 if (itemnumwithappearance(i
, APP_POTION_DYE
)) return i
;
2812 impossible("dye potion not found?");
2813 return -1; /* not 0, or caller would try again each move */
2817 find_winged_sandals()
2821 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2822 if (itemnumwithappearance(i
, APP_WINGED_SANDALS
)) return i
;
2825 impossible("winged sandals not found?");
2826 return -1; /* not 0, or caller would try again each move */
2834 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2835 if (itemnumwithappearance(i
, APP_REMORA_HEELS
)) return i
;
2838 impossible("remora heels not found?");
2839 return -1; /* not 0, or caller would try again each move */
2843 find_heeled_chelsea_boots()
2847 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2848 if (itemnumwithappearance(i
, APP_HEELED_CHELSEA_BOOTS
)) return i
;
2851 impossible("heeled chelsea boots not found?");
2852 return -1; /* not 0, or caller would try again each move */
2856 find_house_slippers()
2860 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2861 if (itemnumwithappearance(i
, APP_HOUSE_SLIPPERS
)) return i
;
2864 impossible("house slippers not found?");
2865 return -1; /* not 0, or caller would try again each move */
2869 find_hugging_boots()
2873 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2874 if (itemnumwithappearance(i
, APP_HUGGING_BOOTS
)) return i
;
2877 impossible("hugging boots not found?");
2878 return -1; /* not 0, or caller would try again each move */
2882 find_heeled_hugging_boots()
2886 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2887 if (itemnumwithappearance(i
, APP_HEELED_HUGGING_BOOTS
)) return i
;
2890 impossible("high-heeled hugging boots not found?");
2891 return -1; /* not 0, or caller would try again each move */
2895 find_plateau_boots()
2899 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2900 if (itemnumwithappearance(i
, APP_PLATEAU_BOOTS
)) return i
;
2903 impossible("plateau boots not found?");
2904 return -1; /* not 0, or caller would try again each move */
2912 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2913 if (itemnumwithappearance(i
, APP_FLEECY_BOOTS
)) return i
;
2916 impossible("fleecy boots not found?");
2917 return -1; /* not 0, or caller would try again each move */
2921 find_terrible_boots()
2925 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2926 if (itemnumwithappearance(i
, APP_PARTICULARLY_TERRIBLE_BOOTS
)) return i
;
2929 impossible("terrible boots not found?");
2930 return -1; /* not 0, or caller would try again each move */
2934 find_fingerless_gloves()
2938 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2939 if (itemnumwithappearance(i
, APP_FINGERLESS_GLOVES
)) return i
;
2942 impossible("fingerless gloves not found?");
2943 return -1; /* not 0, or caller would try again each move */
2947 find_mantle_of_coat()
2951 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2952 if (itemnumwithappearance(i
, APP_MANTLE_OF_COAT
)) return i
;
2955 impossible("mantle of coat not found?");
2956 return -1; /* not 0, or caller would try again each move */
2960 find_wedge_espadrilles()
2964 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2965 if (itemnumwithappearance(i
, APP_WEDGE_ESPADRILLES
)) return i
;
2968 impossible("wedge espadrilles not found?");
2969 return -1; /* not 0, or caller would try again each move */
2973 find_treaded_heels()
2977 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2978 if (itemnumwithappearance(i
, APP_TREADED_HEELS
)) return i
;
2981 impossible("treaded heels not found?");
2982 return -1; /* not 0, or caller would try again each move */
2990 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
2991 if (itemnumwithappearance(i
, APP_FATAL_GLOVES
)) return i
;
2994 impossible("fatal gloves not found?");
2995 return -1; /* not 0, or caller would try again each move */
2999 find_beautiful_heels()
3003 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3004 if (itemnumwithappearance(i
, APP_BEAUTIFUL_HEELS
)) return i
;
3007 impossible("beautiful heels not found?");
3008 return -1; /* not 0, or caller would try again each move */
3012 find_homicidal_cloak()
3016 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3017 if (itemnumwithappearance(i
, APP_HOMICIDAL_CLOAK
)) return i
;
3020 impossible("homicidal cloak not found?");
3021 return -1; /* not 0, or caller would try again each move */
3025 find_castlevania_boots()
3029 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3030 if (itemnumwithappearance(i
, APP_CASTLEVANIA_BOOTS
)) return i
;
3033 impossible("castlevania boots not found?");
3034 return -1; /* not 0, or caller would try again each move */
3042 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3043 if (itemnumwithappearance(i
, APP_GREEK_CLOAK
)) return i
;
3046 impossible("greek cloak not found?");
3047 return -1; /* not 0, or caller would try again each move */
3051 find_celtic_helmet()
3055 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3056 if (itemnumwithappearance(i
, APP_CELTIC_HELMET
)) return i
;
3059 impossible("celtic helmet not found?");
3060 return -1; /* not 0, or caller would try again each move */
3064 find_english_gloves()
3068 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3069 if (itemnumwithappearance(i
, APP_ENGLISH_GLOVES
)) return i
;
3072 impossible("english gloves not found?");
3073 return -1; /* not 0, or caller would try again each move */
3077 find_dextrous_gloves()
3081 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3082 if (itemnumwithappearance(i
, APP_DEXTROUS_GLOVES
)) return i
;
3085 impossible("dextrous gloves not found?");
3086 return -1; /* not 0, or caller would try again each move */
3090 find_korean_sandals()
3094 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3095 if (itemnumwithappearance(i
, APP_KOREAN_SANDALS
)) return i
;
3098 impossible("korean sandals not found?");
3099 return -1; /* not 0, or caller would try again each move */
3107 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3108 if (itemnumwithappearance(i
, APP_SLING_PUMPS
)) return i
;
3111 impossible("sling pumps not found?");
3112 return -1; /* not 0, or caller would try again each move */
3116 find_octarine_robe()
3120 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3121 if (itemnumwithappearance(i
, APP_OCTARINE_ROBE
)) return i
;
3124 impossible("octarine robe not found?");
3125 return -1; /* not 0, or caller would try again each move */
3129 find_faceless_robe()
3133 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3134 if (itemnumwithappearance(i
, APP_FACELESS_ROBE
)) return i
;
3137 impossible("faceless robe not found?");
3138 return -1; /* not 0, or caller would try again each move */
3142 find_chinese_cloak()
3146 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3147 if (itemnumwithappearance(i
, APP_CHINESE_CLOAK
)) return i
;
3150 impossible("chinese cloak not found?");
3151 return -1; /* not 0, or caller would try again each move */
3159 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3160 if (itemnumwithappearance(i
, APP_BUCKLOAK
)) return i
;
3163 impossible("buckloak not found?");
3164 return -1; /* not 0, or caller would try again each move */
3168 find_polyform_cloak()
3172 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3173 if (itemnumwithappearance(i
, APP_POLYFORM_CLOAK
)) return i
;
3176 impossible("polyform cloak not found?");
3177 return -1; /* not 0, or caller would try again each move */
3181 find_absorbing_cloak()
3185 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3186 if (itemnumwithappearance(i
, APP_ABSORBING_CLOAK
)) return i
;
3189 impossible("absorbing cloak not found?");
3190 return -1; /* not 0, or caller would try again each move */
3198 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3199 if (itemnumwithappearance(i
, APP_BIRTHCLOTH
)) return i
;
3202 impossible("birthcloth not found?");
3203 return -1; /* not 0, or caller would try again each move */
3207 find_poke_mongo_cloak()
3211 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3212 if (itemnumwithappearance(i
, APP_POKE_MONGO_CLOAK
)) return i
;
3215 impossible("poke mongo cloak not found?");
3216 return -1; /* not 0, or caller would try again each move */
3220 find_levuntation_cloak()
3224 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3225 if (itemnumwithappearance(i
, APP_LEVUNTATION_CLOAK
)) return i
;
3228 impossible("levuntation cloak not found?");
3229 return -1; /* not 0, or caller would try again each move */
3233 find_block_heeled_boots()
3237 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3238 if (itemnumwithappearance(i
, APP_BLOCK_HEELED_BOOTS
)) return i
;
3241 impossible("block-heeled boots not found?");
3242 return -1; /* not 0, or caller would try again each move */
3246 find_quicktravel_cloak()
3250 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3251 if (itemnumwithappearance(i
, APP_QUICKTRAVEL_CLOAK
)) return i
;
3254 impossible("quicktravel cloak not found?");
3255 return -1; /* not 0, or caller would try again each move */
3259 find_angband_cloak()
3263 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3264 if (itemnumwithappearance(i
, APP_ANGBAND_CLOAK
)) return i
;
3267 impossible("angband cloak not found?");
3268 return -1; /* not 0, or caller would try again each move */
3272 find_anorexia_cloak()
3276 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3277 if (itemnumwithappearance(i
, APP_ANOREXIA_CLOAK
)) return i
;
3280 impossible("anorexia cloak not found?");
3281 return -1; /* not 0, or caller would try again each move */
3285 find_dnethack_cloak()
3289 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3290 if (itemnumwithappearance(i
, APP_DNETHACK_CLOAK
)) return i
;
3293 impossible("dnethack cloak not found?");
3294 return -1; /* not 0, or caller would try again each move */
3298 find_team_splat_cloak()
3302 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3303 if (itemnumwithappearance(i
, APP_TEAM_SPLAT_CLOAK
)) return i
;
3306 impossible("team splat cloak not found?");
3307 return -1; /* not 0, or caller would try again each move */
3311 find_eldritch_cloak()
3315 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3316 if (itemnumwithappearance(i
, APP_ELDRITCH_CLOAK
)) return i
;
3319 impossible("eldritch cloak not found?");
3320 return -1; /* not 0, or caller would try again each move */
3328 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3329 if (itemnumwithappearance(i
, APP_DEADLY_CLOAK
)) return i
;
3332 impossible("deadly cloak not found?");
3333 return -1; /* not 0, or caller would try again each move */
3341 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3342 if (itemnumwithappearance(i
, APP_EROTIC_BOOTS
)) return i
;
3345 impossible("erotic boots not found?");
3346 return -1; /* not 0, or caller would try again each move */
3350 find_secret_helmet()
3354 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3355 if (itemnumwithappearance(i
, APP_SECRET_HELMET
)) return i
;
3358 impossible("secret helmet not found?");
3359 return -1; /* not 0, or caller would try again each move */
3363 find_difficult_cloak()
3367 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3368 if (itemnumwithappearance(i
, APP_DIFFICULT_CLOAK
)) return i
;
3371 impossible("difficult cloak not found?");
3372 return -1; /* not 0, or caller would try again each move */
3376 find_velvet_gloves()
3380 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3381 if (itemnumwithappearance(i
, APP_VELVET_GLOVES
)) return i
;
3384 impossible("velvet gloves not found?");
3385 return -1; /* not 0, or caller would try again each move */
3389 find_hooked_gloves()
3393 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3394 if (itemnumwithappearance(i
, APP_HOOKED_GLOVES
)) return i
;
3397 impossible("hooked gloves not found?");
3398 return -1; /* not 0, or caller would try again each move */
3406 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3407 if (itemnumwithappearance(i
, APP_ATLAS_GLOVES
)) return i
;
3410 impossible("atlas gloves not found?");
3411 return -1; /* not 0, or caller would try again each move */
3415 find_speedy_gloves()
3419 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3420 if (itemnumwithappearance(i
, APP_SPEEDY_GLOVES
)) return i
;
3423 impossible("speedy gloves not found?");
3424 return -1; /* not 0, or caller would try again each move */
3432 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3433 if (itemnumwithappearance(i
, APP_VELVET_PUMPS
)) return i
;
3436 impossible("velvet pumps not found?");
3437 return -1; /* not 0, or caller would try again each move */
3441 find_not_slowing_down_boots()
3445 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3446 if (itemnumwithappearance(i
, APP_NOT_SLOWING_DOWN_BOOTS
)) return i
;
3449 impossible("not-slowing-down boots not found?");
3450 return -1; /* not 0, or caller would try again each move */
3458 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3459 if (itemnumwithappearance(i
, APP_BLADED_DISKS
)) return i
;
3462 impossible("bladed disks not found?");
3463 return -1; /* not 0, or caller would try again each move */
3467 find_volcanic_cloak()
3471 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3472 if (itemnumwithappearance(i
, APP_VOLCANIC_CLOAK
)) return i
;
3475 impossible("volcanic cloak not found?");
3476 return -1; /* not 0, or caller would try again each move */
3484 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3485 if (itemnumwithappearance(i
, APP_AIR_CLOAK
)) return i
;
3488 impossible("air cloak not found?");
3489 return -1; /* not 0, or caller would try again each move */
3493 find_vindale_cloak()
3497 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3498 if (itemnumwithappearance(i
, APP_VINDALE_CLOAK
)) return i
;
3501 impossible("vindale cloak not found?");
3502 return -1; /* not 0, or caller would try again each move */
3510 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3511 if (itemnumwithappearance(i
, APP_FUEL_CLOAK
)) return i
;
3514 impossible("fuel cloak not found?");
3515 return -1; /* not 0, or caller would try again each move */
3519 find_cloister_cloak()
3523 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3524 if (itemnumwithappearance(i
, APP_CLOISTER_CLOAK
)) return i
;
3527 impossible("cloister cloak not found?");
3528 return -1; /* not 0, or caller would try again each move */
3532 find_quantity_cloak()
3536 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3537 if (itemnumwithappearance(i
, APP_QUANTITY_CLOAK
)) return i
;
3540 impossible("quantity cloak not found?");
3541 return -1; /* not 0, or caller would try again each move */
3549 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3550 if (itemnumwithappearance(i
, APP_SHEMAGH
)) return i
;
3553 impossible("shemagh not found?");
3554 return -1; /* not 0, or caller would try again each move */
3558 find_visored_helmet()
3562 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3563 if (itemnumwithappearance(i
, APP_VISORED_HELMET
)) return i
;
3566 impossible("visored helmet not found?");
3567 return -1; /* not 0, or caller would try again each move */
3575 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3576 if (itemnumwithappearance(i
, APP_TT_HELMET
)) return i
;
3579 impossible("23 helmet not found?");
3580 return -1; /* not 0, or caller would try again each move */
3584 find_orange_visored_helmet()
3588 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3589 if (itemnumwithappearance(i
, APP_ORANGE_VISORED_HELMET
)) return i
;
3592 impossible("orange visored helmet not found?");
3593 return -1; /* not 0, or caller would try again each move */
3597 find_frequent_helmet()
3601 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3602 if (itemnumwithappearance(i
, APP_FREQUENT_HELMET
)) return i
;
3605 impossible("frequent helmet not found?");
3606 return -1; /* not 0, or caller would try again each move */
3610 find_serrated_helmet()
3614 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3615 if (itemnumwithappearance(i
, APP_SERRATED_HELMET
)) return i
;
3618 impossible("serrated helmet not found?");
3619 return -1; /* not 0, or caller would try again each move */
3627 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3628 if (itemnumwithappearance(i
, APP_THICK_BOOTS
)) return i
;
3631 impossible("thick boots not found?");
3632 return -1; /* not 0, or caller would try again each move */
3640 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3641 if (itemnumwithappearance(i
, APP_SAND_ALS
)) return i
;
3644 impossible("sand-als not found?");
3645 return -1; /* not 0, or caller would try again each move */
3649 find_shadowy_heels()
3653 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3654 if (itemnumwithappearance(i
, APP_SHADOWY_HEELS
)) return i
;
3657 impossible("shadowy heels not found?");
3658 return -1; /* not 0, or caller would try again each move */
3666 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3667 if (itemnumwithappearance(i
, APP_A_HEELS
)) return i
;
3670 impossible("a-heels not found?");
3671 return -1; /* not 0, or caller would try again each move */
3675 find_weight_attachment_boots()
3679 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3680 if (itemnumwithappearance(i
, APP_WEIGHT_ATTACHMENT_BOOTS
)) return i
;
3683 impossible("weight attachment boots not found?");
3684 return -1; /* not 0, or caller would try again each move */
3688 find_fungal_sandals()
3692 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3693 if (itemnumwithappearance(i
, APP_FUNGAL_SANDALS
)) return i
;
3696 impossible("fungal sandals not found?");
3697 return -1; /* not 0, or caller would try again each move */
3701 find_standing_footwear()
3705 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3706 if (itemnumwithappearance(i
, APP_STANDING_FOOTWEAR
)) return i
;
3709 impossible("standing footwear not found?");
3710 return -1; /* not 0, or caller would try again each move */
3718 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3719 if (itemnumwithappearance(i
, APP_SPUTA_BOOTS
)) return i
;
3722 impossible("sputa boots not found?");
3723 return -1; /* not 0, or caller would try again each move */
3727 find_formula_one_helmet()
3731 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3732 if (itemnumwithappearance(i
, APP_FORMULA_ONE_HELMET
)) return i
;
3735 impossible("formula one helmet not found?");
3736 return -1; /* not 0, or caller would try again each move */
3740 find_cosmetic_helmet()
3744 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3745 if (itemnumwithappearance(i
, APP_COSMETIC_HELMET
)) return i
;
3748 impossible("cosmetic helmet not found?");
3749 return -1; /* not 0, or caller would try again each move */
3753 find_excrement_cloak()
3757 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3758 if (itemnumwithappearance(i
, APP_EXCREMENT_CLOAK
)) return i
;
3761 impossible("excrement cloak not found?");
3762 return -1; /* not 0, or caller would try again each move */
3770 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3771 if (itemnumwithappearance(i
, APP_RACER_GLOVES
)) return i
;
3774 impossible("racer gloves not found?");
3775 return -1; /* not 0, or caller would try again each move */
3783 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3784 if (itemnumwithappearance(i
, APP_TURBO_BOOTS
)) return i
;
3787 impossible("turbo boots not found?");
3788 return -1; /* not 0, or caller would try again each move */
3796 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3797 if (itemnumwithappearance(i
, APP_GUILD_CLOAK
)) return i
;
3800 impossible("guild cloak not found?");
3801 return -1; /* not 0, or caller would try again each move */
3805 find_shitty_gloves()
3809 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3810 if (itemnumwithappearance(i
, APP_SHITTY_GLOVES
)) return i
;
3813 impossible("shitty gloves not found?");
3814 return -1; /* not 0, or caller would try again each move */
3818 find_foundry_cloak()
3822 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3823 if (itemnumwithappearance(i
, APP_FOUNDRY_CLOAK
)) return i
;
3826 impossible("foundry cloak not found?");
3827 return -1; /* not 0, or caller would try again each move */
3835 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3836 if (itemnumwithappearance(i
, APP_BAMBOO_CLOAK
)) return i
;
3839 impossible("bamboo cloak not found?");
3840 return -1; /* not 0, or caller would try again each move */
3848 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3849 if (itemnumwithappearance(i
, APP_WARNING_COAT
)) return i
;
3852 impossible("warning coat not found?");
3853 return -1; /* not 0, or caller would try again each move */
3857 find_spellsucking_cloak()
3861 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3862 if (itemnumwithappearance(i
, APP_SPELLSUCKING_CLOAK
)) return i
;
3865 impossible("spellsucking cloak not found?");
3866 return -1; /* not 0, or caller would try again each move */
3874 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3875 if (itemnumwithappearance(i
, APP_STORM_COAT
)) return i
;
3878 impossible("storm coat not found?");
3879 return -1; /* not 0, or caller would try again each move */
3883 find_fleeceling_cloak()
3887 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3888 if (itemnumwithappearance(i
, APP_FLEECELING_CLOAK
)) return i
;
3891 impossible("fleeceling cloak not found?");
3892 return -1; /* not 0, or caller would try again each move */
3896 find_princess_gloves()
3900 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3901 if (itemnumwithappearance(i
, APP_PRINCESS_GLOVES
)) return i
;
3904 impossible("princess gloves not found?");
3905 return -1; /* not 0, or caller would try again each move */
3909 find_uncanny_gloves()
3913 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3914 if (itemnumwithappearance(i
, APP_UNCANNY_GLOVES
)) return i
;
3917 impossible("uncanny gloves not found?");
3918 return -1; /* not 0, or caller would try again each move */
3922 find_slaying_gloves()
3926 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3927 if (itemnumwithappearance(i
, APP_SLAYING_GLOVES
)) return i
;
3930 impossible("slaying gloves not found?");
3931 return -1; /* not 0, or caller would try again each move */
3935 find_blue_sneakers()
3939 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3940 if (itemnumwithappearance(i
, APP_BLUE_SNEAKERS
)) return i
;
3943 impossible("blue sneakers not found?");
3944 return -1; /* not 0, or caller would try again each move */
3952 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3953 if (itemnumwithappearance(i
, APP_FEMMY_BOOTS
)) return i
;
3956 impossible("femmy boots not found?");
3957 return -1; /* not 0, or caller would try again each move */
3965 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3966 if (itemnumwithappearance(i
, APP_RED_SNEAKERS
)) return i
;
3969 impossible("red sneakers not found?");
3970 return -1; /* not 0, or caller would try again each move */
3974 find_yellow_sneakers()
3978 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3979 if (itemnumwithappearance(i
, APP_YELLOW_SNEAKERS
)) return i
;
3982 impossible("yellow sneakers not found?");
3983 return -1; /* not 0, or caller would try again each move */
3987 find_pink_sneakers()
3991 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
3992 if (itemnumwithappearance(i
, APP_PINK_SNEAKERS
)) return i
;
3995 impossible("pink sneakers not found?");
3996 return -1; /* not 0, or caller would try again each move */
4000 find_calf_leather_sandals()
4004 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4005 if (itemnumwithappearance(i
, APP_CALF_LEATHER_SANDALS
)) return i
;
4008 impossible("calf-leather sandals not found?");
4009 return -1; /* not 0, or caller would try again each move */
4013 find_velcro_sandals()
4017 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4018 if (itemnumwithappearance(i
, APP_VELCRO_SANDALS
)) return i
;
4021 impossible("velcro sandals not found?");
4022 return -1; /* not 0, or caller would try again each move */
4026 find_buffalo_boots()
4030 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4031 if (itemnumwithappearance(i
, APP_BUFFALO_BOOTS
)) return i
;
4034 impossible("buffalo boots not found?");
4035 return -1; /* not 0, or caller would try again each move */
4039 find_white_buffalo_boots()
4043 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4044 if (itemnumwithappearance(i
, APP_WHITE_BUFFALO_BOOTS
)) return i
;
4047 impossible("white buffalo boots not found?");
4048 return -1; /* not 0, or caller would try again each move */
4052 find_heroine_mocassins()
4056 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4057 if (itemnumwithappearance(i
, APP_HEROINE_MOCASSINS
)) return i
;
4060 impossible("heroine mocassins not found?");
4061 return -1; /* not 0, or caller would try again each move */
4069 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4070 if (itemnumwithappearance(i
, APP_LOLITA_BOOTS
)) return i
;
4073 impossible("lolita boots not found?");
4074 return -1; /* not 0, or caller would try again each move */
4082 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4083 if (itemnumwithappearance(i
, APP_FETISH_HEELS
)) return i
;
4086 impossible("fetish heels not found?");
4087 return -1; /* not 0, or caller would try again each move */
4091 find_weapon_light_boots()
4095 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4096 if (itemnumwithappearance(i
, APP_WEAPON_LIGHT_BOOTS
)) return i
;
4099 impossible("weapon light boots not found?");
4100 return -1; /* not 0, or caller would try again each move */
4104 find_rubynus_helmet()
4108 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4109 if (itemnumwithappearance(i
, APP_RUBYNUS_HELMET
)) return i
;
4112 impossible("rubynus helmet not found?");
4113 return -1; /* not 0, or caller would try again each move */
4117 find_cursed_called_cloak()
4121 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4122 if (itemnumwithappearance(i
, APP_CURSED_CALLED_CLOAK
)) return i
;
4125 impossible("cursed called cloak not found?");
4126 return -1; /* not 0, or caller would try again each move */
4130 find_fourchan_cloak()
4134 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4135 if (itemnumwithappearance(i
, APP_FOURCHAN_CLOAK
)) return i
;
4138 impossible("fourchan cloak not found?");
4139 return -1; /* not 0, or caller would try again each move */
4143 find_inalish_cloak()
4147 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4148 if (itemnumwithappearance(i
, APP_INALISH_CLOAK
)) return i
;
4151 impossible("inalish cloak not found?");
4152 return -1; /* not 0, or caller would try again each move */
4156 find_grunter_helmet()
4160 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4161 if (itemnumwithappearance(i
, APP_GRUNTER_HELMET
)) return i
;
4164 impossible("grunter helmet not found?");
4165 return -1; /* not 0, or caller would try again each move */
4169 find_cloudy_helmet()
4173 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4174 if (itemnumwithappearance(i
, APP_CLOUDY_HELMET
)) return i
;
4177 impossible("cloudy helmet not found?");
4178 return -1; /* not 0, or caller would try again each move */
4182 find_breath_control_helmet()
4186 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4187 if (itemnumwithappearance(i
, APP_BREATH_CONTROL_HELMET
)) return i
;
4190 impossible("breath control helmet not found?");
4191 return -1; /* not 0, or caller would try again each move */
4199 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4200 if (itemnumwithappearance(i
, APP_GAS_MASK
)) return i
;
4203 impossible("gas mask not found?");
4204 return -1; /* not 0, or caller would try again each move */
4212 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4213 if (itemnumwithappearance(i
, APP_SAGES_HELMET
)) return i
;
4216 impossible("sages helmet not found?");
4217 return -1; /* not 0, or caller would try again each move */
4221 find_rayductnay_gloves()
4225 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4226 if (itemnumwithappearance(i
, APP_RAYDUCTNAY_GLOVES
)) return i
;
4229 impossible("rayductnay gloves not found?");
4230 return -1; /* not 0, or caller would try again each move */
4238 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4239 if (itemnumwithappearance(i
, APP_ORGASM_PUMPS
)) return i
;
4242 impossible("orgasm pumps not found?");
4243 return -1; /* not 0, or caller would try again each move */
4247 find_alligator_pumps()
4251 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4252 if (itemnumwithappearance(i
, APP_ALLIGATOR_PUMPS
)) return i
;
4255 impossible("alligator pumps not found?");
4256 return -1; /* not 0, or caller would try again each move */
4260 find_worn_out_sneakers()
4264 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4265 if (itemnumwithappearance(i
, APP_WORN_OUT_SNEAKERS
)) return i
;
4268 impossible("worn-out sneakers not found?");
4269 return -1; /* not 0, or caller would try again each move */
4273 find_noble_sandals()
4277 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4278 if (itemnumwithappearance(i
, APP_NOBLE_SANDALS
)) return i
;
4281 impossible("noble sandals not found?");
4282 return -1; /* not 0, or caller would try again each move */
4286 find_doctor_claw_boots()
4290 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4291 if (itemnumwithappearance(i
, APP_DOCTOR_CLAW_BOOTS
)) return i
;
4294 impossible("doctor claw boots not found?");
4295 return -1; /* not 0, or caller would try again each move */
4299 find_feelgood_heels()
4303 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4304 if (itemnumwithappearance(i
, APP_FEELGOOD_HEELS
)) return i
;
4307 impossible("feelgood heels not found?");
4308 return -1; /* not 0, or caller would try again each move */
4316 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4317 if (itemnumwithappearance(i
, APP_PLOF_HEELS
)) return i
;
4320 impossible("plof heels not found?");
4321 return -1; /* not 0, or caller would try again each move */
4325 find_princess_pumps()
4329 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4330 if (itemnumwithappearance(i
, APP_PRINCESS_PUMPS
)) return i
;
4333 impossible("princess pumps not found?");
4334 return -1; /* not 0, or caller would try again each move */
4342 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4343 if (itemnumwithappearance(i
, APP_BALLET_HEELS
)) return i
;
4346 impossible("ballet heels not found?");
4347 return -1; /* not 0, or caller would try again each move */
4351 find_steel_toed_boots()
4355 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4356 if (itemnumwithappearance(i
, APP_STEEL_TOED_BOOTS
)) return i
;
4359 impossible("steel toed boots not found?");
4360 return -1; /* not 0, or caller would try again each move */
4368 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4369 if (itemnumwithappearance(i
, APP_MARJI_SHOES
)) return i
;
4372 impossible("marji shoes not found?");
4373 return -1; /* not 0, or caller would try again each move */
4381 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4382 if (itemnumwithappearance(i
, APP_HAMMER_SHOES
)) return i
;
4385 impossible("hammer shoes not found?");
4386 return -1; /* not 0, or caller would try again each move */
4390 find_stone_carved_heels()
4394 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4395 if (itemnumwithappearance(i
, APP_STONE_CARVED_HEELS
)) return i
;
4398 impossible("stone-carved heels not found?");
4399 return -1; /* not 0, or caller would try again each move */
4403 find_stupid_stilettos()
4407 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4408 if (itemnumwithappearance(i
, APP_STUPID_STILETTOS
)) return i
;
4411 impossible("stupid stilettos not found?");
4412 return -1; /* not 0, or caller would try again each move */
4420 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4421 if (itemnumwithappearance(i
, APP_HOMO_SHOES
)) return i
;
4424 impossible("homo shoes not found?");
4425 return -1; /* not 0, or caller would try again each move */
4429 find_devil_lettuce_shoes()
4433 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4434 if (itemnumwithappearance(i
, APP_DEVIL_LETTUCE_SHOES
)) return i
;
4437 impossible("devil's lettuce shoes not found?");
4438 return -1; /* not 0, or caller would try again each move */
4446 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4447 if (itemnumwithappearance(i
, APP_LOAFERS
)) return i
;
4450 impossible("loafers not found?");
4451 return -1; /* not 0, or caller would try again each move */
4459 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4460 if (itemnumwithappearance(i
, APP_SWEATY_SHOES
)) return i
;
4463 impossible("sweaty shoes not found?");
4464 return -1; /* not 0, or caller would try again each move */
4472 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4473 if (itemnumwithappearance(i
, APP_SISTER_SHOES
)) return i
;
4476 impossible("sister shoes not found?");
4477 return -1; /* not 0, or caller would try again each move */
4485 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4486 if (itemnumwithappearance(i
, APP_MARY_JANES
)) return i
;
4489 impossible("mary janes not found?");
4490 return -1; /* not 0, or caller would try again each move */
4494 find_business_shoes()
4498 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4499 if (itemnumwithappearance(i
, APP_BUSINESS_SHOES
)) return i
;
4502 impossible("business shoes not found?");
4503 return -1; /* not 0, or caller would try again each move */
4508 find_filigree_stilettos()
4512 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4513 if (itemnumwithappearance(i
, APP_FILIGREE_STILETTOS
)) return i
;
4516 impossible("filigree stilettos not found?");
4517 return -1; /* not 0, or caller would try again each move */
4522 find_silver_stilettos()
4526 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4527 if (itemnumwithappearance(i
, APP_SILVER_STILETTOS
)) return i
;
4530 impossible("silver stilettos not found?");
4531 return -1; /* not 0, or caller would try again each move */
4536 find_copper_stilettos()
4540 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4541 if (itemnumwithappearance(i
, APP_COPPER_STILETTOS
)) return i
;
4544 impossible("copper stilettos not found?");
4545 return -1; /* not 0, or caller would try again each move */
4550 find_diamond_stilettos()
4554 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4555 if (itemnumwithappearance(i
, APP_DIAMOND_STILETTOS
)) return i
;
4558 impossible("diamond stilettos not found?");
4559 return -1; /* not 0, or caller would try again each move */
4568 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4569 if (itemnumwithappearance(i
, APP_UGLY_BOOTS
)) return i
;
4572 impossible("ugly boots not found?");
4573 return -1; /* not 0, or caller would try again each move */
4582 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4583 if (itemnumwithappearance(i
, APP_UNISEX_PUMPS
)) return i
;
4586 impossible("unisex pumps not found?");
4587 return -1; /* not 0, or caller would try again each move */
4592 find_cuddle_cloth_boots()
4596 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4597 if (itemnumwithappearance(i
, APP_CUDDLE_CLOTH_BOOTS
)) return i
;
4600 impossible("cuddle cloth boots not found?");
4601 return -1; /* not 0, or caller would try again each move */
4606 find_garden_slippers()
4610 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4611 if (itemnumwithappearance(i
, APP_GARDEN_SLIPPERS
)) return i
;
4614 impossible("garden slippers not found?");
4615 return -1; /* not 0, or caller would try again each move */
4620 find_everlasting_boots()
4624 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4625 if (itemnumwithappearance(i
, APP_EVERLASTING_BOOTS
)) return i
;
4628 impossible("everlasting boots not found?");
4629 return -1; /* not 0, or caller would try again each move */
4638 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4639 if (itemnumwithappearance(i
, APP_DYKE_BOOTS
)) return i
;
4642 impossible("dyke boots not found?");
4643 return -1; /* not 0, or caller would try again each move */
4648 find_ankle_strap_sandals()
4652 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4653 if (itemnumwithappearance(i
, APP_ANKLE_STRAP_SANDALS
)) return i
;
4656 impossible("ankle strap sandals not found?");
4657 return -1; /* not 0, or caller would try again each move */
4666 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4667 if (itemnumwithappearance(i
, APP_ANKLE_BOOTS
)) return i
;
4670 impossible("ankle boots not found?");
4671 return -1; /* not 0, or caller would try again each move */
4676 find_demonologist_boots()
4680 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4681 if (itemnumwithappearance(i
, APP_DEMONOLOGIST_BOOTS
)) return i
;
4684 impossible("demonologist boots not found?");
4685 return -1; /* not 0, or caller would try again each move */
4694 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4695 if (itemnumwithappearance(i
, APP_MUD_BOOTS
)) return i
;
4698 impossible("mud boots not found?");
4699 return -1; /* not 0, or caller would try again each move */
4708 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4709 if (itemnumwithappearance(i
, APP_FAILED_SHOES
)) return i
;
4712 impossible("failed shoes not found?");
4713 return -1; /* not 0, or caller would try again each move */
4722 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4723 if (itemnumwithappearance(i
, APP_OPERA_PUMPS
)) return i
;
4726 impossible("opera pumps not found?");
4727 return -1; /* not 0, or caller would try again each move */
4736 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4737 if (itemnumwithappearance(i
, APP_WOODEN_CLOGS
)) return i
;
4740 impossible("wooden clogs not found?");
4741 return -1; /* not 0, or caller would try again each move */
4746 find_regular_sneakers()
4750 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4751 if (itemnumwithappearance(i
, APP_REGULAR_SNEAKERS
)) return i
;
4754 impossible("regular sneakers not found?");
4755 return -1; /* not 0, or caller would try again each move */
4760 find_exceptional_sneakers()
4764 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4765 if (itemnumwithappearance(i
, APP_EXCEPTIONAL_SNEAKERS
)) return i
;
4768 impossible("exceptional sneakers not found?");
4769 return -1; /* not 0, or caller would try again each move */
4774 find_elite_sneakers()
4778 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4779 if (itemnumwithappearance(i
, APP_ELITE_SNEAKERS
)) return i
;
4782 impossible("elite sneakers not found?");
4783 return -1; /* not 0, or caller would try again each move */
4788 find_cyan_sneakers()
4792 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4793 if (itemnumwithappearance(i
, APP_CYAN_SNEAKERS
)) return i
;
4796 impossible("cyan sneakers not found?");
4797 return -1; /* not 0, or caller would try again each move */
4807 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4808 if (itemnumwithappearance(i
, APP_BIKER_BOOTS
)) return i
;
4811 impossible("biker boots not found?");
4812 return -1; /* not 0, or caller would try again each move */
4817 find_zero_drop_shoes()
4821 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4822 if (itemnumwithappearance(i
, APP_ZERO_DROP_SHOES
)) return i
;
4825 impossible("zero drop shoes not found?");
4826 return -1; /* not 0, or caller would try again each move */
4835 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4836 if (itemnumwithappearance(i
, APP_HIKING_BOOTS
)) return i
;
4839 impossible("hiking boots not found?");
4840 return -1; /* not 0, or caller would try again each move */
4849 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4850 if (itemnumwithappearance(i
, APP_POPE_HAT
)) return i
;
4853 impossible("pope hat not found?");
4854 return -1; /* not 0, or caller would try again each move */
4863 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4864 if (itemnumwithappearance(i
, APP_CORONA_MASK
)) return i
;
4867 impossible("corona mask not found?");
4868 return -1; /* not 0, or caller would try again each move */
4873 find_anachro_helmet()
4877 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4878 if (itemnumwithappearance(i
, APP_ANACHRO_HELMET
)) return i
;
4881 impossible("anachronononononaut helmet not found?");
4882 return -1; /* not 0, or caller would try again each move */
4887 find_ornamental_cope()
4891 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4892 if (itemnumwithappearance(i
, APP_ORNAMENTAL_COPE
)) return i
;
4895 impossible("ornamental cope not found?");
4896 return -1; /* not 0, or caller would try again each move */
4905 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4906 if (itemnumwithappearance(i
, APP_WETSUIT
)) return i
;
4909 impossible("wetsuit not found?");
4910 return -1; /* not 0, or caller would try again each move */
4915 find_multilinguitis_gloves()
4919 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4920 if (itemnumwithappearance(i
, APP_MULTILINGUITIS_GLOVES
)) return i
;
4923 impossible("multilinguitis gloves not found?");
4924 return -1; /* not 0, or caller would try again each move */
4929 find_throwaway_sandals()
4933 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4934 if (itemnumwithappearance(i
, APP_THROWAWAY_SANDALS
)) return i
;
4937 impossible("throwaway sandals not found?");
4938 return -1; /* not 0, or caller would try again each move */
4943 find_sharp_edged_sandals()
4947 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4948 if (itemnumwithappearance(i
, APP_SHARP_EDGED_SANDALS
)) return i
;
4951 impossible("sharp-edged sandals not found?");
4952 return -1; /* not 0, or caller would try again each move */
4957 find_nondescript_gloves()
4961 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4962 if (itemnumwithappearance(i
, APP_NONDESCRIPT_GLOVES
)) return i
;
4965 impossible("nondescript gloves not found?");
4966 return -1; /* not 0, or caller would try again each move */
4975 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4976 if (itemnumwithappearance(i
, APP_LEAD_BOOTS
)) return i
;
4979 impossible("lead boots not found?");
4980 return -1; /* not 0, or caller would try again each move */
4985 find_machinery_boots()
4989 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
4990 if (itemnumwithappearance(i
, APP_MACHINERY_BOOTS
)) return i
;
4993 impossible("machinery boots not found?");
4994 return -1; /* not 0, or caller would try again each move */
4999 find_christmas_child_mode_boots()
5003 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5004 if (itemnumwithappearance(i
, APP_CHRISTMAS_CHILD_MODE_BOOTS
)) return i
;
5007 impossible("christmas child mode boots not found?");
5008 return -1; /* not 0, or caller would try again each move */
5013 find_sandals_with_socks()
5017 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5018 if (itemnumwithappearance(i
, APP_SANDALS_WITH_SOCKS
)) return i
;
5021 impossible("sandals with socks not found?");
5022 return -1; /* not 0, or caller would try again each move */
5027 find_wedge_sneakers()
5031 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5032 if (itemnumwithappearance(i
, APP_WEDGE_SNEAKERS
)) return i
;
5035 impossible("wedge sneakers not found?");
5036 return -1; /* not 0, or caller would try again each move */
5041 find_barefoot_shoes()
5045 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5046 if (itemnumwithappearance(i
, APP_BAREFOOT_SHOES
)) return i
;
5049 impossible("barefoot shoes not found?");
5050 return -1; /* not 0, or caller would try again each move */
5055 find_blockchoc_boots()
5059 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5060 if (itemnumwithappearance(i
, APP_BLOCKCHOC_BOOTS
)) return i
;
5063 impossible("blockchoc boots not found?");
5064 return -1; /* not 0, or caller would try again each move */
5069 find_platform_sneakers()
5073 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5074 if (itemnumwithappearance(i
, APP_PLATFORM_SNEAKERS
)) return i
;
5077 impossible("platform sneakers not found?");
5078 return -1; /* not 0, or caller would try again each move */
5083 find_platform_fleecies()
5087 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5088 if (itemnumwithappearance(i
, APP_PLATFORM_FLEECIES
)) return i
;
5091 impossible("platform fleecies not found?");
5092 return -1; /* not 0, or caller would try again each move */
5097 find_iceblock_heels()
5101 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5102 if (itemnumwithappearance(i
, APP_ICEBLOCK_HEELS
)) return i
;
5105 impossible("iceblock heels not found?");
5106 return -1; /* not 0, or caller would try again each move */
5111 find_retractable_block_heels()
5115 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5116 if (itemnumwithappearance(i
, APP_RETRACTABLE_BLOCK_HEELS
)) return i
;
5119 impossible("retractable block heels not found?");
5120 return -1; /* not 0, or caller would try again each move */
5125 find_paragraph_shoes()
5129 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5130 if (itemnumwithappearance(i
, APP_PARAGRAPH_SHOES
)) return i
;
5133 impossible("paragraph shoes not found?");
5134 return -1; /* not 0, or caller would try again each move */
5139 find_instafeminism_shoes()
5143 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5144 if (itemnumwithappearance(i
, APP_INSTAFEMINISM_SHOES
)) return i
;
5147 impossible("instafeminism shoes not found?");
5148 return -1; /* not 0, or caller would try again each move */
5153 find_paragraph_sandals()
5157 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5158 if (itemnumwithappearance(i
, APP_PARAGRAPH_SANDALS
)) return i
;
5161 impossible("paragraph sandals not found?");
5162 return -1; /* not 0, or caller would try again each move */
5171 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5172 if (itemnumwithappearance(i
, APP_BRIDAL_SHOES
)) return i
;
5175 impossible("bridal shoes not found?");
5176 return -1; /* not 0, or caller would try again each move */
5185 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5186 if (itemnumwithappearance(i
, APP_PISTOL_BOOTS
)) return i
;
5189 impossible("pistol boots not found?");
5190 return -1; /* not 0, or caller would try again each move */
5199 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5200 if (itemnumwithappearance(i
, APP_NG_SHOES
)) return i
;
5203 impossible("ng shoes not found?");
5204 return -1; /* not 0, or caller would try again each move */
5209 find_chelsea_boots()
5213 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5214 if (itemnumwithappearance(i
, APP_CHELSEA_BOOTS
)) return i
;
5217 impossible("chelsea boots not found?");
5218 return -1; /* not 0, or caller would try again each move */
5223 find_strip_bandana()
5227 for (i
= HAWAIIAN_SHIRT
; i
<= LEVITATION_BOOTS
; i
++) {
5228 if (itemnumwithappearance(i
, APP_STRIP_BANDANA
)) return i
;
5231 impossible("strip bandana not found?");
5232 return -1; /* not 0, or caller would try again each move */
5237 oinit() /* level dependent initialization */
5249 if (perform_bwrite(mode
)) {
5250 bwrite(fd
, (void *)bases
, sizeof bases
);
5251 bwrite(fd
, (void *)disco
, sizeof disco
);
5252 bwrite(fd
, (void *)objects
,
5253 sizeof(struct objclass
) * NUM_OBJECTS
);
5254 /*bwrite(fd, (void *)mons,
5255 sizeof(struct permonst) * NUMMONS);*/
5257 /* as long as we use only one version of Hack we
5258 need not save oc_name and oc_descr, but we must save
5259 oc_uname for all objects */
5260 for (i
= 0; i
< NUM_OBJECTS
; i
++)
5261 if (objects
[i
].oc_uname
) {
5262 if (perform_bwrite(mode
)) {
5263 len
= strlen(objects
[i
].oc_uname
)+1;
5264 bwrite(fd
, (void *)&len
, sizeof len
);
5265 bwrite(fd
, (void *)objects
[i
].oc_uname
, len
);
5267 if (release_data(mode
)) {
5268 free((void *)objects
[i
].oc_uname
);
5269 objects
[i
].oc_uname
= 0;
5281 mread(fd
, (void *) bases
, sizeof bases
);
5282 mread(fd
, (void *) disco
, sizeof disco
);
5283 mread(fd
, (void *) objects
, sizeof(struct objclass
) * NUM_OBJECTS
);
5284 /*mread(fd, (void *) mons, sizeof(struct permonst) * NUMMONS);*/
5285 for (i
= 0; i
< NUM_OBJECTS
; i
++)
5286 if (objects
[i
].oc_uname
) {
5287 mread(fd
, (void *) &len
, sizeof len
);
5288 objects
[i
].oc_uname
= (char *) alloc(len
);
5289 mread(fd
, (void *)objects
[i
].oc_uname
, len
);
5294 #ifdef PROXY_GRAPHICS
5295 shuffle_proxy_glyphs();
5300 discover_object(oindx
, mark_as_known
, credit_hero
)
5302 boolean mark_as_known
;
5303 boolean credit_hero
;
5305 /* KMH -- If we are hallucinating, we aren't sure of the object description */
5306 if (Hallucination
) return;
5307 if (Race_if(PM_DE_ENERGISER
)) return;
5308 if (u
.deenergiserpersist
) return;
5310 if (!objects
[oindx
].oc_name_known
) {
5311 register int dindx
, acls
= objects
[oindx
].oc_class
;
5313 /* Loop thru disco[] 'til we find the target (which may have been
5314 uname'd) or the next open slot; one or the other will be found
5315 before we reach the next class...
5317 for (dindx
= bases
[acls
]; disco
[dindx
] != 0; dindx
++)
5318 if (disco
[dindx
] == oindx
) break;
5319 disco
[dindx
] = oindx
;
5321 if (mark_as_known
) {
5322 objects
[oindx
].oc_name_known
= 1;
5323 if (credit_hero
) exercise(A_WIS
, TRUE
);
5325 if (moves
> 1L) update_inventory();
5327 if ((Role_if(PM_PRIEST
) || Role_if(PM_NECROMANCER
) || Role_if(PM_CHEVALIER
) || Race_if(PM_VEELA
)) && !(LeftInventoryBug
|| u
.uprops
[LEFT_INVENTORY
].extrinsic
|| have_leftinventorystone()) ) {
5328 use_skill(P_SPIRITUALITY
, Role_if(PM_PRIEST
) ? 3 : 1);
5335 /* if a class name has been cleared, we may need to purge it from disco[] */
5337 undiscover_object(oindx
)
5340 if (!objects
[oindx
].oc_name_known
) {
5341 register int dindx
, acls
= objects
[oindx
].oc_class
;
5342 register boolean found
= FALSE
;
5344 /* find the object; shift those behind it forward one slot */
5345 for (dindx
= bases
[acls
];
5346 dindx
< NUM_OBJECTS
&& disco
[dindx
] != 0
5347 && objects
[dindx
].oc_class
== acls
; dindx
++)
5349 disco
[dindx
-1] = disco
[dindx
];
5350 else if (disco
[dindx
] == oindx
)
5353 /* clear last slot */
5354 if (found
) disco
[dindx
-1] = 0;
5355 else impossible("named object not in disco");
5361 interesting_to_discover(i
)
5364 /* Pre-discovered objects are now printed with a '*' */
5365 return((boolean
)(objects
[i
].oc_uname
!= (char *)0 ||
5366 (objects
[i
].oc_name_known
&& OBJ_DESCR(objects
[i
]) != (char *)0)));
5369 /* items that should stand out once they're known */
5370 static short uniq_objs
[] = {
5372 SPE_BOOK_OF_THE_DEAD
,
5373 CANDELABRUM_OF_INVOCATION
,
5378 dodiscovered() /* free after Robert Viduya */
5380 register int i
, dis
;
5382 char *s
, oclass
, prev_class
, classes
[MAXOCLASSES
];
5383 char buf
[BUFSZ
]; /* WAC */
5386 menu_item
*selected
;
5388 if (PlayerUninformation
) {
5389 pline("You've discovered absolutely everything, yet you still don't know what do to with it.");
5393 tmpwin
= create_nhwindow(NHW_MENU
);
5395 * Use the add_menu() interface so that eg., GTK windowing port
5396 * can display the relevant glyphs --ALI
5401 add_menu(tmpwin
, NO_GLYPH
, &any
, 0, 0, ATR_BOLD
, "Discoveries",
5403 add_menu(tmpwin
, NO_GLYPH
, &any
, 0, 0, ATR_NONE
, "",
5406 /* gather "unique objects" into a pseudo-class; note that they'll
5407 also be displayed individually within their regular class */
5408 for (i
= dis
= 0; i
< SIZE(uniq_objs
); i
++)
5409 if (objects
[uniq_objs
[i
]].oc_name_known
) {
5411 add_menu(tmpwin
, NO_GLYPH
, &any
, 0, 0, iflags
.menu_headings
,
5412 "Unique Items", MENU_UNSELECTED
);
5413 sprintf(buf
, " %s", OBJ_NAME(objects
[uniq_objs
[i
]]));
5414 add_menu(tmpwin
, objnum_to_glyph(uniq_objs
[i
]), &any
,
5415 0, 0, ATR_NONE
, buf
, MENU_UNSELECTED
);
5418 /* display any known artifacts as another pseudo-class */
5420 ct
+= disp_artifact_discoveries(tmpwin
);
5422 /* several classes are omitted from packorder; one is of interest here */
5423 strcpy(classes
, flags
.inv_order
);
5424 if (!index(classes
, MAXOCLASSES
)) {
5430 for (s
= classes
; *s
; s
++) {
5432 prev_class
= oclass
+ 1; /* forced different from oclass */
5433 for (i
= bases
[(int)oclass
];
5434 i
< NUM_OBJECTS
&& objects
[i
].oc_class
== oclass
; i
++) {
5435 if ((dis
= disco
[i
]) && interesting_to_discover(dis
)) {
5437 if (oclass
!= prev_class
) {
5438 add_menu(tmpwin
, NO_GLYPH
, &any
, 0, 0, iflags
.menu_headings
,
5439 let_to_name(oclass
, FALSE
, FALSE
), MENU_UNSELECTED
);
5440 prev_class
= oclass
;
5442 sprintf(buf
, "%s %s",(objects
[dis
].oc_pre_discovered
? "*" : " "),
5444 add_menu(tmpwin
, objnum_to_glyph(dis
), &any
, 0, 0,
5445 ATR_NONE
, buf
, MENU_UNSELECTED
);
5449 end_menu(tmpwin
, (char *) 0);
5451 You("haven't discovered anything yet...");
5453 (void) select_menu(tmpwin
, PICK_NONE
, &selected
);
5454 destroy_nhwindow(tmpwin
);
5464 register int i
, dis
;
5466 char *s
, oclass
, prev_class
, classes
[MAXOCLASSES
];
5467 char buf
[BUFSZ
]; /* WAC */
5470 dump("", "Discoveries");
5472 /* gather "unique objects" into a pseudo-class; note that they'll
5473 also be displayed individually within their regular class */
5474 for (i
= dis
= 0; i
< SIZE(uniq_objs
); i
++)
5475 if (objects
[uniq_objs
[i
]].oc_name_known
) {
5477 dump("", " Unique Items");
5478 sprintf(buf
, " %s", OBJ_NAME(objects
[uniq_objs
[i
]]));
5483 dump_artifact_discoveries();
5485 /* several classes are omitted from packorder; one is of interest here */
5486 strcpy(classes
, flags
.inv_order
);
5487 if (!index(classes
, MAXOCLASSES
)) {
5493 for (s
= classes
; *s
; s
++) {
5495 prev_class
= oclass
+ 1; /* forced different from oclass */
5496 for (i
= bases
[(int)oclass
];
5497 i
< NUM_OBJECTS
&& objects
[i
].oc_class
== oclass
; i
++) {
5498 if ((dis
= disco
[i
]) && interesting_to_discover(dis
)) {
5500 if (oclass
!= prev_class
) {
5502 sprintf(buf
, " %s", let_to_name(oclass
, FALSE
, FALSE
));
5505 prev_class
= oclass
;
5507 sprintf(buf
, "%s %s",(objects
[dis
].oc_pre_discovered
? "*" : " "),
5514 dump("", "You haven't discovered anything at all...");
5518 } /* dump_discoveries */