Source:Artifact.h

Below is the full text to include/artifact.h from NetHack 3.4.3. To link to a particular line, write [[artifact.h#line123 ]], for example. 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_DBONUS 0x1F00000L	/* attack bonus mask */ 35.  #define SPFX_XRAY   0x2000000L	/* gives X-RAY vision to player */ 36.  #define SPFX_REFLECT 0x4000000L /* Reflection */ 37.   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.    53.   /* invoked properties with special powers */ 54.  #define TAMING		(LAST_PROP+1) 55.  #define HEALING		(LAST_PROP+2) 56.  #define ENERGY_BOOST	(LAST_PROP+3) 57.  #define UNTRAP		(LAST_PROP+4) 58.  #define CHARGE_OBJ	(LAST_PROP+5) 59.  #define LEV_TELE	(LAST_PROP+6) 60.  #define CREATE_PORTAL	(LAST_PROP+7) 61.  #define ENLIGHTENING	(LAST_PROP+8) 62.  #define CREATE_AMMO	(LAST_PROP+9) 63.   64.   #endif /* ARTIFACT_H */