Source:NetHack 1.4f/shknam.c

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

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

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. }