Source:SLASH'EM 0.0.7E7F2/tech.h

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

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

1.   /*      SCCS Id: @(#)tech.h    3.2     98/Oct/30                  */ 2.   /* Original Code by Warren Cheung                                 */ 3.   /* Copyright 1986, M. Stephenson				  */ 4.   /* NetHack may be freely redistributed. See license for details. */ 5.     6.    #ifndef TECH_H 7.   #define TECH_H 8.    9.    /* An array of this struct holds your current techs */ 10.  struct tech { 11.  	int         t_id;                  /* tech id  12. * 	Unique number for the tech 13.  					    *	see the #defines below 14.  					    */  15.   	xchar       t_lev;                 /* power level 16.  					    *   This is the level 17.  					    *   you were when you got the tech 18.  				            */  19.   	  20.   	int         t_tout;                /* timeout - time until tech can be  21. * used again 22.  					    */  23.   	int         t_inuse;               /* time till effect stops 24.  					    */  25.   	long        t_intrinsic;           /* Source(s) */ 26.  #define OUTSIDE_LEVEL	TIMEOUT            /* Level "from outside" started at */ 27.  };  28.    29.   struct innate_tech { 30.  	schar   ulevel; /* gains tech at level */ 31.  	short   tech_id; /* the tech unique ID*/ 32.  	int	tech_lev; /* starts at level */ 33.  };  34.    35.   struct blitz_tab { 36.          const char *blitz_cmd; /* the typed command */ 37.          const int blitz_len; /* The length of blitz_cmd */ 38.          int NDECL((*blitz_funct)); /* function called when the command is executed */ 39.          const int blitz_tech; /* the tech designation - determines tech needed 40.           		       * to access this blitz and the name of the blitz 41.            		       */  42.           const int blitz_type; /* the type of blitz chain */ 43.  #define BLITZ_START 	0 /* Starts the chain */ 44.  #define BLITZ_CHAIN 	1 /* Goes anywhere in the chain (usually middle) */ 45.  #define BLITZ_END 	2 /* Finishes the chain */ 46.  };  47.    48.    49.   #define NO_TECH 	0 50.  #define T_BERSERK 	1 51.  #define T_KIII 		2 52.  #define T_RESEARCH 	3 53.  #define T_SURGERY 	4 54.  #define T_REINFORCE 	5 55.  #define T_FLURRY 	6 56.  #define T_PRACTICE 	7 57.  #define T_EVISCERATE 	8 58.  #define T_HEAL_HANDS 	9 59.  #define T_CALM_STEED 	10 60.  #define T_TURN_UNDEAD 	11 61.  #define T_VANISH 	12 62.  #define T_CUTTHROAT 	13 63.  #define T_BLESSING 	14 64.  #define T_E_FIST 	15 65.  #define T_PRIMAL_ROAR 	16 66.  #define T_LIQUID_LEAP 	17 67.  #define T_CRIT_STRIKE 	18 68.  #define T_SIGIL_CONTROL 19 69.  #define T_SIGIL_TEMPEST 20 70.  #define T_SIGIL_DISCHARGE 21 71.  #define T_RAISE_ZOMBIES 22 72.  #define T_REVIVE 	23 73.  #define T_WARD_FIRE 	24 74.  #define T_WARD_COLD 	25 75.  #define T_WARD_ELEC 	26 76.  #define T_TINKER 	27 77.  #define T_RAGE	 	28 78.  #define T_BLINK	 	29 79.  #define T_CHI_STRIKE 	30 80.  #define T_DRAW_ENERGY 	31 81.  #define T_CHI_HEALING 	32 82.  #define T_DISARM 	33 83.  #define T_DAZZLE 	34 84.  #define T_BLITZ 	35 85.  #define T_PUMMEL 	36 86.  #define T_G_SLAM 	37 87.  #define T_DASH	 	38 88.  #define T_POWER_SURGE 	39 89.  #define T_SPIRIT_BOMB 	40 90.  #define T_DRAW_BLOOD	41 91.   92.   #define MAXTECH 41 93.   94.    95.   #endif /* TECH_H */