]> icculus.org git repositories - divverent/nexuiz.git/blob - TeamNexuiz/game/gamec/tfdefs.c
git-svn-id: svn://svn.icculus.org/nexuiz/trunk@736 f962a42d-fe04-0410-a3ab-8c8b0445ebaa
[divverent/nexuiz.git] / TeamNexuiz / game / gamec / tfdefs.c
1 /*************************************\r
2         Team:Nexuiz (NexTF) Definitions\r
3 *************************************/\r
4 \r
5 /********************* General ***************************/\r
6 float TF_FLARE_LIT = 0;         // Woes of a decompiler, eh?\r
7 float TF_FLARE_OFF = 1;         ////\r
8 float CTF_Map;\r
9 float (entity e, float healamount, float ignore) T_Heal;\r
10 \r
11 // Temporary Defs (till I implement real systems for these)\r
12 //float joinorder;              // menu implemented :)\r
13 \r
14 // Team Scores\r
15 float team1score;\r
16 float team2score;\r
17 float team3score;\r
18 float team4score;\r
19 \r
20 // Team Colors\r
21 float team1col;\r
22 float team2col;\r
23 float team3col;\r
24 float team4col;\r
25 \r
26 // Legal Classes\r
27 float illegalclasses/*    = 0*/;\r
28 float illegalclasses1;\r
29 float illegalclasses2;\r
30 float illegalclasses3;\r
31 float illegalclasses4;\r
32 float civilianteams;\r
33 \r
34 // Last Spawn Place of Team\r
35 entity lastspawn_team1;\r
36 entity lastspawn_team2;\r
37 entity lastspawn_team3;\r
38 entity lastspawn_team4;\r
39 \r
40 .float playerclass;                     // TF's recognition of players. This will be set in accordance to tf playerclasses\r
41 \r
42 // TF Class Numbers\r
43 float TF_CLASS_SCOUT = 1;\r
44 float TF_CLASS_SNIPER = 2;              //not in NexTF\r
45 float TF_CLASS_SOLDIER = 3;\r
46 float TF_CLASS_DEMOMAN = 4;             //not in NexTF\r
47 float TF_CLASS_MEDIC = 5;\r
48 float TF_CLASS_HWGUY = 6;               //not in NexTF\r
49 float TF_CLASS_PYRO = 7;\r
50 float TF_CLASS_SPY = 8;\r
51 float TF_CLASS_ENGINEER = 9;\r
52 float TF_CLASS_RANDOM = 10;                     // Need fucntions for these 2\r
53 float TF_CLASS_CIVILIAN = 11;           ////\r
54 .float respawn_as_new_class;    // what class the player will respawn as in accordance to tf's .playerclass\r
55 \r
56 // Death Message (we should incorporate this into Team:Nexuiz some time)\r
57 float deathmsg;\r
58 \r
59 // Hmm?\r
60 .float has_abbreviated;         // for NetQuake's UpdateAbbreviation fucntion\r
61 .float hn_i_g;\r
62 .float hasnt_item_from_group;\r
63 float flagem_checked;\r
64 .float tp_grenades_1;\r
65 .float tp_grenades_2;\r
66 .float camdist;\r
67 .vector camangle;\r
68 .entity observer_list;\r
69 float cb_prematch_time;\r
70 \r
71 float civilianteams;    // Are civilian teams allowed?\r
72 \r
73 float parems_decoded;           // Have the parameters already been decoded - XavioR\r
74 \r
75 //Team Frags                    (old function -- possibly moot)\r
76 float team1frags;\r
77 float team2frags;\r
78 float team3frags;\r
79 float team4frags;\r
80 \r
81 //FlagExists floats so that a team flag isnt spawned twice by the Q3F conversion code\r
82 float redflagexists;\r
83 float blueflagexists;\r
84 \r
85 .void() th_die;         // wtf is this again..\r
86 .void() th_stand;\r
87 .void() th_walk;\r
88 .void() th_run;\r
89 .void() th_missile;\r
90 .void() th_melee;\r
91 \r
92 // Weapon Clips\r
93 .float reload_time;\r
94 .float clip_crylink;\r
95 .float clip_rockets;\r
96 .float clip_pipegrenades;\r
97 float CLIP_MAX_CRYLINK = 8;\r
98 float CLIP_MAX_ROCKETS = 4;\r
99 float CLIP_MAX_PIPEGRENADES = 6;\r
100 \r
101 .float is_dead;                 // temp         // player is dead\r
102 \r
103 .float immune_to_check;         // How long player is immune to cheat check?\r
104                                                         //// Personally i think I'm jsut gonna implement krimzon's\r
105                                                         //// ParseClientCommand to check color change cheats. - XavioR\r
106 .float axhitme;                 // Goal Item (I think) -- if ax hits then blah\r
107                                                 // There's no axe in nexuiz tho.... :/\r
108 .float armor_allowed;           //\r
109 .float maxarmor;                        ////\r
110 .float ammo_medikit;\r
111 .float maxammo_medikit;\r
112 .float ammo_detpack;\r
113 .float maxammo_detpack;\r
114 .float maxammo_shells;\r
115 .float maxammo_nails;\r
116 .float maxammo_cells;\r
117 .float maxammo_rockets;\r
118 .float last_impulse;\r
119 .float real_frags;\r
120 .float items_allowed;\r
121 .float super_time;              // no idea(?)\r
122 .float super_sound;             ////\r
123 .float invisible_finished;              // Not a NexTF function(?)\r
124 .float invisible_time;                  ////\r
125 .float radsuit_finished;                // BioSuit(?)\r
126 .float rad_time;                                ////\r
127 .float distance;                // My guess is that this is whatever TF uses to store entity distances\r
128                                                 // from each other?\r
129 .float volume;\r
130 .float option5;\r
131 \r
132 .float worldtype;                       // Not sure\r
133 \r
134 .float armorclass;      // How will nexTF's armor class work? \r
135                                         // It's a good thing to have in anyways I guess.\r
136 \r
137 .float weaponmode;      //      I think only demoman and HWGuy use this, and since they're not in nextf.. poof\r
138 \r
139                                         // The TF State\r
140 .float tfstate; // State of the player according to quake TF.\r
141                                 // I will try to satisfy it for NexTF after the goal porting is done.\r
142 .float maxfbspeed;\r
143 .float maxstrafespeed;\r
144 .float StatusRefreshTime;               // The Status Bar\r
145 .float StatusBarSize;                   ////\r
146 .float StatusBarRes;                    ////\r
147 \r
148 // MENU STUFF\r
149 .float current_menu;\r
150 .float menu_count;\r
151 \r
152 .float heat;            // What tf uses for powering up weapons. Could be useful later?\r
153 \r
154 entity otemp;\r
155 entity stemp;\r
156 \r
157 .entity trigger_field;\r
158 \r
159 .string noise4;         // MTF fucntion -- possibly moot.\r
160 .string deathtype;              // "You have the flag"\r
161 \r
162 .string team_str_home;\r
163 .string team_str_moved;\r
164 .string team_str_carried;\r
165 \r
166 void (entity targ, entity inflictor, entity attacker, float damage) T_Damage;\r
167 void (entity targ, entity inflictor, entity attacker, float damage, float T_flags, float T_AttackType) TF_T_Damage;\r
168 void (entity Viewer, float pc, float rpc) TeamFortress_PrintClassName;\r
169 void (float classnum) SetMaxAmmoFor;\r
170 \r
171 /*********************************************************/\r
172 ///////////////////////////////////////////////////////////\r
173 /******************* Moved from:**************************/\r
174 //tffunctions\r
175 .float nextpc;          // for qued next player class -- we gonna use this?\r
176 void (string halias, float himpulse1, float himpulse2) TeamFortress_Alias;\r
177 string () ChooseRandomClass;\r
178 \r
179 // tfcombat:\r
180 .float invincible_time;         //Pent effect time\r
181 .float invincible_sound;        //Pent hit sound\r
182 void (entity inflictor, entity attacker, float damage, entity ignore) T_RadiusDamage;\r
183 \r
184 // tfmapitems:\r
185 .float tf_items;\r
186 .float tf_items_flags;\r
187 .float goal_no;\r
188 .float group_no;\r
189 .float goal_state;\r
190 .float goal_activation;\r
191 .float goal_effects;\r
192 .float goal_group;\r
193 .float activate_goal_no;\r
194 .float inactivate_goal_no;\r
195 .float if_goal_is_active;\r
196 .float if_goal_is_inactive;\r
197 .float if_goal_is_removed;\r
198 .float if_group_is_active;\r
199 .float if_group_is_inactive;\r
200 .float if_group_is_removed;\r
201 .float remove_goal_no;\r
202 .float restore_goal_no;\r
203 .float activate_group_no;\r
204 .float inactivate_group_no;\r
205 .float remove_group_no;\r
206 .float restore_group_no;\r
207 .float has_item_from_group;\r
208 .float remove_item_group;\r
209 .float return_item_no;\r
210 \r
211 // tfplats\r
212 .float height;\r
213 .entity movetarget;\r
214 void () SUB_CalcMoveDone;\r
215 void (vector tdest, float tspeed, void() func) SUB_CalcMove;\r
216 void (entity ent, vector tdest, float tspeed, void() func) SUB_CalcMoveEnt;\r
217 \r
218 // tfq3fitems\r
219 .string is_converted_goal; // This is used to identify converted goals (helps me determine spawn in q3f maps)\r
220 float q3fdetect;\r
221 .vector orig_origin;\r
222 .string activetarget;\r
223 .string allowteams;\r
224 void () i_p_t;\r
225 \r
226 // tfgrenades\r
227 void () TeamFortress_PrimeGrenade;\r
228 void () TeamFortress_ThrowGrenade;\r
229 void () NormalGrenadeTouch;\r
230 void () NormalGrenadeExplode;\r
231 float () crandom;\r
232 \r
233 // tfsubs\r
234 .float dont_do_triggerwork;\r
235 void (entity Goal, entity AP) DoGroupWork;\r
236 void (entity Goal, entity AP) DoGoalWork;\r
237 void () button_wait;\r
238 void () SUB_Remove;\r
239 \r
240 // tfsentry\r
241 .float undercover_team;                         // is undercover as team number... Are we gonna use this one, wazat?\r
242 .float super_damage_finished;           // turrets can get super charged too!\r
243 //DP_QC_GETTAGINFO\r
244 //idea: VorteX, LordHavoc (somebody else?)\r
245 //DarkPlaces implementation: VorteX\r
246 //builtin definitions:\r
247 float(entity ent, string tagname) gettagindex = #451;\r
248 vector(entity ent, float tagindex) gettaginfo = #452;\r
249 //description:\r
250 //gettagindex returns the number of a tag on an entity, this number is the same as set by setattachment (in the .tag_index field), allowing the qc to save a little cpu time by keeping the number around if it wishes (this could already be done by calling setattachment and saving off the tag_index).\r
251 //gettaginfo returns the origin of the tag in worldspace and sets v_forward, v_right, and v_up to the current orientation of the tag in worldspace, this automatically resolves all dependencies (attachments, including viewmodelforclient), this means you could fire a shot from a tag on a gun entity attached to the view for example.\r
252 \r
253 \r
254 //       classes\r
255 // engiener\r
256 .float is_building;                     // is the player in the middle of building something\r
257 .float has_dispenser;           // player has dispenser\r
258 .float has_sentry;                      // player has sentry gun\r
259 .float has_tesla;                       // player has tesla coil\r
260 .float has_teleporter;          // player has telepad (2 max)\r
261 .entity barrel_ent;\r
262 \r
263 /******************* End Moved From Section **************/\r
264 ///////////////////////////////////////////////////////////\r
265 /*************** Defs that need functions ****************/\r
266 .float lives;                   // Amount of lives\r
267 float toggleflags;\r
268 .float is_unabletospy;          // picking up tfgoal makes the spy unable to go undercover\r
269 .float owned_by;                // Item is owned by team #