def.objects.h revision 1.6 1 1.6 jsm /* $NetBSD: def.objects.h,v 1.6 2003/04/02 18:36:34 jsm Exp $ */
2 1.4 christos
3 1.2 mycroft /*
4 1.6 jsm * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica,
5 1.6 jsm * Amsterdam
6 1.6 jsm * All rights reserved.
7 1.6 jsm *
8 1.6 jsm * Redistribution and use in source and binary forms, with or without
9 1.6 jsm * modification, are permitted provided that the following conditions are
10 1.6 jsm * met:
11 1.6 jsm *
12 1.6 jsm * - Redistributions of source code must retain the above copyright notice,
13 1.6 jsm * this list of conditions and the following disclaimer.
14 1.6 jsm *
15 1.6 jsm * - Redistributions in binary form must reproduce the above copyright
16 1.6 jsm * notice, this list of conditions and the following disclaimer in the
17 1.6 jsm * documentation and/or other materials provided with the distribution.
18 1.6 jsm *
19 1.6 jsm * - Neither the name of the Stichting Centrum voor Wiskunde en
20 1.6 jsm * Informatica, nor the names of its contributors may be used to endorse or
21 1.6 jsm * promote products derived from this software without specific prior
22 1.6 jsm * written permission.
23 1.6 jsm *
24 1.6 jsm * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
25 1.6 jsm * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
26 1.6 jsm * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
27 1.6 jsm * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
28 1.6 jsm * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 1.6 jsm * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
30 1.6 jsm * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
31 1.6 jsm * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
32 1.6 jsm * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
33 1.6 jsm * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
34 1.6 jsm * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 1.2 mycroft */
36 1.6 jsm
37 1.6 jsm /*
38 1.6 jsm * Copyright (c) 1982 Jay Fenlason <hack (at) gnu.org>
39 1.6 jsm * All rights reserved.
40 1.6 jsm *
41 1.6 jsm * Redistribution and use in source and binary forms, with or without
42 1.6 jsm * modification, are permitted provided that the following conditions
43 1.6 jsm * are met:
44 1.6 jsm * 1. Redistributions of source code must retain the above copyright
45 1.6 jsm * notice, this list of conditions and the following disclaimer.
46 1.6 jsm * 2. Redistributions in binary form must reproduce the above copyright
47 1.6 jsm * notice, this list of conditions and the following disclaimer in the
48 1.6 jsm * documentation and/or other materials provided with the distribution.
49 1.6 jsm * 3. The name of the author may not be used to endorse or promote products
50 1.6 jsm * derived from this software without specific prior written permission.
51 1.6 jsm *
52 1.6 jsm * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
53 1.6 jsm * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
54 1.6 jsm * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
55 1.6 jsm * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
56 1.6 jsm * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
57 1.6 jsm * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
58 1.6 jsm * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
59 1.6 jsm * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
60 1.6 jsm * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
61 1.6 jsm * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
62 1.6 jsm */
63 1.6 jsm
64 1.4 christos #ifndef _DEF_OBJECTS_H_
65 1.4 christos #define _DEF_OBJECTS_H_
66 1.1 cgd /* objects have letter " % ) ( 0 _ ` [ ! ? / = * */
67 1.1 cgd #include "config.h"
68 1.1 cgd #include "def.objclass.h"
69 1.1 cgd
70 1.1 cgd struct objclass objects[] = {
71 1.1 cgd
72 1.1 cgd { "strange object", NULL, NULL, 1, 0,
73 1.1 cgd ILLOBJ_SYM, 0, 0, 0, 0, 0, 0 },
74 1.1 cgd { "amulet of Yendor", NULL, NULL, 1, 0,
75 1.1 cgd AMULET_SYM, 100, 0, 2, 0, 0, 0 },
76 1.1 cgd
77 1.1 cgd #define FOOD(name,prob,delay,weight,nutrition) { name, NULL, NULL, 1, 1,\
78 1.1 cgd FOOD_SYM, prob, delay, weight, 0, 0, nutrition }
79 1.1 cgd
80 1.1 cgd /* dog eats foods 0-4 but prefers 1 above 0,2,3,4 */
81 1.1 cgd /* food 4 can be read */
82 1.1 cgd /* food 5 improves your vision */
83 1.1 cgd /* food 6 makes you stronger (like Popeye) */
84 1.1 cgd /* foods CORPSE up to CORPSE+52 are cadavers */
85 1.1 cgd
86 1.1 cgd FOOD("food ration", 50, 5, 4, 800),
87 1.1 cgd FOOD("tripe ration", 20, 1, 2, 200),
88 1.1 cgd FOOD("pancake", 3, 1, 1, 200),
89 1.1 cgd FOOD("dead lizard", 3, 0, 1, 40),
90 1.1 cgd FOOD("fortune cookie", 7, 0, 1, 40),
91 1.1 cgd FOOD("carrot", 2, 0, 1, 50),
92 1.1 cgd FOOD("tin", 7, 0, 1, 0),
93 1.1 cgd FOOD("orange", 1, 0, 1, 80),
94 1.1 cgd FOOD("apple", 1, 0, 1, 50),
95 1.1 cgd FOOD("pear", 1, 0, 1, 50),
96 1.1 cgd FOOD("melon", 1, 0, 1, 100),
97 1.1 cgd FOOD("banana", 1, 0, 1, 80),
98 1.1 cgd FOOD("candy bar", 1, 0, 1, 100),
99 1.1 cgd FOOD("egg", 1, 0, 1, 80),
100 1.1 cgd FOOD("clove of garlic", 1, 0, 1, 40),
101 1.1 cgd FOOD("lump of royal jelly", 0, 0, 1, 200),
102 1.1 cgd
103 1.1 cgd FOOD("dead human", 0, 4, 40, 400),
104 1.1 cgd FOOD("dead giant ant", 0, 1, 3, 30),
105 1.1 cgd FOOD("dead giant bat", 0, 1, 3, 30),
106 1.1 cgd FOOD("dead centaur", 0, 5, 50, 500),
107 1.1 cgd FOOD("dead dragon", 0, 15, 150, 1500),
108 1.1 cgd FOOD("dead floating eye", 0, 1, 1, 10),
109 1.1 cgd FOOD("dead freezing sphere", 0, 1, 1, 10),
110 1.1 cgd FOOD("dead gnome", 0, 1, 10, 100),
111 1.1 cgd FOOD("dead hobgoblin", 0, 2, 20, 200),
112 1.1 cgd FOOD("dead stalker", 0, 4, 40, 400),
113 1.1 cgd FOOD("dead jackal", 0, 1, 10, 100),
114 1.1 cgd FOOD("dead kobold", 0, 1, 10, 100),
115 1.1 cgd FOOD("dead leprechaun", 0, 4, 40, 400),
116 1.1 cgd FOOD("dead mimic", 0, 4, 40, 400),
117 1.1 cgd FOOD("dead nymph", 0, 4, 40, 400),
118 1.1 cgd FOOD("dead orc", 0, 2, 20, 200),
119 1.1 cgd FOOD("dead purple worm", 0, 7, 70, 700),
120 1.1 cgd FOOD("dead quasit", 0, 2, 20, 200),
121 1.1 cgd FOOD("dead rust monster", 0, 5, 50, 500),
122 1.1 cgd FOOD("dead snake", 0, 1, 10, 100),
123 1.1 cgd FOOD("dead troll", 0, 4, 40, 400),
124 1.1 cgd FOOD("dead umber hulk", 0, 5, 50, 500),
125 1.1 cgd FOOD("dead vampire", 0, 4, 40, 400),
126 1.1 cgd FOOD("dead wraith", 0, 1, 1, 10),
127 1.1 cgd FOOD("dead xorn", 0, 7, 70, 700),
128 1.1 cgd FOOD("dead yeti", 0, 7, 70, 700),
129 1.1 cgd FOOD("dead zombie", 0, 1, 3, 30),
130 1.1 cgd FOOD("dead acid blob", 0, 1, 3, 30),
131 1.1 cgd FOOD("dead giant beetle", 0, 1, 1, 10),
132 1.1 cgd FOOD("dead cockatrice", 0, 1, 3, 30),
133 1.1 cgd FOOD("dead dog", 0, 2, 20, 200),
134 1.1 cgd FOOD("dead ettin", 0, 1, 3, 30),
135 1.1 cgd FOOD("dead fog cloud", 0, 1, 1, 10),
136 1.1 cgd FOOD("dead gelatinous cube", 0, 1, 10, 100),
137 1.1 cgd FOOD("dead homunculus", 0, 2, 20, 200),
138 1.1 cgd FOOD("dead imp", 0, 1, 1, 10),
139 1.1 cgd FOOD("dead jaguar", 0, 3, 30, 300),
140 1.1 cgd FOOD("dead killer bee", 0, 1, 1, 10),
141 1.1 cgd FOOD("dead leocrotta", 0, 5, 50, 500),
142 1.1 cgd FOOD("dead minotaur", 0, 7, 70, 700),
143 1.1 cgd FOOD("dead nurse", 0, 4, 40, 400),
144 1.1 cgd FOOD("dead owlbear", 0, 7, 70, 700),
145 1.1 cgd FOOD("dead piercer", 0, 2, 20, 200),
146 1.1 cgd FOOD("dead quivering blob", 0, 1, 10, 100),
147 1.1 cgd FOOD("dead giant rat", 0, 1, 3, 30),
148 1.1 cgd FOOD("dead giant scorpion", 0, 1, 10, 100),
149 1.1 cgd FOOD("dead tengu", 0, 3, 30, 300),
150 1.1 cgd FOOD("dead unicorn", 0, 3, 30, 300),
151 1.1 cgd FOOD("dead violet fungi", 0, 1, 10, 100),
152 1.1 cgd FOOD("dead long worm", 0, 5, 50, 500),
153 1.1 cgd /* %% wt of long worm should be proportional to its length */
154 1.1 cgd FOOD("dead xan", 0, 3, 30, 300),
155 1.1 cgd FOOD("dead yellow light", 0, 1, 1, 10),
156 1.1 cgd FOOD("dead zruty", 0, 6, 60, 600),
157 1.1 cgd
158 1.1 cgd /* weapons ... - ROCK come several at a time */
159 1.1 cgd /* weapons ... - (ROCK-1) are shot using idem+(BOW-ARROW) */
160 1.1 cgd /* weapons AXE, SWORD, THSWORD are good for worm-cutting */
161 1.1 cgd /* weapons (PICK-)AXE, DAGGER, CRYSKNIFE are good for tin-opening */
162 1.1 cgd #define WEAPON(name,prob,wt,ldam,sdam) { name, NULL, NULL, 1, 0 /*%%*/,\
163 1.1 cgd WEAPON_SYM, prob, 0, wt, ldam, sdam, 0 }
164 1.1 cgd
165 1.1 cgd WEAPON("arrow", 7, 0, 6, 6),
166 1.1 cgd WEAPON("sling bullet", 7, 0, 4, 6),
167 1.1 cgd WEAPON("crossbow bolt", 7, 0, 4, 6),
168 1.1 cgd WEAPON("dart", 7, 0, 3, 2),
169 1.1 cgd WEAPON("rock", 6, 1, 3, 3),
170 1.1 cgd WEAPON("boomerang", 2, 3, 9, 9),
171 1.1 cgd WEAPON("mace", 9, 3, 6, 7),
172 1.1 cgd WEAPON("axe", 6, 3, 6, 4),
173 1.1 cgd WEAPON("flail", 6, 3, 6, 5),
174 1.1 cgd WEAPON("long sword", 8, 3, 8, 12),
175 1.1 cgd WEAPON("two handed sword", 6, 4, 12, 6),
176 1.1 cgd WEAPON("dagger", 6, 3, 4, 3),
177 1.1 cgd WEAPON("worm tooth", 0, 4, 2, 2),
178 1.1 cgd WEAPON("crysknife", 0, 3, 10, 10),
179 1.1 cgd WEAPON("spear", 6, 3, 6, 8),
180 1.1 cgd WEAPON("bow", 6, 3, 4, 6),
181 1.1 cgd WEAPON("sling", 5, 3, 6, 6),
182 1.1 cgd WEAPON("crossbow", 6, 3, 4, 6),
183 1.1 cgd
184 1.1 cgd { "whistle", "whistle", NULL, 0, 0,
185 1.1 cgd TOOL_SYM, 90, 0, 2, 0, 0, 0 },
186 1.1 cgd { "magic whistle", "whistle", NULL, 0, 0,
187 1.1 cgd TOOL_SYM, 10, 0, 2, 0, 0, 0 },
188 1.1 cgd { "expensive camera", NULL, NULL, 1, 1,
189 1.1 cgd TOOL_SYM, 0, 0, 3, 0, 0, 0 },
190 1.1 cgd { "ice box", "large box", NULL, 0, 0,
191 1.1 cgd TOOL_SYM, 0, 0, 40, 0, 0, 0 },
192 1.1 cgd { "pick-axe", NULL, NULL, 1, 1,
193 1.1 cgd TOOL_SYM, 0, 0, 5, 6, 3, 0 },
194 1.1 cgd { "can opener", NULL, NULL, 1, 1,
195 1.1 cgd TOOL_SYM, 0, 0, 1, 0, 0, 0 },
196 1.1 cgd { "heavy iron ball", NULL, NULL, 1, 0,
197 1.1 cgd BALL_SYM, 100, 0, 20, 0, 0, 0 },
198 1.1 cgd { "iron chain", NULL, NULL, 1, 0,
199 1.1 cgd CHAIN_SYM, 100, 0, 20, 0, 0, 0 },
200 1.1 cgd { "enormous rock", NULL, NULL, 1, 0,
201 1.1 cgd ROCK_SYM, 100, 0, 200 /* > MAX_CARR_CAP */, 0, 0, 0 },
202 1.1 cgd
203 1.1 cgd #define ARMOR(name,prob,delay,ac,can) { name, NULL, NULL, 1, 0,\
204 1.1 cgd ARMOR_SYM, prob, delay, 8, ac, can, 0 }
205 1.1 cgd ARMOR("helmet", 3, 1, 9, 0),
206 1.1 cgd ARMOR("plate mail", 5, 5, 3, 2),
207 1.1 cgd ARMOR("splint mail", 8, 5, 4, 1),
208 1.1 cgd ARMOR("banded mail", 10, 5, 4, 0),
209 1.1 cgd ARMOR("chain mail", 10, 5, 5, 1),
210 1.1 cgd ARMOR("scale mail", 10, 5, 6, 0),
211 1.1 cgd ARMOR("ring mail", 15, 5, 7, 0),
212 1.1 cgd /* the armors below do not rust */
213 1.1 cgd ARMOR("studded leather armor", 13, 3, 7, 1),
214 1.1 cgd ARMOR("leather armor", 17, 3, 8, 0),
215 1.1 cgd ARMOR("elven cloak", 5, 0, 9, 3),
216 1.1 cgd ARMOR("shield", 3, 0, 9, 0),
217 1.1 cgd ARMOR("pair of gloves", 1, 1, 9, 0),
218 1.1 cgd
219 1.1 cgd #define POTION(name,color) { name, color, NULL, 0, 1,\
220 1.1 cgd POTION_SYM, 0, 0, 2, 0, 0, 0 }
221 1.1 cgd
222 1.1 cgd POTION("restore strength", "orange"),
223 1.1 cgd POTION("booze", "bubbly"),
224 1.1 cgd POTION("invisibility", "glowing"),
225 1.1 cgd POTION("fruit juice", "smoky"),
226 1.1 cgd POTION("healing", "pink"),
227 1.1 cgd POTION("paralysis", "puce"),
228 1.1 cgd POTION("monster detection", "purple"),
229 1.1 cgd POTION("object detection", "yellow"),
230 1.1 cgd POTION("sickness", "white"),
231 1.1 cgd POTION("confusion", "swirly"),
232 1.1 cgd POTION("gain strength", "purple-red"),
233 1.1 cgd POTION("speed", "ruby"),
234 1.1 cgd POTION("blindness", "dark green"),
235 1.1 cgd POTION("gain level", "emerald"),
236 1.1 cgd POTION("extra healing", "sky blue"),
237 1.1 cgd POTION("levitation", "brown"),
238 1.1 cgd POTION(NULL, "brilliant blue"),
239 1.1 cgd POTION(NULL, "clear"),
240 1.1 cgd POTION(NULL, "magenta"),
241 1.1 cgd POTION(NULL, "ebony"),
242 1.1 cgd
243 1.1 cgd #define SCROLL(name,text,prob) { name, text, NULL, 0, 1,\
244 1.1 cgd SCROLL_SYM, prob, 0, 3, 0, 0, 0 }
245 1.1 cgd SCROLL("mail", "KIRJE", 0),
246 1.1 cgd SCROLL("enchant armor", "ZELGO MER", 6),
247 1.1 cgd SCROLL("destroy armor", "JUYED AWK YACC", 5),
248 1.1 cgd SCROLL("confuse monster", "NR 9", 5),
249 1.1 cgd SCROLL("scare monster", "XIXAXA XOXAXA XUXAXA", 4),
250 1.1 cgd SCROLL("blank paper", "READ ME", 3),
251 1.1 cgd SCROLL("remove curse", "PRATYAVAYAH", 6),
252 1.1 cgd SCROLL("enchant weapon", "DAIYEN FOOELS", 6),
253 1.1 cgd SCROLL("damage weapon", "HACKEM MUCHE", 5),
254 1.1 cgd SCROLL("create monster", "LEP GEX VEN ZEA", 5),
255 1.1 cgd SCROLL("taming", "PRIRUTSENIE", 1),
256 1.1 cgd SCROLL("genocide", "ELBIB YLOH",2),
257 1.1 cgd SCROLL("light", "VERR YED HORRE", 10),
258 1.1 cgd SCROLL("teleportation", "VENZAR BORGAVVE", 5),
259 1.1 cgd SCROLL("gold detection", "THARR", 4),
260 1.1 cgd SCROLL("food detection", "YUM YUM", 1),
261 1.1 cgd SCROLL("identify", "KERNOD WEL", 18),
262 1.1 cgd SCROLL("magic mapping", "ELAM EBOW", 5),
263 1.1 cgd SCROLL("amnesia", "DUAM XNAHT", 3),
264 1.1 cgd SCROLL("fire", "ANDOVA BEGARIN", 5),
265 1.1 cgd SCROLL("punishment", "VE FORBRYDERNE", 1),
266 1.1 cgd SCROLL(NULL, "VELOX NEB", 0),
267 1.1 cgd SCROLL(NULL, "FOOBIE BLETCH", 0),
268 1.1 cgd SCROLL(NULL, "TEMOV", 0),
269 1.1 cgd SCROLL(NULL, "GARVEN DEH", 0),
270 1.1 cgd
271 1.1 cgd #define WAND(name,metal,prob,flags) { name, metal, NULL, 0, 0,\
272 1.1 cgd WAND_SYM, prob, 0, 3, flags, 0, 0 }
273 1.1 cgd
274 1.1 cgd WAND("light", "iridium", 10, NODIR),
275 1.1 cgd WAND("secret door detection", "tin", 5, NODIR),
276 1.1 cgd WAND("create monster", "platinum", 5, NODIR),
277 1.1 cgd WAND("wishing", "glass", 1, NODIR),
278 1.1 cgd WAND("striking", "zinc", 9, IMMEDIATE),
279 1.1 cgd WAND("slow monster", "balsa", 5, IMMEDIATE),
280 1.1 cgd WAND("speed monster", "copper", 5, IMMEDIATE),
281 1.1 cgd WAND("undead turning", "silver", 5, IMMEDIATE),
282 1.1 cgd WAND("polymorph", "brass", 5, IMMEDIATE),
283 1.1 cgd WAND("cancellation", "maple", 5, IMMEDIATE),
284 1.1 cgd WAND("teleportation", "pine", 5, IMMEDIATE),
285 1.1 cgd WAND("make invisible", "marble", 9, IMMEDIATE),
286 1.1 cgd WAND("digging", "iron", 5, RAY),
287 1.1 cgd WAND("magic missile", "aluminium", 10, RAY),
288 1.1 cgd WAND("fire", "steel", 5, RAY),
289 1.1 cgd WAND("sleep", "curved", 5, RAY),
290 1.1 cgd WAND("cold", "short", 5, RAY),
291 1.1 cgd WAND("death", "long", 1, RAY),
292 1.1 cgd WAND(NULL, "oak", 0, 0),
293 1.1 cgd WAND(NULL, "ebony", 0, 0),
294 1.1 cgd WAND(NULL, "runed", 0, 0),
295 1.1 cgd
296 1.1 cgd #define RING(name,stone,spec) { name, stone, NULL, 0, 0,\
297 1.1 cgd RING_SYM, 0, 0, 1, spec, 0, 0 }
298 1.1 cgd
299 1.1 cgd RING("adornment", "engagement", 0),
300 1.1 cgd RING("teleportation", "wooden", 0),
301 1.1 cgd RING("regeneration", "black onyx", 0),
302 1.1 cgd RING("searching", "topaz", 0),
303 1.1 cgd RING("see invisible", "pearl", 0),
304 1.1 cgd RING("stealth", "sapphire", 0),
305 1.1 cgd RING("levitation", "moonstone", 0),
306 1.1 cgd RING("poison resistance", "agate", 0),
307 1.1 cgd RING("aggravate monster", "tiger eye", 0),
308 1.1 cgd RING("hunger", "shining", 0),
309 1.1 cgd RING("fire resistance", "gold", 0),
310 1.1 cgd RING("cold resistance", "copper", 0),
311 1.1 cgd RING("protection from shape changers", "diamond", 0),
312 1.1 cgd RING("conflict", "jade", 0),
313 1.1 cgd RING("gain strength", "ruby", SPEC),
314 1.1 cgd RING("increase damage", "silver", SPEC),
315 1.1 cgd RING("protection", "granite", SPEC),
316 1.1 cgd RING("warning", "wire", 0),
317 1.1 cgd RING("teleport control", "iron", 0),
318 1.1 cgd RING(NULL, "ivory", 0),
319 1.1 cgd RING(NULL, "blackened", 0),
320 1.1 cgd
321 1.1 cgd /* gems ************************************************************/
322 1.1 cgd #define GEM(name,color,prob,gval) { name, color, NULL, 0, 1,\
323 1.1 cgd GEM_SYM, prob, 0, 1, 0, 0, gval }
324 1.1 cgd GEM("diamond", "blue", 1, 4000),
325 1.1 cgd GEM("ruby", "red", 1, 3500),
326 1.1 cgd GEM("sapphire", "blue", 1, 3000),
327 1.1 cgd GEM("emerald", "green", 1, 2500),
328 1.1 cgd GEM("turquoise", "green", 1, 2000),
329 1.1 cgd GEM("aquamarine", "blue", 1, 1500),
330 1.1 cgd GEM("tourmaline", "green", 1, 1000),
331 1.1 cgd GEM("topaz", "yellow", 1, 900),
332 1.1 cgd GEM("opal", "yellow", 1, 800),
333 1.1 cgd GEM("garnet", "dark", 1, 700),
334 1.1 cgd GEM("amethyst", "violet", 2, 650),
335 1.1 cgd GEM("agate", "green", 2, 600),
336 1.1 cgd GEM("onyx", "white", 2, 550),
337 1.1 cgd GEM("jasper", "yellowish brown", 2, 500),
338 1.1 cgd GEM("jade", "green", 2, 450),
339 1.1 cgd GEM("worthless piece of blue glass", "blue", 20, 0),
340 1.1 cgd GEM("worthless piece of red glass", "red", 20, 0),
341 1.1 cgd GEM("worthless piece of yellow glass", "yellow", 20, 0),
342 1.1 cgd GEM("worthless piece of green glass", "green", 20, 0),
343 1.1 cgd { NULL, NULL, NULL, 0, 0, ILLOBJ_SYM, 0, 0, 0, 0, 0, 0 }
344 1.1 cgd };
345 1.1 cgd
346 1.5 jsm const char obj_symbols[] = {
347 1.1 cgd ILLOBJ_SYM, AMULET_SYM, FOOD_SYM, WEAPON_SYM, TOOL_SYM,
348 1.1 cgd BALL_SYM, CHAIN_SYM, ROCK_SYM, ARMOR_SYM, POTION_SYM, SCROLL_SYM,
349 1.1 cgd WAND_SYM, RING_SYM, GEM_SYM, 0 };
350 1.1 cgd int bases[sizeof(obj_symbols)];
351 1.4 christos #endif /* _DEF_OBJECTS_H_ */
352