1 /* $NetBSD: hack.shknam.c,v 1.4 1997/10/19 16:59:03 christos 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.4 1997/10/19 16:59:03 christos Exp $"); 10 #endif /* not lint */ 11 12 #include "hack.h" 13 #include "extern.h" 14 15 char *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 char *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 char *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 char *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 char *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 char *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 char *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 char *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 struct shk_nx { 122 char x; 123 char **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 struct shk_nx *p = shk_nx; 157 char **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