xref: /dragonfly/games/hack/hack.shknam.c (revision 2020c8fe)
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