1 /*
2 ===========================================================================
3 Copyright (C) 1999-2005 Id Software, Inc.
4 Copyright (C) 2000-2006 Tim Angus
5 
6 This file is part of Tremulous.
7 
8 Tremulous is free software; you can redistribute it
9 and/or modify it under the terms of the GNU General Public License as
10 published by the Free Software Foundation; either version 2 of the License,
11 or (at your option) any later version.
12 
13 Tremulous is distributed in the hope that it will be
14 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 GNU General Public License for more details.
17 
18 You should have received a copy of the GNU General Public License
19 along with Tremulous; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
21 ===========================================================================
22 */
23 
24 
25 /*
26  * ALIEN weapons
27  *
28  * _REPEAT  - time in msec until the weapon can be used again
29  * _DMG     - amount of damage the weapon does
30  *
31  * ALIEN_WDMG_MODIFIER - overall damage modifier for coarse tuning
32  *
33  */
34 
35 #define ALIEN_WDMG_MODIFIER         1.0f
36 #define ADM(d)                      ((int)((float)d*ALIEN_WDMG_MODIFIER))
37 
38 #define ABUILDER_BUILD_REPEAT       500
39 #define ABUILDER_CLAW_DMG           ADM(20)
40 #define ABUILDER_CLAW_RANGE         64.0f
41 #define ABUILDER_CLAW_WIDTH         4.0f
42 #define ABUILDER_CLAW_REPEAT        1000
43 #define ABUILDER_BASE_DELAY         17000
44 #define ABUILDER_ADV_DELAY          12000
45 #define ABUILDER_BLOB_DMG           ADM(4)
46 #define ABUILDER_BLOB_REPEAT        1000
47 #define ABUILDER_BLOB_SPEED         800.0f
48 #define ABUILDER_BLOB_SPEED_MOD     0.5f
49 #define ABUILDER_BLOB_TIME          5000
50 
51 #define LEVEL0_BITE_DMG             ADM(48)
52 #define LEVEL0_BITE_RANGE           64.0f
53 #define LEVEL0_BITE_WIDTH           6.0f
54 #define LEVEL0_BITE_REPEAT          500
55 
56 #define LEVEL1_CLAW_DMG             ADM(32)
57 #define LEVEL1_CLAW_RANGE           96.0f
58 #define LEVEL1_CLAW_WIDTH           10.0f
59 #define LEVEL1_CLAW_REPEAT          600
60 #define LEVEL1_CLAW_U_REPEAT        500
61 #define LEVEL1_GRAB_RANGE           64.0f
62 #define LEVEL1_GRAB_TIME            300
63 #define LEVEL1_GRAB_U_TIME          450
64 #define LEVEL1_PCLOUD_DMG           ADM(4)
65 #define LEVEL1_PCLOUD_RANGE         200.0f
66 #define LEVEL1_PCLOUD_REPEAT        2000
67 #define LEVEL1_PCLOUD_TIME          10000
68 
69 #define LEVEL2_CLAW_DMG             ADM(40)
70 #define LEVEL2_CLAW_RANGE           96.0f
71 #define LEVEL2_CLAW_WIDTH           12.0f
72 #define LEVEL2_CLAW_REPEAT          500
73 #define LEVEL2_CLAW_U_REPEAT        400
74 #define LEVEL2_AREAZAP_DMG          ADM(80)
75 #define LEVEL2_AREAZAP_RANGE        200.0f
76 #define LEVEL2_AREAZAP_WIDTH        15.0f
77 #define LEVEL2_AREAZAP_REPEAT       1500
78 #define LEVEL2_AREAZAP_TIME         1000
79 #define LEVEL2_AREAZAP_MAX_TARGETS  3
80 #define LEVEL2_WALLJUMP_MAXSPEED    1000.0f
81 
82 #define LEVEL3_CLAW_DMG             ADM(80)
83 #define LEVEL3_CLAW_RANGE           96.0f
84 #define LEVEL3_CLAW_WIDTH           16.0f
85 #define LEVEL3_CLAW_REPEAT          700
86 #define LEVEL3_CLAW_U_REPEAT        600
87 #define LEVEL3_POUNCE_DMG           ADM(100)
88 #define LEVEL3_POUNCE_RANGE         72.0f
89 #define LEVEL3_POUNCE_WIDTH         16.0f
90 #define LEVEL3_POUNCE_SPEED         700
91 #define LEVEL3_POUNCE_UPG_SPEED     800
92 #define LEVEL3_POUNCE_SPEED_MOD     0.75f
93 #define LEVEL3_POUNCE_CHARGE_TIME   700
94 #define LEVEL3_POUNCE_TIME          400
95 #define LEVEL3_BOUNCEBALL_DMG       ADM(110)
96 #define LEVEL3_BOUNCEBALL_REPEAT    1000
97 #define LEVEL3_BOUNCEBALL_SPEED     1000.0f
98 
99 #define LEVEL4_CLAW_DMG             ADM(100)
100 #define LEVEL4_CLAW_RANGE           128.0f
101 #define LEVEL4_CLAW_WIDTH           20.0f
102 #define LEVEL4_CLAW_REPEAT          750
103 #define LEVEL4_REGEN_RANGE          200.0f
104 #define LEVEL4_REGEN_MOD            2.0f
105 #define LEVEL4_CHARGE_SPEED         2.0f
106 #define LEVEL4_CHARGE_TIME          3000
107 #define LEVEL4_CHARGE_CHARGE_TIME   1500
108 #define LEVEL4_MIN_CHARGE_TIME      750
109 #define LEVEL4_CHARGE_CHARGE_RATIO  (LEVEL4_CHARGE_TIME/LEVEL4_CHARGE_CHARGE_TIME)
110 #define LEVEL4_CHARGE_REPEAT        1000
111 #define LEVEL4_CHARGE_DMG           ADM(110)
112 
113 
114 
115 /*
116  * ALIEN classes
117  *
118  * _SPEED   - fraction of Q3A run speed the class can move
119  * _REGEN   - health per second regained
120  *
121  * ALIEN_HLTH_MODIFIER - overall health modifier for coarse tuning
122  *
123  */
124 
125 #define ALIEN_HLTH_MODIFIER         1.0f
126 #define AHM(h)                      ((int)((float)h*ALIEN_HLTH_MODIFIER))
127 
128 #define ALIEN_VALUE_MODIFIER        1.0f
129 #define AVM(h)                      ((int)((float)h*ALIEN_VALUE_MODIFIER))
130 
131 #define ABUILDER_SPEED              0.8f
132 #define ABUILDER_VALUE              AVM(200)
133 #define ABUILDER_HEALTH             AHM(50)
134 #define ABUILDER_REGEN              2
135 #define ABUILDER_COST               0
136 
137 #define ABUILDER_UPG_SPEED          1.0f
138 #define ABUILDER_UPG_VALUE          AVM(250)
139 #define ABUILDER_UPG_HEALTH         AHM(75)
140 #define ABUILDER_UPG_REGEN          3
141 #define ABUILDER_UPG_COST           0
142 
143 #define LEVEL0_SPEED                1.3f
144 #define LEVEL0_VALUE                AVM(175)
145 #define LEVEL0_HEALTH               AHM(25)
146 #define LEVEL0_REGEN                1
147 #define LEVEL0_COST                 0
148 
149 #define LEVEL1_SPEED                1.25f
150 #define LEVEL1_VALUE                AVM(225)
151 #define LEVEL1_HEALTH               AHM(75)
152 #define LEVEL1_REGEN                2
153 #define LEVEL1_COST                 1
154 
155 #define LEVEL1_UPG_SPEED            1.25f
156 #define LEVEL1_UPG_VALUE            AVM(275)
157 #define LEVEL1_UPG_HEALTH           AHM(100)
158 #define LEVEL1_UPG_REGEN            3
159 #define LEVEL1_UPG_COST             1
160 
161 #define LEVEL2_SPEED                1.2f
162 #define LEVEL2_VALUE                AVM(350)
163 #define LEVEL2_HEALTH               AHM(150)
164 #define LEVEL2_REGEN                4
165 #define LEVEL2_COST                 1
166 
167 #define LEVEL2_UPG_SPEED            1.2f
168 #define LEVEL2_UPG_VALUE            AVM(450)
169 #define LEVEL2_UPG_HEALTH           AHM(175)
170 #define LEVEL2_UPG_REGEN            5
171 #define LEVEL2_UPG_COST             1
172 
173 #define LEVEL3_SPEED                1.1f
174 #define LEVEL3_VALUE                AVM(500)
175 #define LEVEL3_HEALTH               AHM(200)
176 #define LEVEL3_REGEN                6
177 #define LEVEL3_COST                 1
178 
179 #define LEVEL3_UPG_SPEED            1.1f
180 #define LEVEL3_UPG_VALUE            AVM(600)
181 #define LEVEL3_UPG_HEALTH           AHM(250)
182 #define LEVEL3_UPG_REGEN            7
183 #define LEVEL3_UPG_COST             1
184 
185 #define LEVEL4_SPEED                1.2f
186 #define LEVEL4_VALUE                AVM(800)
187 #define LEVEL4_HEALTH               AHM(400)
188 #define LEVEL4_REGEN                7
189 #define LEVEL4_COST                 2
190 
191 
192 
193 /*
194  * ALIEN buildables
195  *
196  * _BP            - build points required for this buildable
197  * _BT            - build time required for this buildable
198  * _REGEN         - the amount of health per second regained
199  * _SPLASHDAMGE   - the amount of damage caused by this buildable when melting
200  * _SPLASHRADIUS  - the radius around which it does this damage
201  *
202  * CREEP_BASESIZE - the maximum distance a buildable can be from an egg/overmind
203  * ALIEN_BHLTH_MODIFIER - overall health modifier for coarse tuning
204  *
205  */
206 
207 #define ALIEN_BHLTH_MODIFIER        1.0f
208 #define ABHM(h)                     ((int)((float)h*ALIEN_BHLTH_MODIFIER))
209 
210 #define CREEP_BASESIZE              700
211 #define CREEP_TIMEOUT               1000
212 #define CREEP_MODIFIER              0.5f
213 #define CREEP_ARMOUR_MODIFIER       0.75f
214 #define CREEP_SCALEDOWN_TIME        3000
215 
216 #define ASPAWN_BP                   10
217 #define ASPAWN_BT                   15000
218 #define ASPAWN_HEALTH               ABHM(250)
219 #define ASPAWN_REGEN                8
220 #define ASPAWN_SPLASHDAMAGE         50
221 #define ASPAWN_SPLASHRADIUS         50
222 #define ASPAWN_CREEPSIZE            120
223 #define ASPAWN_VALUE                150
224 
225 #define BARRICADE_BP                10
226 #define BARRICADE_BT                20000
227 #define BARRICADE_HEALTH            ABHM(200)
228 #define BARRICADE_REGEN             14
229 #define BARRICADE_SPLASHDAMAGE      50
230 #define BARRICADE_SPLASHRADIUS      50
231 #define BARRICADE_CREEPSIZE         120
232 
233 #define BOOSTER_BP                  12
234 #define BOOSTER_BT                  15000
235 #define BOOSTER_HEALTH              ABHM(150)
236 #define BOOSTER_REGEN               8
237 #define BOOSTER_SPLASHDAMAGE        50
238 #define BOOSTER_SPLASHRADIUS        50
239 #define BOOSTER_CREEPSIZE           120
240 #define BOOSTER_INTERVAL            30000 //time in msec between uses (per player)
241 #define BOOSTER_REGEN_MOD           2.0f
242 #define BOOST_TIME                  30000
243 
244 #define ACIDTUBE_BP                 8
245 #define ACIDTUBE_BT                 15000
246 #define ACIDTUBE_HEALTH             ABHM(125)
247 #define ACIDTUBE_REGEN              10
248 #define ACIDTUBE_SPLASHDAMAGE       6
249 #define ACIDTUBE_SPLASHRADIUS       300
250 #define ACIDTUBE_CREEPSIZE          120
251 #define ACIDTUBE_RANGE              300.0f
252 #define ACIDTUBE_REPEAT             3000
253 
254 #define HIVE_BP                     12
255 #define HIVE_BT                     20000
256 #define HIVE_HEALTH                 ABHM(125)
257 #define HIVE_REGEN                  10
258 #define HIVE_SPLASHDAMAGE           30
259 #define HIVE_SPLASHRADIUS           200
260 #define HIVE_CREEPSIZE              120
261 #define HIVE_RANGE                  400.0f
262 #define HIVE_REPEAT                 5000
263 #define HIVE_DMG                    50
264 #define HIVE_SPEED                  240.0f
265 #define HIVE_DIR_CHANGE_PERIOD      500
266 
267 #define TRAPPER_BP                  8
268 #define TRAPPER_BT                  12000
269 #define TRAPPER_HEALTH              ABHM(50)
270 #define TRAPPER_REGEN               6
271 #define TRAPPER_SPLASHDAMAGE        15
272 #define TRAPPER_SPLASHRADIUS        100
273 #define TRAPPER_CREEPSIZE           30
274 #define TRAPPER_RANGE               400
275 #define TRAPPER_REPEAT              1000
276 #define LOCKBLOB_SPEED              650.0f
277 #define LOCKBLOB_DOT                0.85f // max angle = acos( LOCKBLOB_DOT )
278 
279 #define OVERMIND_BP                 0
280 #define OVERMIND_BT                 30000
281 #define OVERMIND_HEALTH             ABHM(750)
282 #define OVERMIND_REGEN              6
283 #define OVERMIND_SPLASHDAMAGE       15
284 #define OVERMIND_SPLASHRADIUS       300
285 #define OVERMIND_CREEPSIZE          120
286 #define OVERMIND_ATTACK_RANGE       150.0f
287 #define OVERMIND_ATTACK_REPEAT      1000
288 #define OVERMIND_VALUE              300
289 
290 #define HOVEL_BP                    0
291 #define HOVEL_BT                    15000
292 #define HOVEL_HEALTH                ABHM(375)
293 #define HOVEL_REGEN                 20
294 #define HOVEL_SPLASHDAMAGE          20
295 #define HOVEL_SPLASHRADIUS          200
296 #define HOVEL_CREEPSIZE             120
297 
298 
299 
300 /*
301  * ALIEN misc
302  *
303  * ALIENSENSE_RANGE - the distance alien sense is useful for
304  *
305  */
306 
307 #define ALIENSENSE_RANGE            1000.0f
308 
309 #define ALIEN_POISON_TIME           10000
310 #define ALIEN_POISON_DMG            30
311 #define ALIEN_POISON_DIVIDER        (1.0f/1.32f) //about 1.0/(time`th root of damage)
312 
313 #define ALIEN_SPAWN_REPEAT_TIME     10000
314 
315 #define ALIEN_REGEN_DAMAGE_TIME     2000 //msec since damage that regen starts again
316 
317 /*
318  * HUMAN weapons
319  *
320  * _REPEAT  - time between firings
321  * _RELOAD  - time needed to reload
322  * _PRICE   - amount in credits weapon costs
323  *
324  * HUMAN_WDMG_MODIFIER - overall damage modifier for coarse tuning
325  *
326  */
327 
328 #define HUMAN_WDMG_MODIFIER         1.0f
329 #define HDM(d)                      ((int)((float)d*HUMAN_WDMG_MODIFIER))
330 
331 #define BLASTER_REPEAT              600
332 #define BLASTER_SPREAD              200
333 #define BLASTER_SPEED               1400
334 #define BLASTER_DMG                 HDM(9)
335 
336 #define RIFLE_CLIPSIZE              30
337 #define RIFLE_MAXCLIPS              6
338 #define RIFLE_REPEAT                90
339 #define RIFLE_RELOAD                2000
340 #define RIFLE_PRICE                 0
341 #define RIFLE_SPREAD                200
342 #define RIFLE_DMG                   HDM(5)
343 
344 #define PAINSAW_PRICE               100
345 #define PAINSAW_REPEAT              75
346 #define PAINSAW_DAMAGE              HDM(15)
347 #define PAINSAW_RANGE               40.0f
348 
349 #define GRENADE_PRICE               200
350 #define GRENADE_REPEAT              0
351 #define GRENADE_DAMAGE              HDM(310)
352 #define GRENADE_RANGE               192.0f
353 #define GRENADE_SPEED               400.0f
354 
355 #define SHOTGUN_PRICE               150
356 #define SHOTGUN_SHELLS              8
357 #define SHOTGUN_PELLETS             8 //used to sync server and client side
358 #define SHOTGUN_MAXCLIPS            3
359 #define SHOTGUN_REPEAT              1000
360 #define SHOTGUN_RELOAD              2000
361 #define SHOTGUN_SPREAD              900
362 #define SHOTGUN_DMG                 HDM(7)
363 
364 #define LASGUN_PRICE                250
365 #define LASGUN_AMMO                 200
366 #define LASGUN_REPEAT               200
367 #define LASGUN_RELOAD               2000
368 #define LASGUN_DAMAGE               HDM(9)
369 
370 #define MDRIVER_PRICE               350
371 #define MDRIVER_CLIPSIZE            5
372 #define MDRIVER_MAXCLIPS            4
373 #define MDRIVER_DMG                 HDM(38)
374 #define MDRIVER_REPEAT              1000
375 #define MDRIVER_RELOAD              2000
376 
377 #define CHAINGUN_PRICE              400
378 #define CHAINGUN_BULLETS            300
379 #define CHAINGUN_REPEAT             80
380 #define CHAINGUN_SPREAD             1000
381 #define CHAINGUN_DMG                HDM(6)
382 
383 #define PRIFLE_PRICE                400
384 #define PRIFLE_CLIPS                50
385 #define PRIFLE_MAXCLIPS             4
386 #define PRIFLE_REPEAT               100
387 #define PRIFLE_RELOAD               2000
388 #define PRIFLE_DMG                  HDM(9)
389 #define PRIFLE_SPEED                1000
390 
391 #define FLAMER_PRICE                450
392 #define FLAMER_GAS                  150
393 #define FLAMER_REPEAT               200
394 #define FLAMER_DMG                  HDM(20)
395 #define FLAMER_RADIUS               50
396 #define FLAMER_LIFETIME             800.0f
397 #define FLAMER_SPEED                200.0f
398 #define FLAMER_LAG                  0.65f  //the amount of player velocity that is added to the fireball
399 
400 #define LCANNON_PRICE               600
401 #define LCANNON_AMMO                90
402 #define LCANNON_REPEAT              500
403 #define LCANNON_CHARGEREPEAT        1000
404 #define LCANNON_RELOAD              2000
405 #define LCANNON_DAMAGE              HDM(265)
406 #define LCANNON_RADIUS              150
407 #define LCANNON_SECONDARY_DAMAGE    HDM(27)
408 #define LCANNON_SECONDARY_RADIUS    75
409 #define LCANNON_SPEED               350
410 #define LCANNON_CHARGE_TIME         2000
411 #define LCANNON_TOTAL_CHARGE        255
412 #define LCANNON_MIN_CHARGE          50
413 
414 #define HBUILD_PRICE                0
415 #define HBUILD_REPEAT               1000
416 #define HBUILD_DELAY                17500
417 #define HBUILD_HEALRATE             18
418 
419 #define HBUILD2_PRICE               0
420 #define HBUILD2_REPEAT              1000
421 #define HBUILD2_DELAY               15000
422 
423 
424 
425 /*
426  * HUMAN upgrades
427  */
428 
429 #define LIGHTARMOUR_PRICE           70
430 
431 #define HELMET_PRICE                90
432 #define HELMET_RANGE                1000.0f
433 
434 #define MEDKIT_PRICE                0
435 
436 #define BATTPACK_PRICE              100
437 #define BATTPACK_MODIFIER           1.5f //modifier for extra energy storage available
438 
439 #define JETPACK_PRICE               120
440 #define JETPACK_FLOAT_SPEED         128.0f //up movement speed
441 #define JETPACK_SINK_SPEED          192.0f //down movement speed
442 #define JETPACK_DISABLE_TIME        1000 //time to disable the jetpack when player damaged
443 #define JETPACK_DISABLE_CHANCE      0.3f
444 
445 #define BSUIT_PRICE                 400
446 
447 #define MGCLIP_PRICE                0
448 
449 #define CGAMMO_PRICE                0
450 
451 #define GAS_PRICE                   0
452 
453 #define MEDKIT_POISON_IMMUNITY_TIME 30000
454 #define MEDKIT_STARTUP_TIME         4000
455 #define MEDKIT_STARTUP_SPEED        5
456 
457 
458 /*
459  * HUMAN buildables
460  *
461  * _BP            - build points required for this buildable
462  * _BT            - build time required for this buildable
463  * _SPLASHDAMGE   - the amount of damage caused by this buildable when it blows up
464  * _SPLASHRADIUS  - the radius around which it does this damage
465  *
466  * REACTOR_BASESIZE - the maximum distance a buildable can be from an reactor
467  * REPEATER_BASESIZE - the maximum distance a buildable can be from a repeater
468  * HUMAN_BHLTH_MODIFIER - overall health modifier for coarse tuning
469  *
470  */
471 
472 #define HUMAN_BHLTH_MODIFIER        1.0f
473 #define HBHM(h)                     ((int)((float)h*HUMAN_BHLTH_MODIFIER))
474 
475 #define REACTOR_BASESIZE            1000
476 #define REPEATER_BASESIZE           500
477 #define HUMAN_DETONATION_DELAY      5000
478 
479 #define HSPAWN_BP                   10
480 #define HSPAWN_BT                   10000
481 #define HSPAWN_HEALTH               HBHM(310)
482 #define HSPAWN_SPLASHDAMAGE         50
483 #define HSPAWN_SPLASHRADIUS         100
484 #define HSPAWN_VALUE                1
485 
486 #define MEDISTAT_BP                 8
487 #define MEDISTAT_BT                 10000
488 #define MEDISTAT_HEALTH             HBHM(190)
489 #define MEDISTAT_SPLASHDAMAGE       50
490 #define MEDISTAT_SPLASHRADIUS       100
491 
492 #define MGTURRET_BP                 8
493 #define MGTURRET_BT                 10000
494 #define MGTURRET_HEALTH             HBHM(190)
495 #define MGTURRET_SPLASHDAMAGE       100
496 #define MGTURRET_SPLASHRADIUS       100
497 #define MGTURRET_ANGULARSPEED       8  //degrees/think ~= 200deg/sec
498 #define MGTURRET_ACCURACYTOLERANCE  MGTURRET_ANGULARSPEED / 1.5f //angular difference for turret to fire
499 #define MGTURRET_VERTICALCAP        30  // +/- maximum pitch
500 #define MGTURRET_REPEAT             100
501 #define MGTURRET_RANGE              300.0f
502 #define MGTURRET_SPREAD             200
503 #define MGTURRET_DMG                HDM(4)
504 #define MGTURRET_DCC_ANGULARSPEED       10
505 #define MGTURRET_DCC_ACCURACYTOLERANCE  MGTURRET_DCC_ANGULARSPEED / 1.5f
506 #define MGTURRET_GRAB_ANGULARSPEED      3
507 #define MGTURRET_GRAB_ACCURACYTOLERANCE MGTURRET_GRAB_ANGULARSPEED / 1.5f
508 
509 #define TESLAGEN_BP                 10
510 #define TESLAGEN_BT                 15000
511 #define TESLAGEN_HEALTH             HBHM(220)
512 #define TESLAGEN_SPLASHDAMAGE       50
513 #define TESLAGEN_SPLASHRADIUS       100
514 #define TESLAGEN_REPEAT             250
515 #define TESLAGEN_RANGE              250
516 #define TESLAGEN_DMG                HDM(9)
517 
518 #define DC_BP                       8
519 #define DC_BT                       10000
520 #define DC_HEALTH                   HBHM(190)
521 #define DC_SPLASHDAMAGE             50
522 #define DC_SPLASHRADIUS             100
523 
524 #define ARMOURY_BP                  10
525 #define ARMOURY_BT                  10000
526 #define ARMOURY_HEALTH              HBHM(280)
527 #define ARMOURY_SPLASHDAMAGE        50
528 #define ARMOURY_SPLASHRADIUS        100
529 
530 #define REACTOR_BP                  0
531 #define REACTOR_BT                  20000
532 #define REACTOR_HEALTH              HBHM(930)
533 #define REACTOR_SPLASHDAMAGE        200
534 #define REACTOR_SPLASHRADIUS        300
535 #define REACTOR_ATTACK_RANGE        100.0f
536 #define REACTOR_ATTACK_REPEAT       1000
537 #define REACTOR_ATTACK_DAMAGE       40
538 #define REACTOR_VALUE               2
539 
540 #define REPEATER_BP                 0
541 #define REPEATER_BT                 10000
542 #define REPEATER_HEALTH             HBHM(250)
543 #define REPEATER_SPLASHDAMAGE       50
544 #define REPEATER_SPLASHRADIUS       100
545 #define REPEATER_INACTIVE_TIME      90000
546 
547 /*
548  * HUMAN misc
549  */
550 
551 #define HUMAN_SPRINT_MODIFIER       1.2f
552 #define HUMAN_JOG_MODIFIER          1.0f
553 #define HUMAN_BACK_MODIFIER         0.8f
554 #define HUMAN_SIDE_MODIFIER         0.9f
555 
556 #define STAMINA_STOP_RESTORE        25
557 #define STAMINA_WALK_RESTORE        15
558 #define STAMINA_SPRINT_TAKE         8
559 #define STAMINA_LARMOUR_TAKE        4
560 
561 #define HUMAN_SPAWN_REPEAT_TIME     10000
562 
563 /*
564  * Misc
565  */
566 
567 #define MIN_FALL_DISTANCE           30.0f //the fall distance at which fall damage kicks in
568 #define MAX_FALL_DISTANCE           120.0f //the fall distance at which maximum damage is dealt
569 #define AVG_FALL_DISTANCE           ((MIN_FALL_DISTANCE+MAX_FALL_DISTANCE)/2.0f)
570 
571 #define HUMAN_MAXED                 900   //a human with a strong selection of weapons/upgrades
572 #define HUMAN_MAX_CREDITS           2000
573 #define ALIEN_MAX_KILLS             9
574 #define ALIEN_MAX_SINGLE_KILLS      3
575 
576 #define FREEKILL_PERIOD             120000 //msec
577 #define FREEKILL_ALIEN              1
578 #define FREEKILL_HUMAN              LEVEL0_VALUE
579 
580 #define DEFAULT_ALIEN_BUILDPOINTS   "100"
581 #define DEFAULT_HUMAN_BUILDPOINTS   "100"
582 
583 #define DAMAGE_FRACTION_FOR_KILL    0.5f //how much damage players (versus structures) need to
584                                          //do to increment the stage kill counters
585