FANDOM


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.


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

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.