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