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