Wikihack
Advertisement

Below is the full text to artifact.h from the source code of SLASH'EM 0.0.7E7F2. To link to a particular line, write [[SLASH'EM 0.0.7E7F2/artifact.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: @(#)artifact.h 3.4	1995/05/31	*/
2.    /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
3.    /* NetHack may be freely redistributed.  See license for details. */
4.    
5.    #ifndef ARTIFACT_H
6.    #define ARTIFACT_H
7.    
8.    #define SPFX_NONE   0x0000000L	/* no special effects, just a bonus */
9.    #define SPFX_NOGEN  0x0000001L	/* item is special, bequeathed by gods */
10.   #define SPFX_RESTR  0x0000002L	/* item is restricted - can't be named */
11.   #define SPFX_INTEL  0x0000004L	/* item is self-willed - intelligent */
12.   #define SPFX_SPEAK  0x0000008L	/* item can speak (not implemented) */
13.   #define SPFX_SEEK   0x0000010L	/* item helps you search for things */
14.   #define SPFX_WARN   0x0000020L	/* item warns you of danger */
15.   #define SPFX_ATTK   0x0000040L	/* item has a special attack (attk) */
16.   #define SPFX_DEFN   0x0000080L	/* item has a special defence (defn) */
17.   #define SPFX_DRLI   0x0000100L	/* drains a level from monsters */
18.   #define SPFX_SEARCH 0x0000200L	/* helps searching */
19.   #define SPFX_BEHEAD 0x0000400L	/* beheads monsters */
20.   #define SPFX_HALRES 0x0000800L	/* blocks hallucinations */
21.   #define SPFX_ESP    0x0001000L	/* ESP (like amulet of ESP) */
22.   #define SPFX_STLTH  0x0002000L	/* Stealth */
23.   #define SPFX_REGEN  0x0004000L	/* Regeneration */
24.   #define SPFX_EREGEN 0x0008000L	/* Energy Regeneration */
25.   #define SPFX_HSPDAM 0x0010000L	/* 1/2 spell damage (on player) in combat */
26.   #define SPFX_HPHDAM 0x0020000L	/* 1/2 physical damage (on player) in combat */
27.   #define SPFX_TCTRL  0x0040000L	/* Teleportation Control */
28.   #define SPFX_LUCK   0x0080000L	/* Increase Luck (like Luckstone) */
29.   #define SPFX_DMONS  0x0100000L	/* attack bonus on one monster type */
30.   #define SPFX_DCLAS  0x0200000L	/* attack bonus on monsters w/ symbol mtype */
31.   #define SPFX_DFLAG1 0x0400000L	/* attack bonus on monsters w/ mflags1 flag */
32.   #define SPFX_DFLAG2 0x0800000L	/* attack bonus on monsters w/ mflags2 flag */
33.   #define SPFX_DALIGN 0x1000000L	/* attack bonus on non-aligned monsters  */
34.   #define SPFX_XRAY   0x2000000L	/* gives X-RAY vision to player */
35.   #define SPFX_REFLECT 0x4000000L /* Reflection */
36.   
37.   #define SPFX_DBONUS 0x1F00000L	/* attack bonus mask */
38.   
39.   struct artifact {
40.   	short	    otyp;
41.   	const char  *name;
42.   	unsigned long spfx;	/* special effect from wielding/wearing */
43.   	unsigned long cspfx;	/* special effect just from carrying obj */
44.   	unsigned long mtype;	/* monster type, symbol, or flag */
45.   	struct attack attk, defn, cary;
46.   	uchar	    inv_prop;	/* property obtained by invoking artifact */
47.   	aligntyp    alignment;	/* alignment of bequeathing gods */
48.   	short	    role;	/* character role associated with */
49.   	short	    race;	/* character race associated with */
50.   	long        cost;	/* price when sold to hero (default 100 x base cost) */
51.   	
52.   	Bitfield(questarti,1);	/* is quest artifact */
53.   };
54.   
55.   /* invoked properties with special powers */
56.   #define TAMING		(LAST_PROP+1)
57.   #define HEALING		(LAST_PROP+2)
58.   #define ENERGY_BOOST	(LAST_PROP+3)
59.   #define UNTRAP		(LAST_PROP+4)
60.   #define CHARGE_OBJ	(LAST_PROP+5)
61.   #define LEV_TELE	(LAST_PROP+6)
62.   #define CREATE_PORTAL	(LAST_PROP+7)
63.   #define ENLIGHTENING	(LAST_PROP+8)
64.   #define CREATE_AMMO	(LAST_PROP+9)
65.   #define SUMMON_UNDEAD   (LAST_PROP+10)
66.   #define DEATH_GAZE      (LAST_PROP+11)
67.   #define LIGHT_AREA      (LAST_PROP+12) /* STEPHEN WHITE'S NEW CODE */
68.   #define PROT_POLY       (LAST_PROP+13)
69.   #define SUMMON_FIRE_ELEMENTAL           (LAST_PROP+14)
70.   #define SUMMON_WATER_ELEMENTAL          (LAST_PROP+15)
71.   #define OBJ_DETECTION	(LAST_PROP+16)
72.   
73.   #endif /* ARTIFACT_H */
Advertisement