xref: /netbsd/games/hack/hack.shknam.c (revision bf9ec67e)
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