2 Copyright (C) 2003, 2010 - Wolfire Games
4 This file is part of Lugaru.
6 Lugaru is free software; you can redistribute it and/or
7 modify it under the terms of the GNU General Public License
8 as published by the Free Software Foundation; either version 2
9 of the License, or (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15 See the GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 /**> HEADER FILES <**/
28 #include "Quaternions.h"
32 #include "Constants.h"
42 #define attacktypecutoff 4
43 #define playercontrolled 5
45 #define getweapontype 7
46 #define pathfindtype 8
75 int oldcurrentanimation;
76 int oldtargetanimation;
80 float parriedrecently;
84 int lastattack,lastattack2,lastattack3;
86 XYZ currentoffset,targetoffset,offset;
104 float unconscioustime;
109 float targetrotation;
122 bool rabbitkickenabled;
131 float damagetolerance;
133 float permanentdamage;
134 float superpermanentdamage; float lastcollide;
152 float texupdatedelay;
154 float headrotation,headrotation2;
155 float targetheadrotation,targetheadrotation2;
166 float normalsupdatedelay;
171 bool forwardstogglekeydown;
176 bool jumptogglekeydown;
178 bool crouchtogglekeydown;
180 bool drawtogglekeydown;
182 bool throwtogglekeydown;
188 float crouchkeydowntime;
189 float jumpkeydowntime;
198 float losupdatedelay;
206 float whichdirectiondelay;
207 bool avoidsomething; XYZ avoidwhere;
208 float blooddimamount;
215 float lefthandmorphness;
216 float righthandmorphness;
218 float chestmorphness;
220 float targetlefthandmorphness;
221 float targetrighthandmorphness;
222 float targetheadmorphness;
223 float targetchestmorphness;
224 float targettailmorphness;
225 int lefthandmorphstart,lefthandmorphend;
226 int righthandmorphstart,righthandmorphend;
227 int headmorphstart,headmorphend;
228 int chestmorphstart,chestmorphend;
229 int tailmorphstart,tailmorphend;
231 float weaponmissdelay;
232 float highreversaldelay;
233 float lowreversaldelay;
234 float nocollidedelay;
247 float protectionhead;
248 float protectionhigh;
258 char clothes[10][256];
259 float clothestintr[10];
260 float clothestintg[10];
261 float clothestintb[10];
267 float onfiredelay; float burnt;
271 float updatestuffdelay;
279 int weaponstuckwhere;
284 int waypointtype[90];
286 bool hastempwaypoint;
292 XYZ finalfinaltarget;
294 int finalpathfindpoint;
295 int targetpathfindpoint;
296 int lastpathfindpoint;
297 int lastpathfindpoint2;
298 int lastpathfindpoint3;
299 int lastpathfindpoint4;
310 float runninghowlong; int lastoccluded;
315 float neckspurtdelay;
316 float neckspurtparticledelay;
317 float neckspurtamount;
320 bool rabbitkickragdoll;
325 Animation tempanimation;
331 void DoBlood(float howmuch, int which);
332 void DoBloodBig(float howmuch, int which);
333 bool DoBloodBigWhere(float howmuch, int which, XYZ where);
374 void DoDamage(float howmuch);
376 void DoMipmaps(int howmanylevels, float startx, float endx, float starty, float endy);
377 int SphereCheck(XYZ *p1,float radius, XYZ *p, XYZ *move, float *rotate, Model *model);
379 void Puff(int whichlabel);
380 void FootLand(int which, float opacity);
383 void RagDoll(bool checkcollision);
384 HitStruct BulletCollideWithPlayer(XYZ start, XYZ end);