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