Source:NetHack 1.3d/shknam.c

From NetHackWiki
Jump to: navigation, search

Below is the full text to shknam.c from the source code of NetHack 1.3d. To link to a particular line, write [[NetHack 1.3d/shknam.c#line123]], for example.

Warning! This is the source code from an old release. For the latest release, see Source code

Screenshots and source code from Hack are used under the CWI license.

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