Source:Hack 1.0/mklv.shknam.c

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

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

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