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