codemp/game/w_saber.h

Go to the documentation of this file.
00001 #define ARMOR_EFFECT_TIME       500
00002 
00003 //saberEventFlags
00004 #define SEF_HITENEMY    0x1             //Hit the enemy
00005 #define SEF_HITOBJECT   0x2             //Hit some other object
00006 #define SEF_HITWALL             0x4             //Hit a wall
00007 #define SEF_PARRIED             0x8             //Parried a saber swipe
00008 #define SEF_DEFLECTED   0x10    //Deflected a missile or saberInFlight
00009 #define SEF_BLOCKED             0x20    //Was blocked by a parry
00010 #define SEF_EVENTS              (SEF_HITENEMY|SEF_HITOBJECT|SEF_HITWALL|SEF_PARRIED|SEF_DEFLECTED|SEF_BLOCKED)
00011 #define SEF_LOCKED              0x40    //Sabers locked with someone else
00012 #define SEF_INWATER             0x80    //Saber is in water
00013 #define SEF_LOCK_WON    0x100   //Won a saberLock
00014 //saberEntityState
00015 #define SES_LEAVING             1
00016 #define SES_HOVERING    1//2
00017 #define SES_RETURNING   1//3
00018 //This is a hack because ATM the saberEntityState is only non-0 if out or 0 if in, and we
00019 //at least want NPCs knowing when their saber is out regardless.
00020 
00021 
00022 #define JSF_AMBUSH              16      //ambusher Jedi
00023 
00024 #define SABER_RADIUS_STANDARD   3.0f
00025 #define SABER_REFLECT_MISSILE_CONE      0.2f
00026 
00027 #define FORCE_POWER_MAX 100
00028 #define MAX_GRIP_DISTANCE 256
00029 #define MAX_TRICK_DISTANCE 512
00030 #define FORCE_JUMP_CHARGE_TIME 6400//3000.0f
00031 #define GRIP_DRAIN_AMOUNT 30
00032 #define FORCE_LIGHTNING_RADIUS 300
00033 #define MAX_DRAIN_DISTANCE 512
00034 
00035 typedef enum
00036 {
00037         FJ_FORWARD,
00038         FJ_BACKWARD,
00039         FJ_RIGHT,
00040         FJ_LEFT,
00041         FJ_UP
00042 };
00043 
00044 typedef enum
00045 {
00046         EVASION_NONE = 0,
00047         EVASION_PARRY,
00048         EVASION_DUCK_PARRY,
00049         EVASION_JUMP_PARRY,
00050         EVASION_DODGE,
00051         EVASION_JUMP,
00052         EVASION_DUCK,
00053         EVASION_FJUMP,
00054         EVASION_CARTWHEEL,
00055         EVASION_OTHER,
00056         NUM_EVASION_TYPES
00057 } evasionType_t;
00058 
00059 extern vmCvar_t g_MaxHolocronCarry;
00060 
00061 #define SABERMINS_X -3.0f//-24.0f
00062 #define SABERMINS_Y -3.0f//-24.0f
00063 #define SABERMINS_Z -3.0f//-8.0f
00064 #define SABERMAXS_X 3.0f//24.0f
00065 #define SABERMAXS_Y 3.0f//24.0f
00066 #define SABERMAXS_Z 3.0f//8.0f
00067 #define SABER_MIN_THROW_DIST    80.0f
00068 
00069 #include "../namespace_begin.h"
00070 extern int forcePowerNeeded[NUM_FORCE_POWER_LEVELS][NUM_FORCE_POWERS];
00071 extern float forceJumpHeight[NUM_FORCE_POWER_LEVELS];
00072 extern float forceJumpStrength[NUM_FORCE_POWER_LEVELS];
00073 extern float forcePushPullRadius[NUM_FORCE_POWER_LEVELS];
00074 #include "../namespace_end.h"