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