Merge from vendor branch LIBARCHIVE:
[dragonfly.git] / games / hack / hack.shknam.c
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         while(p->x && p->x != let) p++;
135         q = p->xn;
136         for(i=0; i<dlevel; i++) if(!q[i]){
137                 /* Not enough names, try general name */
138                 if(let) findname(nampt, 0);
139                 else strcpy(nampt, "Dirk");
140                 return;
141         }
142         strncpy(nampt, q[i], PL_NSIZ);
143         nampt[PL_NSIZ-1] = 0;
144 }