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 */