1 /* $OpenBSD: hack.monst.c,v 1.7 2016/01/09 18:33:15 mestre Exp $ */ 2 3 /* 4 * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica, 5 * Amsterdam 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions are 10 * met: 11 * 12 * - Redistributions of source code must retain the above copyright notice, 13 * this list of conditions and the following disclaimer. 14 * 15 * - Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in the 17 * documentation and/or other materials provided with the distribution. 18 * 19 * - Neither the name of the Stichting Centrum voor Wiskunde en 20 * Informatica, nor the names of its contributors may be used to endorse or 21 * promote products derived from this software without specific prior 22 * written permission. 23 * 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 25 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 26 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 27 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 28 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 29 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 30 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 31 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 32 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 33 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 34 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 35 */ 36 37 /* 38 * Copyright (c) 1982 Jay Fenlason <hack@gnu.org> 39 * All rights reserved. 40 * 41 * Redistribution and use in source and binary forms, with or without 42 * modification, are permitted provided that the following conditions 43 * are met: 44 * 1. Redistributions of source code must retain the above copyright 45 * notice, this list of conditions and the following disclaimer. 46 * 2. Redistributions in binary form must reproduce the above copyright 47 * notice, this list of conditions and the following disclaimer in the 48 * documentation and/or other materials provided with the distribution. 49 * 3. The name of the author may not be used to endorse or promote products 50 * derived from this software without specific prior written permission. 51 * 52 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 53 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 54 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 55 * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 56 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 57 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 58 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 59 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 60 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 61 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 62 */ 63 64 #include "hack.h" 65 #include "def.eshk.h" 66 67 extern char plname[PL_NSIZ]; 68 69 struct permonst mons[CMNUM+2] = { 70 { "bat", 'B',1,22,8,1,4,0 }, 71 { "gnome", 'G',1,6,5,1,6,0 }, 72 { "hobgoblin", 'H',1,9,5,1,8,0 }, 73 { "jackal", 'J',0,12,7,1,2,0 }, 74 { "kobold", 'K',1,6,7,1,4,0 }, 75 { "leprechaun", 'L',5,15,8,1,2,0 }, 76 { "giant rat", 'r',0,12,7,1,3,0 }, 77 { "acid blob", 'a',2,3,8,0,0,0 }, 78 { "floating eye", 'E',2,1,9,0,0,0 }, 79 { "homunculus", 'h',2,6,6,1,3,0 }, 80 { "imp", 'i',2,6,2,1,4,0 }, 81 { "orc", 'O',2,9,6,1,8,0 }, 82 { "yellow light", 'y',3,15,0,0,0,0 }, 83 { "zombie", 'Z',2,6,8,1,8,0 }, 84 { "giant ant", 'A',3,18,3,1,6,0 }, 85 { "fog cloud", 'f',3,1,0,1,6,0 }, 86 { "nymph", 'N',6,12,9,1,2,0 }, 87 { "piercer", 'p',3,1,3,2,6,0 }, 88 { "quasit", 'Q',3,15,3,1,4,0 }, 89 { "quivering blob", 'q',3,1,8,1,8,0 }, 90 { "violet fungi", 'v',3,1,7,1,4,0 }, 91 { "giant beetle", 'b',4,6,4,3,4,0 }, 92 { "centaur", 'C',4,18,4,1,6,0 }, 93 { "cockatrice", 'c',4,6,6,1,3,0 }, 94 { "gelatinous cube", 'g',4,6,8,2,4,0 }, 95 { "jaguar", 'j',4,15,6,1,8,0 }, 96 { "killer bee", 'k',4,14,4,2,4,0 }, 97 { "snake", 'S',4,15,3,1,6,0 }, 98 { "freezing sphere", 'F',2,13,4,0,0,0 }, 99 { "owlbear", 'o',5,12,5,2,6,0 }, 100 { "rust monster", 'R',10,18,3,0,0,0 }, 101 { "scorpion", 's',5,15,3,1,4,0 }, 102 { "tengu", 't',5,13,5,1,7,0 }, 103 { "wraith", 'W',5,12,5,1,6,0 }, 104 #ifdef NOWORM 105 { "wumpus", 'w',8,3,2,3,6,0 }, 106 #else 107 { "long worm", 'w',8,3,5,1,4,0 }, 108 #endif /* NOWORM */ 109 { "large dog", 'd',6,15,4,2,4,0 }, 110 { "leocrotta", 'l',6,18,4,3,6,0 }, 111 { "mimic", 'M',7,3,7,3,4,0 }, 112 { "troll", 'T',7,12,4,2,7,0 }, 113 { "unicorn", 'u',8,24,5,1,10,0 }, 114 { "yeti", 'Y',5,15,6,1,6,0 }, 115 { "stalker", 'I',8,12,3,4,4,0 }, 116 { "umber hulk", 'U',9,6,2,2,10,0 }, 117 { "vampire", 'V',8,12,1,1,6,0 }, 118 { "xorn", 'X',8,9,-2,4,6,0 }, 119 { "xan", 'x',7,18,-2,2,4,0 }, 120 { "zruty", 'z',9,8,3,3,6,0 }, 121 { "chameleon", ':',6,5,6,4,2,0 }, 122 { "dragon", 'D',10,9,-1,3,8,0 }, 123 { "ettin", 'e',10,12,3,2,8,0 }, 124 { "lurker above", '\'',10,3,3,0,0,0 }, 125 { "nurse", 'n',11,6,0,1,3,0 }, 126 { "trapper", ',',12,3,3,0,0,0 }, 127 { "purple worm", 'P',15,9,6,2,8,0 }, 128 { "demon", '&',10,12,-4,1,4,0 }, 129 { "minotaur", 'm',15,15,6,4,10,0 }, 130 { "shopkeeper", '@', 12, 18, 0, 4, 8, sizeof(struct eshk) } 131 }; 132 133 struct permonst pm_ghost = { "ghost", ' ', 10, 3, -5, 1, 1, sizeof(plname) }; 134 struct permonst pm_wizard = { 135 "wizard of Yendor", '1', 15, 12, -2, 1, 12, 0 136 }; 137 #ifdef MAIL 138 struct permonst pm_mail_daemon = { "mail daemon", '2', 100, 1, 10, 0, 0, 0 }; 139 #endif /* MAIL */ 140 struct permonst pm_eel = { "giant eel", ';', 15, 6, -3, 3, 6, 0 }; 141