Source:SLASH'EM 0.0.7E7F2/artilist.h

Below is the full text to artilist.h from the source code of SLASH'EM 0.0.7E7F2. To link to a particular line, write [[SLASH'EM 0.0.7E7F2/artilist.h#line123 ]], for example.

The latest source code for vanilla NetHack is at Source code.

1.   /*	SCCS Id: @(#)artilist.h 3.4	2003/02/12	*/ 2.   /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3.    /* NetHack may be freely redistributed. See license for details. */ 4.     5.    #include "config.h" /* WAC for blackmarket,  spoon */ 6.    7.    #ifdef MAKEDEFS_C 8.   /* in makedefs.c, all we care about is the list of names */ 9.    10.   #define A(nam,typ,s1,s2,mt,atk,dfn,cry,inv,al,cl,rac,cost) nam 11.   12.   static const char *artifact_names[] = { 13.  #else 14.  /* in artifact.c, set up the actual artifact list structure */ 15.   16.   #define A(nam,typ,s1,s2,mt,atk,dfn,cry,inv,al,cl,rac,cost) \ 17.   { typ, nam, s1, s2, mt, atk, dfn, cry, inv, al, cl, rac, cost, 0 } 18.   19.   #define     NO_ATTK	{0,0,0,0}		/* no attack */ 20.  #define     NO_DFNS	{0,0,0,0}		/* no defense */ 21.  #define     NO_CARY	{0,0,0,0}		/* no carry effects */ 22.  #define     DFNS(c)	{0,c,0,0} 23.  #define     CARY(c)	{0,c,0,0} 24.  #define     PHYS(a,b)	{0,AD_PHYS,a,b}		/* physical */ 25.  #define     DRLI(a,b)	{0,AD_DRLI,a,b}		/* life drain */ 26.  #define     COLD(a,b)	{0,AD_COLD,a,b} 27.  #define     FIRE(a,b)	{0,AD_FIRE,a,b} 28.  #define     ELEC(a,b)	{0,AD_ELEC,a,b}		/* electrical shock */ 29.  #define     STUN(a,b)	{0,AD_STUN,a,b}		/* magical attack */ 30.   31.   STATIC_OVL NEARDATA struct artifact artilist[] = { 32.  #endif	/* MAKEDEFS_C */ 33.   34.   /* Artifact cost rationale: 35.   * 1.  The more useful the artifact, the better its cost. 36.   * 2.  Quest artifacts are highly valued. 37.   * 3.  Chaotic artifacts are inflated due to scarcity (and balance). 38.   */  39.    40.    41.   /* [Tom] rearranged by alignment, so when people ask... */ 42.   /* KMH -- Further arranged: 43.   * 1.  By alignment (but quest artifacts last). 44.   * 2.  By weapon class (skill). 45.   */  46.    47.   /*  dummy element #0, so that all interesting indices are non-zero */ 48.  A("",				STRANGE_OBJECT,  49.   	0, 0, 0, NO_ATTK, NO_DFNS, NO_CARY, 0, A_NONE, NON_PM, NON_PM, 0L ), 50.   51.   /*** Lawful artifacts ***/ 52.  A("Firewall",                  ATHAME,  53.   	(SPFX_RESTR|SPFX_ATTK|SPFX_DEFN), 0, 0,  54.   	FIRE(4,4),      FIRE(0,0),      NO_CARY,        0, A_LAWFUL, PM_FLAME_MAGE, NON_PM, 400L ), 55.   56.   /*  57.    *	The combination of SPFX_WARN and M2_something on an artifact 58.   *	will trigger EWarn_of_mon for all monsters that have the appropriate 59.   *	M2_something flags. In Sting's case it will trigger EWarn_of_mon 60.   *	for M2_ORC monsters. 61.   */  62.   A("Sting",			ELVEN_DAGGER,  63.   	(SPFX_WARN|SPFX_DCLAS), 0, M2_ORC,  64.   	PHYS(5,0),	NO_DFNS,	NO_CARY,	0, A_LAWFUL, NON_PM, PM_ELF, 800L ), 65.   66.   A("Giantkiller",                AXE,  67.   	(SPFX_RESTR|SPFX_DFLAG2), 0, M2_GIANT,  68.   	PHYS(5,0),	NO_DFNS,	NO_CARY,	0, A_NEUTRAL, NON_PM, NON_PM, 800L ), 69.   70.   A("Quick Blade",                ELVEN_SHORT_SWORD,  71.   	SPFX_RESTR, 0, 0,  72.   	PHYS(9,2),      NO_DFNS,        NO_CARY,        0, A_LAWFUL, NON_PM, NON_PM, 1000L ), 73.   74.   A("Orcrist",                    ELVEN_BROADSWORD,  75.   	SPFX_DFLAG2, 0, M2_ORC,  76.   	PHYS(5,0),	NO_DFNS,	NO_CARY,	0, A_LAWFUL, NON_PM, PM_ELF, 2000L ), 77.   78.   A("Dragonbane",			BROADSWORD,  79.   	(SPFX_RESTR|SPFX_DCLAS), 0, S_DRAGON,  80.   	PHYS(5,0),	NO_DFNS,	NO_CARY,	0, A_NONE, NON_PM, NON_PM, 500L ), 81.   82.   A("Excalibur",                  LONG_SWORD,  83.   	(SPFX_NOGEN|SPFX_RESTR|SPFX_SEEK|SPFX_DEFN|SPFX_INTEL|SPFX_SEARCH),0,0,  84.   	PHYS(5,10),	DRLI(0,0),	NO_CARY,	0, A_LAWFUL, PM_KNIGHT, NON_PM, 4000L ), 85.   86.   A("Sunsword",                   LONG_SWORD,  87.   	(SPFX_RESTR|SPFX_DFLAG2), 0, M2_UNDEAD,  88.   	PHYS(5,0),	DFNS(AD_BLND),	NO_CARY,	0, A_LAWFUL, NON_PM, NON_PM, 1500L ), 89.   90.   /*  91.    *	Ah, never shall I forget the cry, 92.   *		or the shriek that shrieked he, 93.   *	As I gnashed my teeth, and from my sheath 94.   *		I drew my Snickersnee! 95.   *			--Koko, Lord high executioner of Titipu 96.   *			  (From Sir W.S. Gilbert's "The Mikado") 97.   */  98.   A("Snickersnee",                KATANA,  99.   	SPFX_RESTR, 0, 0,  100.  	PHYS(0,8),	NO_DFNS,	NO_CARY,	0, A_LAWFUL, PM_SAMURAI, NON_PM, 1200L ), 101.  102.  #ifdef YEOMAN 103. /* KMH -- Renamed from Holy Sword of Law (Stephen White) 104.  * This is an actual sword used in British coronations! 105.  */  106.  A("Sword of Justice",           LONG_SWORD,  107.  	(SPFX_RESTR|SPFX_DALIGN), 0, 0,  108.  	PHYS(5,12),     NO_DFNS,        NO_CARY,        0, A_LAWFUL, PM_YEOMAN, NON_PM, 1500L ), 109. #endif 110.  111.  A("Demonbane",			LONG_SWORD,  112.  	(SPFX_RESTR|SPFX_DFLAG2), 0, M2_DEMON,  113.  	PHYS(5,0),	NO_DFNS,	NO_CARY,	0, A_LAWFUL, NON_PM, NON_PM, 2500L ), 114.  115.  A("Werebane",			SILVER_SABER,  116.  	(SPFX_RESTR|SPFX_DFLAG2), 0, M2_WERE,  117.  	PHYS(5,0),	DFNS(AD_WERE),	NO_CARY,	0, A_NONE, NON_PM, NON_PM, 1500L ), 118.  119.  A("Grayswandir",		SILVER_SABER,  120.  	(SPFX_RESTR|SPFX_HALRES), 0, 0,  121.  	PHYS(5,0),	NO_DFNS,	NO_CARY,	0, A_LAWFUL, NON_PM, NON_PM, 8000L ), 122.  123.  A("Skullcrusher",               CLUB,  124.  	SPFX_RESTR, 0, 0,  125.  	PHYS(3,10),     NO_DFNS,        NO_CARY,        0, A_LAWFUL, PM_CAVEMAN, NON_PM, 300L ), 126.  127.  A("Trollsbane",                 MORNING_STAR,  128.  	(SPFX_RESTR|SPFX_DCLAS), 0, S_TROLL,  129.  	PHYS(5,0),	NO_DFNS,	NO_CARY,	0, A_NONE, NON_PM, NON_PM, 200L ), 130.  131.  A("Ogresmasher",		WAR_HAMMER,  132.  	(SPFX_RESTR|SPFX_DCLAS), 0, S_OGRE,  133.  	PHYS(5,0),	NO_DFNS,	NO_CARY,	0, A_NONE, NON_PM, NON_PM, 200L ), 134.  135.  #ifdef YEOMAN 136. A("Reaper",                     HALBERD,  137.  	SPFX_RESTR, 0, 0,  138.  	PHYS(5,20),      NO_DFNS,        NO_CARY,        0, A_LAWFUL, PM_YEOMAN, NON_PM, 1000L ), 139. #endif 140.  141.  A("Holy Spear of Light",        SILVER_SPEAR,  142.         (SPFX_RESTR|SPFX_INTEL|SPFX_DFLAG2), 0, M2_UNDEAD,  143.         PHYS(5,10),      NO_DFNS,  NO_CARY,     LIGHT_AREA, A_LAWFUL, NON_PM, NON_PM, 4000L ), 144.  145.   146.  /*** Neutral artifacts ***/ 147. A("Magicbane",                  ATHAME,  148.  	(SPFX_RESTR|SPFX_ATTK|SPFX_DEFN), 0, 0,  149.  	STUN(3,4),	DFNS(AD_MAGM),	NO_CARY,	0, A_NEUTRAL, PM_WIZARD, NON_PM, 3500L ), 150.  151.  A("Luckblade",                  SHORT_SWORD,  152.  	(SPFX_RESTR|SPFX_LUCK), 0, 0,  153.  	PHYS(5,5),      NO_DFNS,        NO_CARY,        0, A_NEUTRAL, NON_PM, PM_GNOME, 1000L ), 154.  155.  A("Sword of Balance",           SILVER_SHORT_SWORD,  156.  	SPFX_DALIGN, 0, 0,  157.  	PHYS(2,5),      NO_DFNS,        NO_CARY,        0, A_NEUTRAL, NON_PM, NON_PM, 5000L ), 158.  159.  A("Frost Brand",                LONG_SWORD,  160.  	(SPFX_RESTR|SPFX_ATTK|SPFX_DEFN), 0, 0,  161.  	COLD(5,0),	COLD(0,0),	NO_CARY,	0, A_NONE, NON_PM, NON_PM, 3000L ), 162.  163.  A("Fire Brand",                 LONG_SWORD,  164.  	(SPFX_RESTR|SPFX_ATTK|SPFX_DEFN), 0, 0,  165.  	FIRE(5,0),	FIRE(0,0),	NO_CARY,	0, A_NONE, NON_PM, NON_PM, 3000L ), 166.  167.  /*  168.   *	Two problems:  1) doesn't let trolls regenerate heads,  169.   *	2) doesn't give unusual message for 2-headed monsters (but  170.   *	allowing those at all causes more problems than worth the effort). 171.  */  172.  A("Vorpal Blade",		LONG_SWORD,  173.  	(SPFX_RESTR|SPFX_BEHEAD), 0, 0,  174.  	PHYS(5,1),	NO_DFNS,	NO_CARY,	0, A_NEUTRAL, NON_PM, NON_PM, 4000L ), 175.  176.  A("Disrupter",                  MACE,  177.  	(SPFX_RESTR|SPFX_DFLAG2), 0, M2_UNDEAD,  178.  	PHYS(5,30),     NO_DFNS,        NO_CARY,        0, A_NEUTRAL, PM_PRIEST, NON_PM, 500L ), 179.  180.  /*  181.   *	Mjollnir will return to the hand of a Valkyrie when thrown 182.  *	if the wielder is a Valkyrie with strength of 25 or more. 183.  */  184.  A("Mjollnir",                   HEAVY_HAMMER,           /* Mjo:llnir */  185.  	(SPFX_RESTR|SPFX_ATTK),  0, 0,  186.  	ELEC(5,24),	NO_DFNS,	NO_CARY,	0, A_NEUTRAL, PM_VALKYRIE, NON_PM, 4000L ), 187.  188.  /* STEPHEN WHITE'S NEW CODE */ 189. A("Gauntlets of Defense",    GAUNTLETS_OF_DEXTERITY,  190.  	SPFX_RESTR, SPFX_HPHDAM, 0,  191.  	NO_ATTK,        NO_DFNS,        NO_CARY,    INVIS, A_NEUTRAL, PM_MONK, NON_PM, 5000L ), 192.  193.  A("Mirrorbright",               SHIELD_OF_REFLECTION,  194.  	(SPFX_RESTR|SPFX_HALRES|SPFX_REFLECT), 0, 0,  195.  	NO_ATTK,      NO_DFNS,        NO_CARY,        0, A_NEUTRAL, PM_HEALER, NON_PM, 5000L ), 196.  197.  A("Deluder",               CLOAK_OF_DISPLACEMENT,  198.  	(SPFX_RESTR|SPFX_STLTH|SPFX_LUCK), 0, 0,  199.  	NO_ATTK,      NO_DFNS,        NO_CARY,        0, A_NEUTRAL, PM_WIZARD, NON_PM, 5000L ), 200.  201.  #ifdef TOURIST 202. A("Whisperfeet",               SPEED_BOOTS,  203.  	(SPFX_RESTR|SPFX_STLTH|SPFX_LUCK), 0, 0,  204.  	NO_ATTK,      NO_DFNS,        NO_CARY,        0, A_NEUTRAL, PM_TOURIST, NON_PM, 5000L ), 205. #else 206. A("Whisperfeet",               SPEED_BOOTS,  207.  	(SPFX_RESTR|SPFX_STLTH|SPFX_LUCK), 0, 0,  208.  	NO_ATTK,      NO_DFNS,        NO_CARY,        0, A_NEUTRAL, NON_PM, NON_PM, 5000L ), 209. #endif 210.  211.  /*** Chaotic artifacts ***/ 212. A("Grimtooth",                  ORCISH_DAGGER,  213.  	SPFX_RESTR, 0, 0,  214.  	PHYS(2,6),	NO_DFNS,	NO_CARY,	0, A_CHAOTIC, NON_PM, PM_ORC, 300L ), 215.  216.  A("Deep Freeze",                ATHAME,  217.  	(SPFX_RESTR|SPFX_ATTK|SPFX_DEFN), 0, 0,  218.  	COLD(5,5),      COLD(0,0),      NO_CARY,        0, A_CHAOTIC, PM_ICE_MAGE, NON_PM, 400L ), 219.  220.   221.  A("Serpent's Tongue",            DAGGER,  222.  	SPFX_RESTR, 0, 0,  223.          PHYS(2,0),      NO_DFNS,        NO_CARY,        0, A_CHAOTIC, PM_NECROMANCER, NON_PM, 400L ), 224. 	/* See artifact.c for special poison damage */ 225.  226.  A("Cleaver",                    BATTLE_AXE,  227.  	SPFX_RESTR, 0, 0,  228.  	PHYS(3,6),	NO_DFNS,	NO_CARY,	0, A_NEUTRAL, PM_BARBARIAN, NON_PM, 1500L ), 229.  230.  A("Doomblade",                  ORCISH_SHORT_SWORD,  231.  	SPFX_RESTR, 0, 0,  232.  	PHYS(0,10),     NO_DFNS,        NO_CARY,        0, A_CHAOTIC, PM_HUMAN_WEREWOLF, NON_PM, 1000L ), 233.  234.  /*  235.   *	Stormbringer only has a 2 because it can drain a level, 236.  *	providing 8 more. 237.  */  238.  A("Stormbringer",               RUNESWORD,  239.  	(SPFX_RESTR|SPFX_ATTK|SPFX_DEFN|SPFX_INTEL|SPFX_DRLI), 0, 0,  240.  	DRLI(5,2),	DRLI(0,0),	NO_CARY,	0, A_CHAOTIC, NON_PM, NON_PM, 8000L ), 241.  242.  #ifdef BLACKMARKET 243. A("Thiefbane",                  LONG_SWORD,  244.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_BEHEAD|SPFX_DCLAS|SPFX_DRLI), 0, S_HUMAN,  245.  	DRLI(5,1),      NO_DFNS,        NO_CARY,        0, A_CHAOTIC, NON_PM, NON_PM, 1500L ), 246. #endif /* BLACKMARKET */ 247.  248.  A("Deathsword",                   TWO_HANDED_SWORD,  249.  	(SPFX_RESTR|SPFX_DFLAG2), 0, M2_HUMAN,  250.  	PHYS(5,14),      NO_DFNS,        NO_CARY,        0, A_CHAOTIC, PM_BARBARIAN, NON_PM, 5000L ), 251.  252.  A("Bat from Hell",                BASEBALL_BAT,  253.  	(SPFX_RESTR), 0, 0,  254.  	PHYS(3,20),      NO_DFNS,        NO_CARY,        0, A_CHAOTIC, PM_ROGUE, NON_PM, 5000L ), 255.  256.  A("Elfrist",                    ORCISH_SPEAR,  257.  	SPFX_DFLAG2, 0, M2_ELF,  258.  	PHYS(5,15),     NO_DFNS,        NO_CARY,        0, A_CHAOTIC, PM_HUMAN_WEREWOLF, PM_ORC, 300L ), 259.  260.  A("Plague", DARK_ELVEN_BOW,	/* KMH */  261.  	(SPFX_RESTR|SPFX_DEFN), 0, 0,  262.  	PHYS(5,7),        DFNS(AD_DRST),  NO_CARY,        0, A_CHAOTIC, PM_DROW, NON_PM, 6000L ), 263. 	/* Auto-poison code in dothrow.c */ 264.  265.  A("Hellfire", CROSSBOW,	/* WAC */  266.  	(SPFX_RESTR|SPFX_DEFN), 0, 0,  267.  	PHYS(5,7),        FIRE(0,0),  NO_CARY,        0, A_CHAOTIC, NON_PM, NON_PM, 4000L ), 268. 	/* Auto-explode code in dothrow.c, uhitm.c */ 269.  270.  #ifdef P_SPOON 271. A("Houchou",                SPOON,  272.  	(SPFX_RESTR), 0, 0,  273.          NO_ATTK,      NO_DFNS,        NO_CARY,        0, A_CHAOTIC, NON_PM, NON_PM, 50000L ), 274. #endif 275.  276.   277.  /*** Special Artifacts ***/ 278.  279.  # ifdef WALLET_O_P 280. /* KMH -- made it a bag of holding */ 281. A("Wallet of Perseus",       BAG_OF_HOLDING,  282.          (SPFX_RESTR), 0, 0,  283.          NO_ATTK,        NO_DFNS,        NO_CARY,  284.          0,      A_NONE, NON_PM, NON_PM, 10000L ), 285. # endif /* WALLET_O_P */ 286.  287.  A("Nighthorn", UNICORN_HORN,  288.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_REFLECT), 0, 0,  289.  	NO_ATTK,        NO_DFNS,        NO_CARY,  290.  	0,      A_LAWFUL, NON_PM, NON_PM, 10000L ), 291.  292.  A("The Key of Law", SKELETON_KEY,  293.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL), 0, 0,  294.  	NO_ATTK,        NO_DFNS,        NO_CARY,  295.  	0,      A_LAWFUL, NON_PM, NON_PM, 1000L ), 296.  297.  A("The Eye of the Beholder", EYEBALL,  298.  	(SPFX_NOGEN|SPFX_RESTR), 0, 0,  299.  	NO_ATTK,        NO_DFNS,        NO_CARY,  300.  	DEATH_GAZE,     A_NEUTRAL, NON_PM, NON_PM, 500L ), 301.  302.  A("The Key of Neutrality", SKELETON_KEY,  303.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL), 0, 0,  304.  	NO_ATTK,        NO_DFNS,        NO_CARY,  305.  	0,      A_NEUTRAL, NON_PM, NON_PM, 1000L ), 306.  307.  A("The Hand of Vecna",       SEVERED_HAND,  308.  	(SPFX_NOGEN|SPFX_RESTR), (SPFX_REGEN|SPFX_HPHDAM), 0,  309.  	NO_ATTK,        DRLI(0,0),      CARY(AD_COLD),  310.  	SUMMON_UNDEAD,          A_CHAOTIC, NON_PM, NON_PM, 700L ), 311.  312.  A("The Key of Chaos", SKELETON_KEY,  313.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL), 0, 0,  314.  	NO_ATTK,        NO_DFNS,        NO_CARY,  315.  	0,      A_CHAOTIC, NON_PM, NON_PM, 1000L ), 316.  317.   318.  /*** The artifacts for the quest dungeon, all self-willed ***/ 319.  320.  A("The Orb of Detection",	CRYSTAL_BALL,  321.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL), (SPFX_ESP|SPFX_HSPDAM), 0,  322.  	NO_ATTK,	NO_DFNS,	CARY(AD_MAGM),  323.  	INVIS,		A_LAWFUL, PM_ARCHEOLOGIST, NON_PM, 2500L ), 324.  325.  A("The Heart of Ahriman",	LUCKSTONE,  326.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL), SPFX_STLTH, 0,  327.  	/* this stone does double damage if used as a projectile weapon */  328.  	PHYS(5,0),	NO_DFNS,	NO_CARY,  329.  	LEVITATION,	A_NEUTRAL, PM_BARBARIAN, NON_PM, 2500L ), 330.  331.  A("The Sceptre of Might",	MACE,  332.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_DALIGN), 0, 0,  333.  	PHYS(3,5),      NO_DFNS,        CARY(AD_MAGM),  334.  	CONFLICT,	A_LAWFUL, PM_CAVEMAN, NON_PM, 2500L ), 335.  336.  #if 0	/* OBSOLETE */ 337. A("The Palantir of Westernesse",	CRYSTAL_BALL,  338.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL),  339.  		(SPFX_ESP|SPFX_REGEN|SPFX_HSPDAM), 0,  340.  	NO_ATTK,	NO_DFNS,	NO_CARY,  341.  	TAMING,		A_CHAOTIC, NON_PM, PM_ELF, 8000L ), 342. #endif 343.  344.  /* STEPHEN WHITE'S NEW CODE */ 345. A("The Candle of Eternal Flame",        MAGIC_CANDLE,  346.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL), (SPFX_WARN|SPFX_TCTRL), 0,  347.  	NO_ATTK,        NO_DFNS,        CARY(AD_COLD),  348.  	SUMMON_FIRE_ELEMENTAL,         A_NEUTRAL, PM_FLAME_MAGE, NON_PM, 50000L ), 349.  350.  A("The Staff of Aesculapius",	QUARTERSTAFF,  351.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_ATTK|SPFX_INTEL|SPFX_DRLI|SPFX_REGEN), 0,0,  352.  	DRLI(3,0),      NO_DFNS,        NO_CARY,  353.  	HEALING,	A_NEUTRAL, PM_HEALER, NON_PM, 5000L ), 354. /* STEPHEN WHITE'S NEW CODE */ 355. A("The Storm Whistle",          MAGIC_WHISTLE,  356.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL), (SPFX_WARN|SPFX_TCTRL), 0,  357.  	NO_ATTK,        NO_DFNS,        CARY(AD_FIRE),  358.  	SUMMON_WATER_ELEMENTAL,         A_LAWFUL, PM_ICE_MAGE, NON_PM, 1000L ), 359.  360.  A("The Magic Mirror of Merlin", MIRROR,  361.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_SPEAK), SPFX_ESP, 0,  362.  	NO_ATTK,	NO_DFNS,	CARY(AD_MAGM),  363.  	0,		A_LAWFUL, PM_KNIGHT, NON_PM, 1500L ), 364.  365.  A("The Eyes of the Overworld",	LENSES,  366.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_XRAY), 0, 0,  367.  	NO_ATTK,	NO_DFNS,	CARY(AD_MAGM),  368.  	ENLIGHTENING,	A_NEUTRAL,	 PM_MONK, NON_PM, 2500L ), 369.  370.  A("The Great Dagger of Glaurgnaa",       GREAT_DAGGER,  371.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_ATTK|SPFX_INTEL|SPFX_DRLI|SPFX_DALIGN), 0, 0,  372.  	DRLI(8,4),      NO_DFNS,        CARY(AD_MAGM),  373.  	ENERGY_BOOST,   A_CHAOTIC, PM_NECROMANCER, NON_PM, 50000L ), 374.  375.  A("The Mitre of Holiness",	HELM_OF_BRILLIANCE,  376.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_DCLAS|SPFX_INTEL), 0, M2_UNDEAD,  377.  	NO_ATTK,	NO_DFNS,	CARY(AD_FIRE),  378.  	ENERGY_BOOST,	A_LAWFUL, PM_PRIEST, NON_PM, 2000L ), 379.  380.  A("The Longbow of Diana", BOW,  381.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_REFLECT), SPFX_ESP, 0,  382.  	PHYS(5,0),	NO_DFNS,	NO_CARY,  383.  	CREATE_AMMO, A_CHAOTIC, PM_RANGER, NON_PM, 4000L ), 384.  385.  A("The Master Key of Thievery", SKELETON_KEY,  386.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_SPEAK),  387.  		(SPFX_WARN|SPFX_TCTRL|SPFX_HPHDAM), 0,  388.  	NO_ATTK,	NO_DFNS,	NO_CARY,  389.  	UNTRAP,		A_CHAOTIC, PM_ROGUE, NON_PM, 3500L ), 390.  391.  A("The Tsurugi of Muramasa",	TSURUGI,  392.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_BEHEAD|SPFX_LUCK), 0, 0,  393.  	NO_ATTK,        NO_DFNS,        NO_CARY,  394.  	0,		A_LAWFUL, PM_SAMURAI, NON_PM, 4500L ), 395.  396.  # ifdef TOURIST 397. A("The Platinum Yendorian Express Card", CREDIT_CARD,  398.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_DEFN),  399.  		(SPFX_ESP|SPFX_HSPDAM), 0,  400.  	NO_ATTK,	NO_DFNS,	CARY(AD_MAGM),  401.  	CHARGE_OBJ,	A_NEUTRAL, PM_TOURIST, NON_PM, 7000L ), 402. # endif 403.  404.  /* KMH -- More effective against normal monsters 405.  * Was +10 to-hit, +d20 damage only versus vampires 406.  */  407.  A("The Stake of Van Helsing",        WOODEN_STAKE,  408.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL), 0, 0,  409.  	PHYS(5,12),    NO_DFNS,        CARY(AD_MAGM),  410.  	0,              A_LAWFUL, PM_UNDEAD_SLAYER, NON_PM, 5000L ), 411.  412.  A("The Orb of Fate",		CRYSTAL_BALL,  413.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL|SPFX_LUCK),  414.  		(SPFX_WARN|SPFX_HSPDAM|SPFX_HPHDAM), 0,  415.  	NO_ATTK,	NO_DFNS,	NO_CARY,  416.  	LEV_TELE,	A_NEUTRAL, PM_VALKYRIE, NON_PM, 3500L ), 417.  418.  A("The Eye of the Aethiopica",	AMULET_OF_ESP,  419.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL), (SPFX_EREGEN|SPFX_HSPDAM), 0,  420.  	NO_ATTK,	NO_DFNS,	CARY(AD_MAGM),  421.  	CREATE_PORTAL,	A_NEUTRAL, PM_WIZARD, NON_PM, 4000L ), 422.  423.  #ifdef YEOMAN 424. A("The Crown of Saint Edward", HELM_OF_TELEPATHY,  425.  	(SPFX_NOGEN|SPFX_RESTR|SPFX_INTEL), (SPFX_HSPDAM), 0,  426.  	NO_ATTK,        NO_DFNS,        CARY(AD_MAGM),  427.  	0,  A_LAWFUL, PM_YEOMAN, NON_PM, 5000L ), 428. #endif 429.  430.  /*  431.   *  terminator; otyp must be zero 432.  */  433.  A(0, 0, 0, 0, 0, NO_ATTK, NO_DFNS, NO_CARY, 0, A_NONE, NON_PM, NON_PM, 0L ) 434.  435.  };	/* artilist[] (or artifact_names[]) */ 436.  437.  #undef	A 438.  439.  #ifndef MAKEDEFS_C 440. #undef	NO_ATTK 441. #undef	NO_DFNS 442. #undef	DFNS 443. #undef	PHYS 444. #undef	DRLI 445. #undef	COLD 446. #undef	FIRE 447. #undef	ELEC 448. #undef	STUN 449. #endif 450.  451.  /*artilist.h*/