Wikihack
Advertisement

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.


The NetHack General Public License applies to screenshots, source code and other content from NetHack.
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*/
Advertisement