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