1 /* $NetBSD: hack.shknam.c,v 1.5 2001/03/25 20:44:03 jsm Exp $ */ 2 3 /* 4 * Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. 5 */ 6 7 #include <sys/cdefs.h> 8 #ifndef lint 9 __RCSID("$NetBSD: hack.shknam.c,v 1.5 2001/03/25 20:44:03 jsm Exp $"); 10 #endif /* not lint */ 11 12 #include "hack.h" 13 #include "extern.h" 14 15 const char *const shkliquors[] = { 16 /* Ukraine */ 17 "Njezjin", "Tsjernigof", "Gomel", "Ossipewsk", "Gorlowka", 18 /* N. Russia */ 19 "Konosja", "Weliki Oestjoeg", "Syktywkar", "Sablja", 20 "Narodnaja", "Kyzyl", 21 /* Silezie */ 22 "Walbrzych", "Swidnica", "Klodzko", "Raciborz", "Gliwice", 23 "Brzeg", "Krnov", "Hradec Kralove", 24 /* Schweiz */ 25 "Leuk", "Brig", "Brienz", "Thun", "Sarnen", "Burglen", "Elm", 26 "Flims", "Vals", "Schuls", "Zum Loch", 27 0 28 }; 29 30 const char *const shkbooks[] = { 31 /* Eire */ 32 "Skibbereen", "Kanturk", "Rath Luirc", "Ennistymon", "Lahinch", 33 "Loughrea", "Croagh", "Maumakeogh", "Ballyjamesduff", 34 "Kinnegad", "Lugnaquillia", "Enniscorthy", "Gweebarra", 35 "Kittamagh", "Nenagh", "Sneem", "Ballingeary", "Kilgarvan", 36 "Cahersiveen", "Glenbeigh", "Kilmihil", "Kiltamagh", 37 "Droichead Atha", "Inniscrone", "Clonegal", "Lisnaskea", 38 "Culdaff", "Dunfanaghy", "Inishbofin", "Kesh", 39 0 40 }; 41 42 const char *const shkarmors[] = { 43 /* Turquie */ 44 "Demirci", "Kalecik", "Boyabai", "Yildizeli", "Gaziantep", 45 "Siirt", "Akhalataki", "Tirebolu", "Aksaray", "Ermenak", 46 "Iskenderun", "Kadirli", "Siverek", "Pervari", "Malasgirt", 47 "Bayburt", "Ayancik", "Zonguldak", "Balya", "Tefenni", 48 "Artvin", "Kars", "Makharadze", "Malazgirt", "Midyat", 49 "Birecik", "Kirikkale", "Alaca", "Polatli", "Nallihan", 50 0 51 }; 52 53 const char *const shkwands[] = { 54 /* Wales */ 55 "Yr Wyddgrug", "Trallwng", "Mallwyd", "Pontarfynach", 56 "Rhaeader", "Llandrindod", "Llanfair-ym-muallt", 57 "Y-Fenni", "Measteg", "Rhydaman", "Beddgelert", 58 "Curig", "Llanrwst", "Llanerchymedd", "Caergybi", 59 /* Scotland */ 60 "Nairn", "Turriff", "Inverurie", "Braemar", "Lochnagar", 61 "Kerloch", "Beinn a Ghlo", "Drumnadrochit", "Morven", 62 "Uist", "Storr", "Sgurr na Ciche", "Cannich", "Gairloch", 63 "Kyleakin", "Dunvegan", 64 0 65 }; 66 67 const char *const shkrings[] = { 68 /* Hollandse familienamen */ 69 "Feyfer", "Flugi", "Gheel", "Havic", "Haynin", "Hoboken", 70 "Imbyze", "Juyn", "Kinsky", "Massis", "Matray", "Moy", 71 "Olycan", "Sadelin", "Svaving", "Tapper", "Terwen", "Wirix", 72 "Ypey", 73 /* Skandinaviske navne */ 74 "Rastegaisa", "Varjag Njarga", "Kautekeino", "Abisko", 75 "Enontekis", "Rovaniemi", "Avasaksa", "Haparanda", 76 "Lulea", "Gellivare", "Oeloe", "Kajaani", "Fauske", 77 0 78 }; 79 80 const char *const shkfoods[] = { 81 /* Indonesia */ 82 "Djasinga", "Tjibarusa", "Tjiwidej", "Pengalengan", 83 "Bandjar", "Parbalingga", "Bojolali", "Sarangan", 84 "Ngebel", "Djombang", "Ardjawinangun", "Berbek", 85 "Papar", "Baliga", "Tjisolok", "Siboga", "Banjoewangi", 86 "Trenggalek", "Karangkobar", "Njalindoeng", "Pasawahan", 87 "Pameunpeuk", "Patjitan", "Kediri", "Pemboeang", "Tringanoe", 88 "Makin", "Tipor", "Semai", "Berhala", "Tegal", "Samoe", 89 0 90 }; 91 92 const char *const shkweapons[] = { 93 /* Perigord */ 94 "Voulgezac", "Rouffiac", "Lerignac", "Touverac", "Guizengeard", 95 "Melac", "Neuvicq", "Vanzac", "Picq", "Urignac", "Corignac", 96 "Fleac", "Lonzac", "Vergt", "Queyssac", "Liorac", "Echourgnac", 97 "Cazelon", "Eypau", "Carignan", "Monbazillac", "Jonzac", 98 "Pons", "Jumilhac", "Fenouilledes", "Laguiolet", "Saujon", 99 "Eymoutiers", "Eygurande", "Eauze", "Labouheyre", 100 0 101 }; 102 103 const char *const shkgeneral[] = { 104 /* Suriname */ 105 "Hebiwerie", "Possogroenoe", "Asidonhopo", "Manlobbi", 106 "Adjama", "Pakka Pakka", "Kabalebo", "Wonotobo", 107 "Akalapi", "Sipaliwini", 108 /* Greenland */ 109 "Annootok", "Upernavik", "Angmagssalik", 110 /* N. Canada */ 111 "Aklavik", "Inuvik", "Tuktoyaktuk", 112 "Chicoutimi", "Ouiatchouane", "Chibougamau", 113 "Matagami", "Kipawa", "Kinojevis", 114 "Abitibi", "Maganasipi", 115 /* Iceland */ 116 "Akureyri", "Kopasker", "Budereyri", "Akranes", "Bordeyri", 117 "Holmavik", 118 0 119 }; 120 121 const struct shk_nx { 122 char x; 123 const char *const *xn; 124 } shk_nx[] = { 125 { 126 POTION_SYM, shkliquors 127 }, 128 { 129 SCROLL_SYM, shkbooks 130 }, 131 { 132 ARMOR_SYM, shkarmors 133 }, 134 { 135 WAND_SYM, shkwands 136 }, 137 { 138 RING_SYM, shkrings 139 }, 140 { 141 FOOD_SYM, shkfoods 142 }, 143 { 144 WEAPON_SYM, shkweapons 145 }, 146 { 147 0, shkgeneral 148 } 149 }; 150 151 void 152 findname(nampt, let) 153 char *nampt; 154 char let; 155 { 156 const struct shk_nx *p = shk_nx; 157 const char *const *q; 158 int i; 159 while (p->x && p->x != let) 160 p++; 161 q = p->xn; 162 for (i = 0; i < dlevel; i++) 163 if (!q[i]) { 164 /* Not enough names, try general name */ 165 if (let) 166 findname(nampt, 0); 167 else 168 (void) strcpy(nampt, "Dirk"); 169 return; 170 } 171 (void) strncpy(nampt, q[i], PL_NSIZ); 172 nampt[PL_NSIZ - 1] = 0; 173 } 174