Source:SLASH'EM 0.0.7E7F2/tech.h

From NetHackWiki
Revision as of 18:26, 7 March 2008 by Kernigh bot (talk | contribs) (SLASH'EM 0.0.7E7F2/tech.h moved to Source:SLASH'EM 0.0.7E7F2/tech.h: Robot: moved page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.

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