thirtyflightsofloving/missionpack/g_func_decs.h
Knightmare66 3672ea6be8 Added cvars ui_new_textfield and ui_new_textbox to toggle drawing text fields and text boxes with new images and font-based tiles.
Improved Tactician Gunner prox mine detection in missionpack DLL.
Implemented Zaero modifications (can be pushed off ledge) to exploding barrels in missionpack DLL.
Changed incomplete vector parsing check in ED_ParseField() to a warning instead of an error in all game DLLs.
2021-08-21 14:27:04 -04:00

2923 lines
176 KiB
C

extern void Weapon_FlareGun ( edict_t * ent ) ;
extern void Weapon_FlareLauncher_Fire ( edict_t * ent ) ;
extern void fire_flare ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , float damage_radius , int radius_damage ) ;
extern void flare_think ( edict_t * self ) ;
extern void flare_flash ( edict_t * ent ) ;
extern void SP_misc_lasertripbomb ( edict_t * bomb ) ;
extern void Weapon_LaserTripBomb ( edict_t * ent ) ;
extern void weapon_lasertripbomb_fire ( edict_t * ent ) ;
extern qboolean fire_lasertripbomb ( edict_t * self , vec3_t start , vec3_t dir , float timer , float damage , float damage_radius , qboolean quad ) ;
extern void removeOldest ( void ) ;
extern void setupBomb ( edict_t * bomb , char * classname , float damage , float damage_radius ) ;
extern void tripbomb_think ( edict_t * self ) ;
extern void tripbomb_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void turnOffGlow ( edict_t * self ) ;
extern void use_tripbomb ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void create_tripbomb_laser ( edict_t * bomb ) ;
extern void tripbomb_laser_on ( edict_t * self ) ;
extern void tripbomb_laser_think ( edict_t * self ) ;
extern void tripbomb_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void TripBomb_Explode ( edict_t * ent ) ;
extern void shrapnel_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void angleToward ( edict_t * self , vec3_t point , float speed ) ;
extern void SP_trigger_laser ( edict_t * self ) ;
extern void trigger_laser_on ( edict_t * self ) ;
extern void trigger_laser_think ( edict_t * self ) ;
extern void SP_monster_sentien ( edict_t * self ) ;
extern void SP_monster_sentien_precache ( void ) ;
extern void create_sentien_laser ( edict_t * self ) ;
extern void sentien_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void sentien_dead ( edict_t * self ) ;
extern void sentien_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void sentien_fend ( edict_t * self , edict_t * attacker , float eta , trace_t * tr ) ;
extern void sentien_fend_hold ( edict_t * self ) ;
extern void sentien_fend_ready ( edict_t * self ) ;
extern void sentien_attack ( edict_t * self ) ;
extern void sentien_do_laser ( edict_t * self ) ;
extern void sentien_post_laser_attack ( edict_t * self ) ;
extern void sentien_laser_attack ( edict_t * self ) ;
extern void sentien_do_blast ( edict_t * self ) ;
extern void sentien_fire_bullet ( edict_t * self , vec3_t start , vec3_t dir , int damage ) ;
extern void sentien_post_blast_attack ( edict_t * self ) ;
extern void sentien_blast_attack ( edict_t * self ) ;
extern void sentien_run ( edict_t * self ) ;
extern void sentien_walk ( edict_t * self ) ;
extern void sentien_stand_earwax ( edict_t * self ) ;
extern void sentien_stand_whatnow ( edict_t * self ) ;
extern void sentien_stand ( edict_t * self ) ;
extern void sentian_sound_die2 ( edict_t * self ) ;
extern void sentian_sound_die1 ( edict_t * self ) ;
extern void sentian_sound_pain3 ( edict_t * self ) ;
extern void sentian_sound_pain2 ( edict_t * self ) ;
extern void sentian_sound_pain1 ( edict_t * self ) ;
extern void sentian_sound_fend ( edict_t * self ) ;
extern void sentian_sound_att3 ( edict_t * self ) ;
extern void sentian_sound_att2 ( edict_t * self ) ;
extern void sentian_sound_att1 ( edict_t * self ) ;
extern void sentien_sound_idle3 ( edict_t * self ) ;
extern void sentien_sound_idle2 ( edict_t * self ) ;
extern void sentien_sound_idle1 ( edict_t * self ) ;
extern void sentien_sound_footstep ( edict_t * self ) ;
extern void sentien_laser_off ( edict_t * self ) ;
extern void sentien_laser_on ( edict_t * self ) ;
extern void sentien_laser_think ( edict_t * self ) ;
extern void SP_func_barrier ( edict_t * self ) ;
extern void barrier_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void barrier_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void barrier_think ( edict_t * self ) ;
extern qboolean thruBarrier ( edict_t * targ , edict_t * inflictor ) ;
extern void SP_misc_commdish ( edict_t * self ) ;
extern void Use_CommDish ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void Anim_CommDish ( edict_t * self ) ;
extern void SP_misc_seat ( edict_t * self ) ;
extern void SP_misc_crate_small ( edict_t * self ) ;
extern void SP_misc_crate_medium ( edict_t * self ) ;
extern void SP_misc_crate ( edict_t * self ) ;
extern void setupCrate ( edict_t * self ) ;
extern void Use_PlasmaShield ( edict_t * ent , gitem_t * item ) ;
extern void PlasmaShield_killed ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void PlasmaShield_die ( edict_t * self ) ;
extern qboolean EMPNukeCheck ( edict_t * ent , vec3_t pos ) ;
extern void fire_empnuke ( edict_t * ent , vec3_t center , int radius ) ;
extern void empBlastAnim ( edict_t * ent ) ;
extern void empnukeFinish ( edict_t * ent ) ;
extern void Weapon_EMPNuke ( edict_t * ent ) ;
extern void weapon_EMPNuke_fire ( edict_t * ent ) ;
extern void Use_Visor ( edict_t * ent , gitem_t * item ) ;
extern edict_t * findNextCamera ( edict_t * old ) ;
extern void stopCamera ( edict_t * self ) ;
extern void startVisor ( edict_t * ent , edict_t * e ) ;
extern void startVisorStatic ( edict_t * ent ) ;
extern void updateVisorHud ( edict_t * ent ) ;
extern void SP_misc_securitycamera ( edict_t * self ) ;
extern void camera_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void securitycamera_think ( edict_t * self ) ;
extern void use_securitycamera ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void hound_createHound ( edict_t * self , float healthPercent ) ;
extern void SP_monster_hound ( edict_t * self ) ;
extern void SP_monster_hound_precache ( void ) ;
extern void hound_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void hound_dead ( edict_t * self ) ;
extern qboolean hound_checkattack ( edict_t * self ) ;
extern qboolean hound_check_jump ( edict_t * self ) ;
extern qboolean hound_check_melee ( edict_t * self ) ;
extern void hound_jump ( edict_t * self ) ;
extern void hound_check_landing2 ( edict_t * self ) ;
extern void hound_check_landing ( edict_t * self ) ;
extern void hound_jump_takeoff ( edict_t * self ) ;
extern void hound_jump_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void hound_attack ( edict_t * self ) ;
extern void hound_bite2 ( edict_t * self ) ;
extern void hound_bite ( edict_t * self ) ;
extern void hound_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void hound_walk ( edict_t * self ) ;
extern void hound_run ( edict_t * self ) ;
extern void hound_stand ( edict_t * self ) ;
extern void hound_sight ( edict_t * self , edict_t * other ) ;
extern void hound_launch ( edict_t * self ) ;
extern void SP_monster_handler ( edict_t * self ) ;
extern void SP_monster_handler_precache ( void ) ;
extern void handler_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void handler_dead ( edict_t * self ) ;
extern void handler_attack ( edict_t * self ) ;
extern void StartCount ( edict_t * self ) ;
extern void CheckForEnemy ( edict_t * self ) ;
extern void CheckIdleLoop ( edict_t * self ) ;
extern void handler_createHound ( edict_t * self ) ;
extern void handler_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void handler_stand ( edict_t * self ) ;
extern void handler_standSitWhatNext ( edict_t * self ) ;
extern void handler_standWhatNext ( edict_t * self ) ;
extern void handler_sitdown ( edict_t * self ) ;
extern void handler_standup ( edict_t * self ) ;
extern void handler_scratch ( edict_t * self ) ;
extern void handler_sight ( edict_t * self , edict_t * other ) ;
extern void zCam_SetLocalCopy ( struct edict_s * player , char * s ) ;
extern void zCam_Stop ( struct edict_s * player ) ;
extern void zCam_TrackEntity ( struct edict_s * player , struct edict_s * track , qboolean playerVisiable , qboolean playerOffset ) ;
extern void SP_target_zboss_target ( edict_t * self ) ;
extern void trigger_zboss ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_monster_zboss ( edict_t * self ) ;
extern void SP_monster_zboss_precache ( void ) ;
extern void zboss_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void FireDeadGrapple ( edict_t * self ) ;
extern void DeadHookTouch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void FireDeadCannon3 ( edict_t * self ) ;
extern void FireDeadCannon2 ( edict_t * self ) ;
extern void FireDeadCannon1 ( edict_t * self ) ;
extern void FireDeadRocket7 ( edict_t * self ) ;
extern void FireDeadRocket6 ( edict_t * self ) ;
extern void FireDeadRocket5 ( edict_t * self ) ;
extern void FireDeadRocket4 ( edict_t * self ) ;
extern void FireDeadRocket3 ( edict_t * self ) ;
extern void FireDeadRocket2 ( edict_t * self ) ;
extern void FireDeadRocket1 ( edict_t * self ) ;
extern void zboss_dead ( edict_t * self ) ;
extern void zboss_attack ( edict_t * self ) ;
extern void zboss_chooseNextAttack ( edict_t * self ) ;
extern void zboss_postcannon ( edict_t * self ) ;
extern void zboss_fireCannons ( edict_t * self ) ;
extern void FireCannon ( edict_t * self ) ;
extern void fire_plasmaCannon ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed , float timer , float damage_radius , float distance ) ;
extern void Plasmaball_Touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Plasmaball_Explode ( edict_t * ent ) ;
extern void PlasmaballBlastAnim ( edict_t * ent ) ;
extern void zboss_chooseHookRocket ( edict_t * self ) ;
extern void zboss_posthook ( edict_t * self ) ;
extern void zboss_reelInGraaple ( edict_t * self ) ;
extern void FireHook ( edict_t * self ) ;
extern void HookThink ( edict_t * self ) ;
extern void HookTouch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void HookDragThink ( edict_t * self ) ;
extern void zboss_reelInGraaple2 ( edict_t * self ) ;
extern void FireRocket ( edict_t * self ) ;
extern void FireFlare ( edict_t * self ) ;
extern void zboss_reloadRockets ( edict_t * self ) ;
extern void zboss_melee ( edict_t * self ) ;
extern void zboss_melee2 ( edict_t * self ) ;
extern void zboss_swing ( edict_t * self ) ;
extern void zboss_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void zboss_stand ( edict_t * self ) ;
extern void zboss_run2 ( edict_t * self ) ;
extern void zboss_run ( edict_t * self ) ;
extern void zboss_walk2 ( edict_t * self ) ;
extern void zboss_walk ( edict_t * self ) ;
extern void zboss_postWalkRun ( edict_t * self ) ;
extern void zboss_standidle ( edict_t * self ) ;
extern void possibleBossTaunt ( edict_t * self ) ;
extern void zboss_sight ( edict_t * self , edict_t * other ) ;
extern void zboss_walksound ( edict_t * self ) ;
extern void ai_schoolCharge ( edict_t * self , float dist ) ;
extern void ai_schoolWalk ( edict_t * self , float dist ) ;
extern void ai_schoolRun ( edict_t * self , float dist ) ;
extern void ai_schoolStand ( edict_t * self , float dist ) ;
extern int zSchoolMonsters ( edict_t * self , float dist , int runStyle , float * currentSpeed ) ;
extern int zFindRoamYaw ( edict_t * self , float distcheck ) ;
extern int zSchoolAllVisiable ( edict_t * self ) ;
extern void zCreateRaduisList ( edict_t * self ) ;
extern void SP_monster_autocannon_floor ( edict_t * self ) ;
extern void SP_monster_autocannon ( edict_t * self ) ;
extern void monster_autocannon_usestub ( edict_t * self ) ;
extern void monster_autocannon_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void monster_autocannon_act ( edict_t * self ) ;
extern void monster_autocannon_deactivate ( edict_t * self ) ;
extern void monster_autocannon_activate ( edict_t * self ) ;
extern void monster_autocannon_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void monster_autocannon_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void monster_autocannon_explode ( edict_t * ent ) ;
extern void monster_autocannon_think ( edict_t * self ) ;
extern void monster_autocannon_turn ( edict_t * self ) ;
extern void monster_autocannon_findenemy ( edict_t * self ) ;
extern qboolean autocannonInfront ( edict_t * self , edict_t * other ) ;
extern qboolean canShoot ( edict_t * self , edict_t * e ) ;
extern float mod180 ( float val ) ;
extern qboolean angleBetween ( float * ang , float * , float * ) ;
extern void monster_autocannon_fire ( edict_t * self ) ;
extern void Info_SetValueForKey ( char * s , char * key , char * value ) ;
extern qboolean Info_Validate ( char * s ) ;
extern void Info_RemoveKey ( char * s , char * key ) ;
extern char * Info_ValueForKey ( char * s , char * key ) ;
extern size_t Com_strcat ( char * dest , size_t destSize , const char * src ) ;
extern size_t Com_strcpy ( char * dest , size_t destSize , const char * src ) ;
extern void Com_sprintf ( char * dest , size_t size , char * fmt , ... ) ;
extern int Q_strcasecmp ( char * s1 , char * s2 ) ;
extern int Q_strncasecmp ( char * s1 , char * s2 , size_t n ) ;
extern int Q_stricmp ( char * s1 , char * s2 ) ;
extern void Com_PageInMemory ( byte * buffer , int size ) ;
extern char * COM_Parse ( char * * data_p ) ;
extern char * va ( char * format , ... ) ;
extern void Swap_Init ( void ) ;
extern float FloatNoSwap ( float f ) ;
extern float FloatSwap ( float f ) ;
extern int LongNoSwap ( int l ) ;
extern int LongSwap ( int l ) ;
extern short ShortNoSwap ( short l ) ;
extern short ShortSwap ( short l ) ;
extern float LittleFloat ( float l ) ;
extern float BigFloat ( float l ) ;
extern int LittleLong ( int l ) ;
extern int BigLong ( int l ) ;
extern short LittleShort ( short l ) ;
extern short BigShort ( short l ) ;
extern void COM_DefaultExtension ( char * path , size_t pathSize , char * extension ) ;
extern void COM_FilePath ( char * in , char * out ) ;
extern void COM_FileBase ( char * in , char * out ) ;
extern char * COM_FileExtension ( char * in ) ;
extern void COM_StripExtension ( char * in , char * out ) ;
extern char * COM_SkipPath ( char * pathname ) ;
extern int Q_log2 ( int val ) ;
extern void VectorScale ( vec3_t in , vec_t scale , vec3_t out ) ;
extern void VectorInverse ( vec3_t v ) ;
extern vec_t VectorLength ( vec3_t v ) ;
extern void CrossProduct ( vec3_t v1 , vec3_t v2 , vec3_t cross ) ;
extern void _VectorCopy ( vec3_t in , vec3_t out ) ;
extern void _VectorAdd ( vec3_t veca , vec3_t vecb , vec3_t out ) ;
extern void _VectorSubtract ( vec3_t veca , vec3_t vecb , vec3_t out ) ;
extern vec_t _DotProduct ( vec3_t v1 , vec3_t v2 ) ;
extern void VectorMA ( vec3_t veca , float scale , vec3_t vecb , vec3_t vecc ) ;
extern vec_t VectorNormalize2 ( vec3_t v , vec3_t out ) ;
extern vec_t VectorNormalize ( vec3_t v ) ;
extern int VectorCompare ( vec3_t v1 , vec3_t v2 ) ;
extern void AddPointToBounds ( vec3_t v , vec3_t mins , vec3_t maxs ) ;
extern void ClearBounds ( vec3_t mins , vec3_t maxs ) ;
extern int BoxOnPlaneSide ( vec3_t emins , vec3_t emaxs , struct cplane_s * p ) ;
extern int BoxOnPlaneSide2 ( vec3_t emins , vec3_t emaxs , struct cplane_s * p ) ;
extern float anglemod ( float a ) ;
extern float LerpAngle ( float a2 , float a1 , float frac ) ;
extern float Q_fabs ( float f ) ;
extern void R_ConcatTransforms ( float in1 [ 3 ] [ 4 ] , float in2 [ 3 ] [ 4 ] , float out [ 3 ] [ 4 ] ) ;
extern void R_ConcatRotations ( float in1 [ 3 ] [ 3 ] , float in2 [ 3 ] [ 3 ] , float out [ 3 ] [ 3 ] ) ;
extern void PerpendicularVector ( vec3_t dst , const vec3_t src ) ;
extern void ProjectPointOnPlane ( vec3_t dst , const vec3_t p , const vec3_t normal ) ;
extern void AngleVectors ( vec3_t angles , vec3_t forward , vec3_t right , vec3_t up ) ;
extern void RotatePointAroundVector ( vec3_t dst , const vec3_t dir , const vec3_t point , float degrees ) ;
extern void kick_attack ( edict_t * ent ) ;
extern void Weapon_Null ( edict_t * ent ) ;
extern void Weapon_Plasma_Rifle ( edict_t * ent ) ;
extern void weapon_plasma_rifle_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Shockwave ( edict_t * ent ) ;
extern void Shockwave_Fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Heatbeam ( edict_t * ent ) ;
extern void Heatbeam_Fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_ETF_Rifle ( edict_t * ent ) ;
extern void weapon_etf_rifle_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Disintegrator ( edict_t * ent ) ;
extern void weapon_tracker_fire ( edict_t * self , qboolean altfire ) ;
extern void Weapon_ChainFist ( edict_t * ent ) ;
extern void chainfist_smoke ( edict_t * ent ) ;
extern void weapon_chainfist_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Trap ( edict_t * ent ) ;
extern void weapon_trap_fire ( edict_t * ent , qboolean held ) ;
extern void Weapon_Phalanx ( edict_t * ent ) ;
extern void weapon_phalanx_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Ionripper ( edict_t * ent ) ;
extern void weapon_ionripper_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_BFG ( edict_t * ent ) ;
extern void weapon_bfg_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Railgun ( edict_t * ent ) ;
extern void weapon_railgun_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_SuperShotgun ( edict_t * ent ) ;
extern void weapon_supershotgun_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Shotgun ( edict_t * ent ) ;
extern void weapon_shotgun_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Chaingun ( edict_t * ent ) ;
extern void Chaingun_Fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Machinegun ( edict_t * ent ) ;
extern void Machinegun_Fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_HyperBlaster ( edict_t * ent ) ;
extern void Weapon_HyperBlaster_Fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Blaster ( edict_t * ent ) ;
extern void Weapon_Blaster_Fire ( edict_t * ent , qboolean altfire ) ;
extern int Blaster_Fire ( edict_t * ent , vec3_t g_offset , int damage , qboolean hyper , int effect , int color ) ;
extern void Weapon_HomingMissileLauncher ( edict_t * ent ) ;
extern void Weapon_HomingMissileLauncher_Fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_RocketLauncher ( edict_t * ent ) ;
extern void Weapon_RocketLauncher_Fire ( edict_t * ent , qboolean altfire ) ;
extern edict_t * rocket_target ( edict_t * self , vec3_t start , vec3_t forward ) ;
extern void Weapon_ProxLauncher ( edict_t * ent ) ;
extern void Weapon_GrenadeLauncher ( edict_t * ent ) ;
extern void weapon_grenadelauncher_fire ( edict_t * ent , qboolean altfire ) ;
extern void Weapon_Tesla ( edict_t * ent ) ;
extern void Weapon_Prox ( edict_t * ent ) ;
extern void Weapon_Grenade ( edict_t * ent ) ;
extern void Throw_Generic ( edict_t * ent , int FRAME_FIRE_LAST , int FRAME_IDLE_LAST , int FRAME_THROW_SOUND , int FRAME_THROW_HOLD , int FRAME_THROW_FIRE , int * pause_frames , int EXPLODE , void ( * fire ) ( edict_t * ent , qboolean held ) ) ;
extern void weapon_grenade_fire ( edict_t * ent , qboolean held ) ;
extern void Weapon_Generic ( edict_t * ent , int FRAME_ACTIVATE_LAST , int FRAME_FIRE_LAST , int FRAME_IDLE_LAST , int FRAME_DEACTIVATE_LAST , int * pause_frames , int * fire_frames , void ( * fire ) ( edict_t * ent , qboolean altfire ) ) ;
extern void Drop_Weapon ( edict_t * ent , gitem_t * item ) ;
extern void Use_Weapon2 ( edict_t * ent , gitem_t * item ) ;
extern void Use_Weapon ( edict_t * ent , gitem_t * in_item ) ;
extern void Think_Weapon ( edict_t * ent ) ;
extern void NoAmmoWeaponChange ( edict_t * ent ) ;
extern void ChangeWeapon ( edict_t * ent ) ;
extern void ShowGun ( edict_t * ent ) ;
extern qboolean Pickup_Weapon ( edict_t * ent , edict_t * other ) ;
extern void PlayerNoise ( edict_t * who , vec3_t where , int type ) ;
extern void P_ProjectSource2 ( gclient_t * client , vec3_t point , vec3_t distance , vec3_t forward , vec3_t right , vec3_t up , vec3_t result ) ;
extern void P_ProjectSource ( gclient_t * client , vec3_t point , vec3_t distance , vec3_t forward , vec3_t right , vec3_t result ) ;
extern byte P_DamageModifier ( edict_t * ent ) ;
extern void ClientEndServerFrame ( edict_t * ent ) ;
extern void WhatsIt ( edict_t * ent ) ;
extern void G_SetClientFrame ( edict_t * ent ) ;
extern qboolean PlayerOnFloor ( edict_t * player ) ;
extern void G_SetClientSound ( edict_t * ent ) ;
extern void G_SetClientEvent ( edict_t * ent ) ;
extern void G_SetClientEffects ( edict_t * ent ) ;
extern void P_WorldEffects ( void ) ;
extern void P_FallingDamage ( edict_t * ent ) ;
extern void P_SlamDamage ( edict_t * ent ) ;
extern void SV_CalcBlend ( edict_t * ent ) ;
extern void SV_AddBlend ( float r , float g , float b , float a , float * v_blend ) ;
extern void SV_CalcGunOffset ( edict_t * ent ) ;
extern void SV_CalcViewOffset ( edict_t * ent ) ;
extern void CommonViewOffsets ( edict_t * ent , vec3_t v ) ;
extern void P_DamageFeedback ( edict_t * player ) ;
extern float SV_CalcRoll ( vec3_t angles , vec3_t velocity ) ;
extern edict_t * PlayerTrail_LastSpot ( void ) ;
extern edict_t * PlayerTrail_PickNext ( edict_t * self ) ;
extern edict_t * PlayerTrail_PickFirst ( edict_t * self ) ;
extern void PlayerTrail_New ( vec3_t spot ) ;
extern void PlayerTrail_Add ( vec3_t spot ) ;
extern void PlayerTrail_Init ( void ) ;
extern void SP_target_text ( edict_t * self ) ;
extern void Use_Target_Text ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void Do_Text_Display ( edict_t * activator , int flags , char * message ) ;
extern void Text_Prev ( edict_t * ent ) ;
extern void Text_Next ( edict_t * ent ) ;
extern void Text_Update ( edict_t * ent ) ;
extern void Text_BuildDisplay ( texthnd_t * hnd ) ;
extern void Text_Close ( edict_t * ent ) ;
extern void Text_Open ( edict_t * ent ) ;
extern void PMenu_Select ( edict_t * ent ) ;
extern void PMenu_Prev ( edict_t * ent ) ;
extern void PMenu_Next ( edict_t * ent ) ;
extern void PMenu_Update ( edict_t * ent ) ;
extern void PMenu_Close ( edict_t * ent ) ;
extern void PMenu_Open ( edict_t * ent , pmenu_t * entries , int cur , int num ) ;
extern void G_SetSpectatorStats ( edict_t * ent ) ;
extern void G_CheckChaseStats ( edict_t * ent ) ;
extern void G_SetStats ( edict_t * ent ) ;
extern void WhatIsIt ( edict_t * ent ) ;
extern void Cmd_Help_f ( edict_t * ent ) ;
extern void HelpComputer ( edict_t * ent ) ;
extern void Cmd_Score_f ( edict_t * ent ) ;
extern void DeathmatchScoreboard ( edict_t * ent ) ;
extern void DeathmatchScoreboardMessage ( edict_t * ent , edict_t * killer ) ;
extern void BeginIntermission ( edict_t * targ ) ;
extern void MoveClientToIntermission ( edict_t * ent ) ;
extern void RemoveAttackingPainDaemons ( edict_t * self ) ;
extern void ClientBeginServerFrame ( edict_t * ent ) ;
extern void ClientThink ( edict_t * ent , usercmd_t * ucmd ) ;
extern void ClientSpycam ( edict_t * ent ) ;
extern void ClientPushPushable ( edict_t * ent ) ;
extern void RemovePush ( edict_t * ent ) ;
extern void PrintPmove ( pmove_t * pm ) ;
extern unsigned CheckBlock ( void * b , int c ) ;
extern trace_t PM_trace ( vec3_t start , vec3_t mins , vec3_t maxs , vec3_t end ) ;
extern void ClientDisconnect ( edict_t * ent ) ;
extern qboolean ClientConnect ( edict_t * ent , char * userinfo ) ;
extern void ClientUserinfoChanged ( edict_t * ent , char * userinfo ) ;
extern void ClientBegin ( edict_t * ent ) ;
extern void ClientBeginDeathmatch ( edict_t * ent ) ;
extern void PutClientInServer ( edict_t * ent ) ;
extern void spectator_respawn ( edict_t * ent ) ;
extern void respawn ( edict_t * self ) ;
extern void CopyToBodyQue ( edict_t * ent ) ;
extern void body_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void InitBodyQue ( void ) ;
extern void SelectSpawnPoint ( edict_t * ent , vec3_t origin , vec3_t angles , int * style , int * health ) ;
extern edict_t * SelectCoopSpawnPoint ( edict_t * ent ) ;
extern edict_t * SelectLavaCoopSpawnPoint ( edict_t * ent ) ;
extern edict_t * SelectDeathmatchSpawnPoint ( void ) ;
extern edict_t * SelectFarthestDeathmatchSpawnPoint ( void ) ;
extern edict_t * SelectRandomDeathmatchSpawnPoint ( void ) ;
extern float PlayersRangeFromSpot ( edict_t * spot ) ;
extern void FetchClientEntData ( edict_t * ent ) ;
extern void SaveClientData ( void ) ;
extern void InitClientResp ( gclient_t * client ) ;
extern void InitClientPersistant ( gclient_t * client , int style ) ;
extern void SelectStartWeapon ( gclient_t * client , int style ) ;
extern void SwitchToBestStartWeapon ( gclient_t * client ) ;
extern void player_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void LookAtKiller ( edict_t * self , edict_t * inflictor , edict_t * attacker ) ;
extern void TossClientWeapon ( edict_t * self ) ;
extern void ClientObituary ( edict_t * self , edict_t * inflictor , edict_t * attacker ) ;
extern qboolean IsNeutral ( edict_t * ent ) ;
extern qboolean IsFemale ( edict_t * ent ) ;
extern void player_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void SP_info_player_intermission ( edict_t * self ) ;
extern void SP_info_player_coop_lava ( edict_t * self ) ;
extern void SP_info_player_coop ( edict_t * self ) ;
extern void SP_info_player_deathmatch ( edict_t * self ) ;
extern void SP_info_player_start ( edict_t * self ) ;
extern void SP_CreateCoopSpots ( edict_t * self ) ;
extern void SP_FixCoopSpots ( edict_t * self ) ;
extern void CheckChasecam_Viewent ( edict_t * ent ) ;
extern void Cmd_Chasecam_Toggle ( edict_t * ent ) ;
extern void ChasecamTrack ( edict_t * ent ) ;
extern void ChasecamRemove ( edict_t * ent ) ;
extern void ChasecamStart ( edict_t * ent ) ;
extern void ThrowArm2 ( edict_t * self ) ;
extern void ThrowArm1 ( edict_t * self ) ;
extern void WidowExplosionLeg ( edict_t * self ) ;
extern void WidowExplosion7 ( edict_t * self ) ;
extern void WidowExplosion6 ( edict_t * self ) ;
extern void WidowExplosion5 ( edict_t * self ) ;
extern void WidowExplosion4 ( edict_t * self ) ;
extern void WidowExplosion3 ( edict_t * self ) ;
extern void WidowExplosion2 ( edict_t * self ) ;
extern void WidowExplosion1 ( edict_t * self ) ;
extern void WidowExplode ( edict_t * self ) ;
extern void ThrowMoreStuff ( edict_t * self , vec3_t point ) ;
extern void ThrowSmallStuff ( edict_t * self , vec3_t point ) ;
extern void BloodFountain ( edict_t * self , int number , vec3_t startpos , int damage ) ;
extern void ThrowWidowGibReal ( edict_t * self , char * gibname , int damage , int type , vec3_t startpos , qboolean sized , int hitsound , qboolean fade ) ;
extern void ThrowWidowGibSized ( edict_t * self , char * gibname , int damage , int type , vec3_t startpos , int hitsound , qboolean fade ) ;
extern void ThrowWidowGibLoc ( edict_t * self , char * gibname , int damage , int type , vec3_t startpos , qboolean fade ) ;
extern void ThrowWidowGib ( edict_t * self , char * gibname , int damage , int type ) ;
extern void widow_gib_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void WidowVelocityForDamage ( int damage , vec3_t v ) ;
extern void SP_monster_widow2 ( edict_t * self ) ;
extern void Widow2Precache ( ) ;
extern qboolean Widow2_CheckAttack ( edict_t * self ) ;
extern void widow2_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void KillChildren ( edict_t * self ) ;
extern void widow2_dead ( edict_t * self ) ;
extern void widow2_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void widow2_reattack_beam ( edict_t * self ) ;
extern void widow2_attack_beam ( edict_t * self ) ;
extern void widow2_attack ( edict_t * self ) ;
extern void widow2_melee ( edict_t * self ) ;
extern void widow2_walk ( edict_t * self ) ;
extern void widow2_run ( edict_t * self ) ;
extern void widow2_stand ( edict_t * self ) ;
extern void widow2_finaldeath ( edict_t * self ) ;
extern void widow2_keep_searching ( edict_t * self ) ;
extern void widow2_start_searching ( edict_t * self ) ;
extern void Widow2Toss ( edict_t * self ) ;
extern void Widow2Crunch ( edict_t * self ) ;
extern void Widow2TonguePull ( edict_t * self ) ;
extern void Widow2Tongue ( edict_t * self ) ;
extern void Widow2StartSweep ( edict_t * self ) ;
extern void Widow2BeamTargetRemove ( edict_t * self ) ;
extern void Widow2SaveBeamTarget ( edict_t * self ) ;
extern void widow2_disrupt_reattack ( edict_t * self ) ;
extern void Widow2SaveDisruptLoc ( edict_t * self ) ;
extern void WidowDisrupt ( edict_t * self ) ;
extern void widow2_ready_spawn ( edict_t * self ) ;
extern void widow2_spawn_check ( edict_t * self ) ;
extern void Widow2Spawn ( edict_t * self ) ;
extern void Widow2Beam ( edict_t * self ) ;
extern void widow2_search ( edict_t * self ) ;
extern void pauseme ( edict_t * self ) ;
extern void SP_monster_widow ( edict_t * self ) ;
extern void WidowPrecache ( ) ;
extern void WidowCalcSlots ( edict_t * self ) ;
extern qboolean widow_blocked ( edict_t * self , float dist ) ;
extern qboolean Widow_CheckAttack ( edict_t * self ) ;
extern void WidowPowerups ( edict_t * self ) ;
extern void WidowRespondPowerup ( edict_t * self , edict_t * other ) ;
extern void WidowPowerArmor ( edict_t * self ) ;
extern void WidowPent ( edict_t * self , float framenum ) ;
extern void WidowDouble ( edict_t * self , float framenum ) ;
extern void WidowGoinQuad ( edict_t * self , float framenum ) ;
extern void widow_melee ( edict_t * self ) ;
extern void widow_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void widow_dead ( edict_t * self ) ;
extern void widow_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void widow_reattack_blaster ( edict_t * self ) ;
extern void widow_attack_blaster ( edict_t * self ) ;
extern void widow_attack ( edict_t * self ) ;
extern void widow_walk ( edict_t * self ) ;
extern void widow_run ( edict_t * self ) ;
extern void widow_stand ( edict_t * self ) ;
extern void widow_attack_kick ( edict_t * self ) ;
extern void spawn_out_do ( edict_t * self ) ;
extern void spawn_out_start ( edict_t * self ) ;
extern void widow_done_spawn ( edict_t * self ) ;
extern void widow_start_spawn ( edict_t * self ) ;
extern void widow_attack_rail ( edict_t * self ) ;
extern void widow_rail_done ( edict_t * self ) ;
extern void widow_start_rail ( edict_t * self ) ;
extern void WidowSaveLoc ( edict_t * self ) ;
extern void WidowRail ( edict_t * self ) ;
extern void widow_start_run_12 ( edict_t * self ) ;
extern void widow_start_run_10 ( edict_t * self ) ;
extern void widow_start_run_5 ( edict_t * self ) ;
extern void widow_stepshoot ( edict_t * self ) ;
extern void widow_step ( edict_t * self ) ;
extern void widow_ready_spawn ( edict_t * self ) ;
extern void widow_spawn_check ( edict_t * self ) ;
extern void WidowSpawn ( edict_t * self ) ;
extern void WidowBlaster ( edict_t * self ) ;
extern int WidowTorso ( edict_t * self ) ;
extern float target_angle ( edict_t * self ) ;
extern void widow_sight ( edict_t * self , edict_t * other ) ;
extern void widow_search ( edict_t * self ) ;
extern void showme ( edict_t * self ) ;
extern void SP_monster_vulture ( edict_t * self ) ;
extern void vulture_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void vulture_dead ( edict_t * self ) ;
extern void vulture_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void vulture_melee ( edict_t * self ) ;
extern void vulture_peck ( edict_t * self ) ;
extern void vulture_run ( edict_t * self ) ;
extern void vulture_landed ( edict_t * self ) ;
extern void vulture_airborne ( edict_t * self ) ;
extern void vulture_walk ( edict_t * self ) ;
extern void vulture_perch ( edict_t * self ) ;
extern void vulture_flap ( edict_t * self ) ;
extern void vulture_idle ( edict_t * self ) ;
extern void vulture_soar_idle ( edict_t * self ) ;
extern void vulture_perch_idle ( edict_t * self ) ;
extern void vulture_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_turret ( edict_t * self ) ;
extern qboolean turret_checkattack ( edict_t * self ) ;
extern void turret_activate ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void turret_wake ( edict_t * self ) ;
extern void turret_wall_spawn ( edict_t * turret ) ;
extern void turret_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void turret_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void turret_attack ( edict_t * self ) ;
extern void TurretFireBlind ( edict_t * self ) ;
extern void TurretFire ( edict_t * self ) ;
extern void Turret_Railgun_Aim ( edict_t * self ) ;
extern void Turret_Railgun_Fire ( edict_t * self ) ;
extern void turret_run ( edict_t * self ) ;
extern void turret_walk ( edict_t * self ) ;
extern void turret_ready_gun ( edict_t * self ) ;
extern void turret_stand ( edict_t * self ) ;
extern void turret_search ( edict_t * self ) ;
extern void turret_sight ( edict_t * self , edict_t * other ) ;
extern void TurretAim ( edict_t * self ) ;
extern void SP_monster_tank ( edict_t * self ) ;
extern qboolean tank_blocked ( edict_t * self , float dist ) ;
extern void tank_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void tank_dead ( edict_t * self ) ;
extern void tank_attack ( edict_t * self ) ;
extern void tank_doattack_rocket ( edict_t * self ) ;
extern void tank_refire_rocket ( edict_t * self ) ;
extern void tank_poststrike ( edict_t * self ) ;
extern void tank_reattack_blaster ( edict_t * self ) ;
extern void TankMachineGun ( edict_t * self ) ;
extern void TankRocket ( edict_t * self ) ;
extern void TankStrike ( edict_t * self ) ;
extern void TankBlaster ( edict_t * self ) ;
extern void tank_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void tank_run ( edict_t * self ) ;
extern void tank_walk ( edict_t * self ) ;
extern void tank_stand ( edict_t * self ) ;
extern void tank_idle ( edict_t * self ) ;
extern void tank_windup ( edict_t * self ) ;
extern void tank_thud ( edict_t * self ) ;
extern void tank_footstep ( edict_t * self ) ;
extern void tank_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_supertank ( edict_t * self ) ;
extern qboolean supertank_blocked ( edict_t * self , float dist ) ;
extern void supertank_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void BossExplode ( edict_t * self ) ;
extern void supertank_dead ( edict_t * self ) ;
extern void supertank_attack ( edict_t * self ) ;
extern void supertankMachineGun ( edict_t * self ) ;
extern void supertankRocket ( edict_t * self ) ;
extern void supertank_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void supertank_reattack1 ( edict_t * self ) ;
extern void supertank_run ( edict_t * self ) ;
extern void supertank_walk ( edict_t * self ) ;
extern void supertank_forward ( edict_t * self ) ;
extern void supertank_stand ( edict_t * self ) ;
extern void supertank_search ( edict_t * self ) ;
extern void TreadSound ( edict_t * self ) ;
extern void SP_monster_stalker ( edict_t * self ) ;
extern void stalker_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void stalker_dead ( edict_t * self ) ;
extern qboolean stalker_blocked ( edict_t * self , float dist ) ;
extern void stalker_jump ( edict_t * self ) ;
extern void stalker_jump_wait_land ( edict_t * self ) ;
extern void stalker_jump_up ( edict_t * self ) ;
extern void stalker_jump_down ( edict_t * self ) ;
extern void stalker_dodge ( edict_t * self , edict_t * attacker , float eta , trace_t * tr ) ;
extern void stalker_dodge_jump ( edict_t * self ) ;
extern void stalker_jump_straightup ( edict_t * self ) ;
extern int stalker_do_pounce ( edict_t * self , vec3_t dest ) ;
extern int stalker_check_lz ( edict_t * self , edict_t * target , vec3_t dest ) ;
extern void calcJumpAngle ( vec3_t start , vec3_t end , float velocity , vec3_t angles ) ;
extern void stalker_attack_melee ( edict_t * self ) ;
extern void stalker_swing_attack ( edict_t * self ) ;
extern void stalker_attack_ranged ( edict_t * self ) ;
extern void stalker_shoot_attack2 ( edict_t * self ) ;
extern void stalker_shoot_attack ( edict_t * self ) ;
extern void stalker_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void stalker_false_death_start ( edict_t * self ) ;
extern void stalker_false_death ( edict_t * self ) ;
extern void stalker_heal ( edict_t * self ) ;
extern void stalker_reactivate ( edict_t * self ) ;
extern void stalker_walk ( edict_t * self ) ;
extern void stalker_run ( edict_t * self ) ;
extern void stalker_stand ( edict_t * self ) ;
extern void stalker_idle ( edict_t * self ) ;
extern void stalker_idle_noise ( edict_t * self ) ;
extern void stalker_sight ( edict_t * self , edict_t * other ) ;
extern qboolean stalker_ok_to_transition ( edict_t * self ) ;
extern void SP_monster_soldier_lasergun ( edict_t * self ) ;
extern void SP_monster_soldier_hypergun ( edict_t * self ) ;
extern void SP_monster_soldier_ripper ( edict_t * self ) ;
extern void SP_monster_soldier_h ( edict_t * self ) ;
extern void SP_monster_soldier_plasma_sp ( edict_t * self ) ;
extern void SP_monster_soldier_plasma_re ( edict_t * self ) ;
extern void SP_monster_soldier_ss ( edict_t * self ) ;
extern void SP_monster_soldier ( edict_t * self ) ;
extern void SP_monster_soldier_light ( edict_t * self ) ;
extern void SP_monster_soldier_x ( edict_t * self ) ;
extern void soldierh_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void soldierh_dead ( edict_t * self ) ;
extern void soldierh_fire7 ( edict_t * self ) ;
extern void soldierh_fire6 ( edict_t * self ) ;
extern void soldier_duck ( edict_t * self , float eta ) ;
extern void soldier_sidestep ( edict_t * self ) ;
extern void soldierh_dodge ( edict_t * self , edict_t * attacker , float eta ) ;
extern void soldierh_duck_hold ( edict_t * self ) ;
extern void soldierh_sight ( edict_t * self , edict_t * other ) ;
extern void soldierh_attack ( edict_t * self ) ;
extern void soldierh_attack6_refire ( edict_t * self ) ;
extern void soldierh_fire8 ( edict_t * self ) ;
extern void soldierh_fire4 ( edict_t * self ) ;
extern void soldierh_attack3_refire ( edict_t * self ) ;
extern void soldierh_fire3 ( edict_t * self ) ;
extern void soldierh_duck_up ( edict_t * self ) ;
extern void soldierh_duck_down ( edict_t * self ) ;
extern void soldierh_attack2_refire2 ( edict_t * self ) ;
extern void soldierh_attack2_refire1 ( edict_t * self ) ;
extern void soldierh_fire2 ( edict_t * self ) ;
extern void soldierh_ripper2 ( edict_t * self ) ;
extern void soldierh_hyper_refire2 ( edict_t * self ) ;
extern void soldierh_hyper_sound ( edict_t * self ) ;
extern void soldierh_attack1_refire2 ( edict_t * self ) ;
extern void soldierh_attack1_refire1 ( edict_t * self ) ;
extern void soldierh_fire1 ( edict_t * self ) ;
extern void soldierh_ripper1 ( edict_t * self ) ;
extern void soldierh_hyper_refire1 ( edict_t * self ) ;
extern void soldierh_fire ( edict_t * self , int flash_number ) ;
extern void soldierh_laserbeam ( edict_t * self , int flash_index ) ;
extern void soldierh_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void soldierh_jump ( edict_t * self ) ;
extern void soldierh_run ( edict_t * self ) ;
extern void soldierh_walk ( edict_t * self ) ;
extern void soldierh_walk1_random ( edict_t * self ) ;
extern void soldierh_stand ( edict_t * self ) ;
extern void soldierh_cock ( edict_t * self ) ;
extern void soldierh_idle ( edict_t * self ) ;
extern void soldier_blind ( edict_t * self ) ;
extern void soldier_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void soldier_dead2 ( edict_t * self ) ;
extern void soldier_dead ( edict_t * self ) ;
extern void soldier_fire7 ( edict_t * self ) ;
extern void soldier_fire6 ( edict_t * self ) ;
extern qboolean soldier_blocked ( edict_t * self , float dist ) ;
extern void soldier_sight ( edict_t * self , edict_t * other ) ;
extern void soldier_attack ( edict_t * self ) ;
extern void soldier_attack6_refire ( edict_t * self ) ;
extern void soldier_fire8 ( edict_t * self ) ;
extern void soldier_fire4 ( edict_t * self ) ;
extern void soldier_attack3_refire ( edict_t * self ) ;
extern void soldier_fire3 ( edict_t * self ) ;
extern void soldier_attack2_refire2 ( edict_t * self ) ;
extern void soldier_attack2_refire1 ( edict_t * self ) ;
extern void soldier_fire2 ( edict_t * self ) ;
extern void soldier_attack1_refire2 ( edict_t * self ) ;
extern void soldier_attack1_refire1 ( edict_t * self ) ;
extern void soldier_fire1 ( edict_t * self ) ;
extern void soldier_fire ( edict_t * self , int in_flash_number ) ;
extern void soldier_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void soldier_jump ( edict_t * self ) ;
extern void soldier_run ( edict_t * self ) ;
extern void soldier_fire_run ( edict_t * self ) ;
extern void soldier_walk ( edict_t * self ) ;
extern void soldier_walk1_random ( edict_t * self ) ;
extern void soldier_stand ( edict_t * self ) ;
extern void soldier_cock ( edict_t * self ) ;
extern void soldier_idle ( edict_t * self ) ;
extern void soldier_stop_charge ( edict_t * self ) ;
extern void soldier_start_charge ( edict_t * self ) ;
extern void SP_monster_q1_zombie ( edict_t * self ) ;
extern void q1zombie_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void q1zombie_sight ( edict_t * self , edict_t * other ) ;
extern void q1zombie_fallagain ( edict_t * self ) ;
extern void q1zombie_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void q1zombie_down ( edict_t * self ) ;
extern void q1zombie_attack ( edict_t * self ) ;
extern void q1zombie_firegib3 ( edict_t * self ) ;
extern void q1zombie_firegib2 ( edict_t * self ) ;
extern void q1zombie_firegib1 ( edict_t * self ) ;
extern void q1zombie_firegib ( edict_t * self , vec3_t offset ) ;
extern void q1zombie_run ( edict_t * self ) ;
extern void q1zombie_walk ( edict_t * self ) ;
extern void q1zombie_crucify ( edict_t * self ) ;
extern void q1zombie_stand ( edict_t * self ) ;
extern void q1zombie_fall ( edict_t * self ) ;
extern void q1zombie_pain2 ( edict_t * self ) ;
extern void q1zombie_pain1 ( edict_t * self ) ;
extern void q1zombie_idle2 ( edict_t * self ) ;
extern void q1zombie_idle ( edict_t * self ) ;
extern void q1zombie_idle3 ( edict_t * self ) ;
extern void q1zombie_Cidle ( edict_t * self ) ;
extern void SP_monster_q1_tarbaby ( edict_t * self ) ;
extern void tarbaby_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void tarbaby_dead ( edict_t * self ) ;
extern void tarbaby_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void tarbaby_jump ( edict_t * self ) ;
extern void tarbaby_takeoff ( edict_t * self ) ;
extern void tarbaby_check_landing ( edict_t * self ) ;
extern void tarbaby_jump_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void tarbaby_fly ( edict_t * self ) ;
extern void tarbaby_run ( edict_t * self ) ;
extern void tarbaby_walk ( edict_t * self ) ;
extern void tarbaby_stand ( edict_t * self ) ;
extern void tarbaby_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_q1_shambler ( edict_t * self ) ;
extern void shambler_melee ( edict_t * self ) ;
extern void shambler_attack ( edict_t * self ) ;
extern void shambler_skill3 ( edict_t * self ) ;
extern void shambler_magic_attack ( edict_t * self ) ;
extern void shambler_sparks ( edict_t * self ) ;
extern void shambler_smash ( edict_t * self ) ;
extern void shambler_swing_right ( edict_t * self ) ;
extern void shambler_swing_left ( edict_t * self ) ;
extern void shambler_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void shambler_nogib ( edict_t * self ) ;
extern void shambler_dead ( edict_t * self ) ;
extern void shambler_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void shambler_run ( edict_t * self ) ;
extern void shambler_walk ( edict_t * self ) ;
extern void shambler_stand ( edict_t * self ) ;
extern void shambler_attack_sound ( edict_t * self ) ;
extern void shambler_melee_sound2 ( edict_t * self ) ;
extern void shambler_melee_sound ( edict_t * self ) ;
extern void shambler_idle_sound ( edict_t * self ) ;
extern void shambler_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_q1_shalrath ( edict_t * self ) ;
extern void q1shalrath_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void q1shalrath_nogib ( edict_t * self ) ;
extern void q1shalrath_dead ( edict_t * self ) ;
extern void q1shalrath_sight ( edict_t * self , edict_t * other ) ;
extern void q1shalrath_attack ( edict_t * self ) ;
extern void q1shalrath_attack_snd ( edict_t * self ) ;
extern void q1shalrath_fire ( edict_t * self ) ;
extern void q1shalrath_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void q1shalrath_run ( edict_t * self ) ;
extern void q1shalrath_walk ( edict_t * self ) ;
extern void q1shalrath_stand ( edict_t * self ) ;
extern void q1shalrath_idle ( edict_t * self ) ;
extern void SP_monster_q1_scrag ( edict_t * self ) ;
extern void scrag_attack ( edict_t * self ) ;
extern void scrag_fire2 ( edict_t * self ) ;
extern void scrag_fire ( edict_t * self ) ;
extern void scrag_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void scrag_nogib ( edict_t * self ) ;
extern void scrag_dead ( edict_t * self ) ;
extern void scrag_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void scrag_run ( edict_t * self ) ;
extern void scrag_walk ( edict_t * self ) ;
extern void scrag_stand ( edict_t * self ) ;
extern void scrag_idle ( edict_t * self ) ;
extern void scrag_attack_sound ( edict_t * self ) ;
extern void scrag_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_q1_rotfish ( edict_t * self ) ;
extern void q1rotfish_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void q1rotfish_sight ( edict_t * self , edict_t * other ) ;
extern void q1rotfish_dead ( edict_t * self ) ;
extern void q1rotfish_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void q1rotfish_melee ( edict_t * self ) ;
extern void q1rotfish_bite ( edict_t * self ) ;
extern void q1rotfish_walk ( edict_t * self ) ;
extern void q1rotfish_run ( edict_t * self ) ;
extern void q1rotfish_stand ( edict_t * self ) ;
extern void q1rotfish_idle ( edict_t * self ) ;
extern void SP_monster_q1_ogre ( edict_t * self ) ;
extern void ogre_attack ( edict_t * self ) ;
extern void ogre_sawswingsound ( edict_t * self ) ;
extern void ogre_check_refire ( edict_t * self ) ;
extern void ogre_smash ( edict_t * self ) ;
extern void ogre_swing_right ( edict_t * self ) ;
extern void ogre_swing_left ( edict_t * self ) ;
extern void ogre_grenade_fire ( edict_t * self ) ;
extern void ogre_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void ogre_dead ( edict_t * self ) ;
extern void ogre_droprockets ( edict_t * self ) ;
extern void ogre_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void ogre_run ( edict_t * self ) ;
extern void ogre_walk ( edict_t * self ) ;
extern void ogre_stand ( edict_t * self ) ;
extern void ogre_drag_sound ( edict_t * self ) ;
extern void ogre_sight ( edict_t * self , edict_t * other ) ;
extern void ogre_idle_sound2 ( edict_t * self ) ;
extern void ogre_idle_sound1 ( edict_t * self ) ;
extern void SP_monster_q1_knight ( edict_t * self ) ;
extern void knight_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void knight_nogib ( edict_t * self ) ;
extern void knight_dead ( edict_t * self ) ;
extern void knight_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void knight_melee ( edict_t * self ) ;
extern void knight_hit_left ( edict_t * self ) ;
extern void knight_attack_run ( edict_t * self ) ;
extern void knight_attack ( edict_t * self ) ;
extern void knight_run ( edict_t * self ) ;
extern void knight_check_dist ( edict_t * self ) ;
extern void knight_walk ( edict_t * self ) ;
extern void knight_stand ( edict_t * self ) ;
extern void knight_standing ( edict_t * self ) ;
extern void knight_kneel ( edict_t * self ) ;
extern void knight_sword_sound ( edict_t * self ) ;
extern void knight_idle_sound ( edict_t * self ) ;
extern void knight_sight ( edict_t * self , edict_t * other ) ;
extern void knight_sight_sound ( edict_t * self ) ;
extern void SP_monster_q1_hknight ( edict_t * self ) ;
extern void hknight_magic ( edict_t * self ) ;
extern void hknight_fire_flame ( edict_t * self ) ;
extern void hknight_check_charge ( edict_t * self ) ;
extern void hknight_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void hknight_nogib ( edict_t * self ) ;
extern void hknight_dead ( edict_t * self ) ;
extern void hknight_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void hknight_melee ( edict_t * self ) ;
extern void hknight_sword_swing ( edict_t * self ) ;
extern void hknight_melee_damage ( edict_t * self ) ;
extern void hknight_run ( edict_t * self ) ;
extern void hknight_check_dist ( edict_t * self ) ;
extern void hknight_walk ( edict_t * self ) ;
extern void hknight_stand ( edict_t * self ) ;
extern void hknight_sword_sound ( edict_t * self ) ;
extern void hknight_idle_sound ( edict_t * self ) ;
extern void hknight_sight ( edict_t * self , edict_t * other ) ;
extern void hknight_sight_sound ( edict_t * self ) ;
extern void SP_monster_q1_grunt ( edict_t * self ) ;
extern void q1grunt_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void q1grunt_dead ( edict_t * self ) ;
extern void q1grunt_dropshells ( edict_t * self ) ;
extern void q1grunt_sight ( edict_t * self , edict_t * other ) ;
extern void q1grunt_attack ( edict_t * self ) ;
extern void q1grunt_attack_refire ( edict_t * self ) ;
extern void q1grunt_fire ( edict_t * self ) ;
extern void q1grunt_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void q1grunt_run ( edict_t * self ) ;
extern void q1grunt_walk ( edict_t * self ) ;
extern void q1grunt_stand ( edict_t * self ) ;
extern void q1grunt_idle ( edict_t * self ) ;
extern void SP_monster_q1_freddie ( edict_t * self ) ;
extern void freddie_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void freddie_nogib ( edict_t * self ) ;
extern void freddie_dead ( edict_t * self ) ;
extern void freddie_melee ( edict_t * self ) ;
extern void freddie_melee_repeat ( edict_t * self ) ;
extern void freddie_blade_left ( edict_t * self ) ;
extern void freddie_blade_right ( edict_t * self ) ;
extern void freddie_blade ( edict_t * self , float side ) ;
extern void freddie_saw_sound ( edict_t * self ) ;
extern void freddie_attack ( edict_t * self ) ;
extern void freddie_attack_spindown ( edict_t * self ) ;
extern void freddie_do_sfire ( edict_t * self ) ;
extern void freddie_stand_fire ( edict_t * self ) ;
extern void freddie_fireweapon ( edict_t * self ) ;
extern void freddie_attack_prefire ( edict_t * self ) ;
extern void freddie_attack_spinupsound ( edict_t * self ) ;
extern void freddie_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void freddie_run_frame ( edict_t * self ) ;
extern void freddie_run ( edict_t * self ) ;
extern void freddie_walk ( edict_t * self ) ;
extern void freddie_stand ( edict_t * self ) ;
extern void freddie_sound_footstep ( edict_t * self ) ;
extern void freddie_sight ( edict_t * self , edict_t * other ) ;
extern void freddie_idle_sound ( edict_t * self ) ;
extern void SP_monster_q1_fiend ( edict_t * self ) ;
extern void fiend_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void fiend_nogib ( edict_t * self ) ;
extern void fiend_dead ( edict_t * self ) ;
extern void fiend_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern qboolean fiend_checkattack ( edict_t * self ) ;
extern void fiend_jump ( edict_t * self ) ;
extern void fiend_check_landing ( edict_t * self ) ;
extern void fiend_jump_takeoff ( edict_t * self ) ;
extern void fiend_jump_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void fiend_melee ( edict_t * self ) ;
extern void fiend_check_refire ( edict_t * self ) ;
extern void fiend_hit_right ( edict_t * self ) ;
extern void fiend_hit_left ( edict_t * self ) ;
extern void fiend_run ( edict_t * self ) ;
extern void fiend_walk ( edict_t * self ) ;
extern void fiend_stand ( edict_t * self ) ;
extern void fiend_idle_sound2 ( edict_t * self ) ;
extern void fiend_idle_sound ( edict_t * self ) ;
extern void fiend_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_q1_enforcer ( edict_t * self ) ;
extern void q1enforcer_attack ( edict_t * self ) ;
extern void q1enforcer_secondfire ( edict_t * self ) ;
extern void q1enforcer_fire ( edict_t * self ) ;
extern void q1enforcer_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void q1enforcer_throw_backpack ( edict_t * self ) ;
extern void q1enforcer_dead ( edict_t * self ) ;
extern void q1enforcer_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void q1enforcer_run ( edict_t * self ) ;
extern void q1enforcer_walk ( edict_t * self ) ;
extern void q1enforcer_stand ( edict_t * self ) ;
extern void q1enforcer_search ( edict_t * self ) ;
extern void q1enforcer_sight ( edict_t * self , edict_t * other ) ;
extern void q1enforcer_idlesound ( edict_t * self ) ;
extern void SP_monster_q1_dog ( edict_t * self ) ;
extern void q1dog_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void q1dog_nogib ( edict_t * self ) ;
extern void q1dog_dead ( edict_t * self ) ;
extern qboolean q1dog_checkattack ( edict_t * self ) ;
extern void q1dog_leap ( edict_t * self ) ;
extern void q1dog_checklanding ( edict_t * self ) ;
extern void q1dog_takeoff ( edict_t * self ) ;
extern void q1dog_jump_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void q1dog_melee ( edict_t * self ) ;
extern void q1dog_checkrefire ( edict_t * self ) ;
extern void q1dog_bite ( edict_t * self ) ;
extern void q1dog_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void q1dog_run ( edict_t * self ) ;
extern void q1dog_walk ( edict_t * self ) ;
extern void q1dog_stand ( edict_t * self ) ;
extern void q1dog_sight ( edict_t * self , edict_t * other ) ;
extern void q1dog_idle ( edict_t * self ) ;
extern void SP_monster_parasite ( edict_t * self ) ;
extern void parasite_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void parasite_dead ( edict_t * self ) ;
extern qboolean parasite_checkattack ( edict_t * self ) ;
extern qboolean parasite_blocked ( edict_t * self , float dist ) ;
extern void parasite_jump ( edict_t * self ) ;
extern void parasite_jump_wait_land ( edict_t * self ) ;
extern void parasite_jump_up ( edict_t * self ) ;
extern void parasite_jump_down ( edict_t * self ) ;
extern void parasite_attack ( edict_t * self ) ;
extern void parasite_drain_attack ( edict_t * self ) ;
extern qboolean parasite_drain_attack_ok ( vec3_t start , vec3_t end ) ;
extern void parasite_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void parasite_walk ( edict_t * self ) ;
extern void parasite_start_walk ( edict_t * self ) ;
extern void parasite_run ( edict_t * self ) ;
extern void parasite_start_run ( edict_t * self ) ;
extern void parasite_stand ( edict_t * self ) ;
extern void parasite_idle ( edict_t * self ) ;
extern void parasite_refidget ( edict_t * self ) ;
extern void parasite_do_fidget ( edict_t * self ) ;
extern void parasite_end_fidget ( edict_t * self ) ;
extern void parasite_search ( edict_t * self ) ;
extern void parasite_scratch ( edict_t * self ) ;
extern void parasite_tap ( edict_t * self ) ;
extern void parasite_sight ( edict_t * self , edict_t * other ) ;
extern void parasite_reel_in ( edict_t * self ) ;
extern void parasite_launch ( edict_t * self ) ;
extern void SP_monster_mutant ( edict_t * self ) ;
extern qboolean mutant_blocked ( edict_t * self , float dist ) ;
extern void mutant_jump_updown ( edict_t * self ) ;
extern void mutant_jump_wait_land ( edict_t * self ) ;
extern void mutant_jump_up ( edict_t * self ) ;
extern void mutant_jump_down ( edict_t * self ) ;
extern void mutant_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void mutant_dead ( edict_t * self ) ;
extern void mutant_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern qboolean mutant_checkattack ( edict_t * self ) ;
extern qboolean mutant_check_jump ( edict_t * self ) ;
extern qboolean mutant_check_melee ( edict_t * self ) ;
extern void mutant_fake_jump ( edict_t * self ) ;
extern void mutant_jump ( edict_t * self ) ;
extern void mutant_check_landing ( edict_t * self ) ;
extern void mutant_jump_takeoff ( edict_t * self ) ;
extern void mutant_jump_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void mutant_melee ( edict_t * self ) ;
extern void mutant_check_refire ( edict_t * self ) ;
extern void mutant_hit_right ( edict_t * self ) ;
extern void mutant_hit_left ( edict_t * self ) ;
extern void mutant_run ( edict_t * self ) ;
extern void mutant_walk ( edict_t * self ) ;
extern void mutant_walk_loop ( edict_t * self ) ;
extern void mutant_idle ( edict_t * self ) ;
extern void mutant_idle_loop ( edict_t * self ) ;
extern void mutant_stand ( edict_t * self ) ;
extern void mutant_swing ( edict_t * self ) ;
extern void mutant_search ( edict_t * self ) ;
extern void mutant_sight ( edict_t * self , edict_t * other ) ;
extern void mutant_step ( edict_t * self ) ;
extern qboolean M_MoveAwayFromFlare ( edict_t * self , float dist ) ;
extern qboolean M_walkmove ( edict_t * ent , float yaw , float dist ) ;
extern void M_MoveToGoal ( edict_t * ent , float dist ) ;
extern qboolean SV_CloseEnough ( edict_t * ent , edict_t * goal , float dist ) ;
extern void SV_NewChaseDir ( edict_t * actor , edict_t * enemy , float dist ) ;
extern void SV_FixCheckBottom ( edict_t * ent ) ;
extern qboolean SV_StepDirection ( edict_t * ent , float yaw , float dist ) ;
extern void M_ChangeYaw ( edict_t * ent ) ;
extern qboolean SV_movestep ( edict_t * ent , vec3_t move , qboolean relink ) ;
extern qboolean IsBadAhead ( edict_t * self , edict_t * bad , vec3_t move ) ;
extern qboolean M_CheckBottom ( edict_t * ent ) ;
extern void SP_monster_medic ( edict_t * self ) ;
extern qboolean medic_blocked ( edict_t * self , float dist ) ;
extern void medic_sidestep ( edict_t * self ) ;
extern void medic_duck ( edict_t * self , float eta ) ;
extern void MedicCommanderCache ( void ) ;
extern qboolean medic_checkattack ( edict_t * self ) ;
extern void medic_attack ( edict_t * self ) ;
extern void medic_finish_spawn ( edict_t * self ) ;
extern void medic_spawngrows ( edict_t * self ) ;
extern void medic_determine_spawn ( edict_t * self ) ;
extern void medic_start_spawn ( edict_t * self ) ;
extern void medic_hook_retract ( edict_t * self ) ;
extern void medic_cable_attack ( edict_t * self ) ;
extern void medic_hook_launch ( edict_t * self ) ;
extern void medic_continue ( edict_t * self ) ;
extern void medic_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void medic_dead ( edict_t * self ) ;
extern void medic_fire_blaster ( edict_t * self ) ;
extern void medic_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void medic_run ( edict_t * self ) ;
extern void medic_walk ( edict_t * self ) ;
extern void medic_stand ( edict_t * self ) ;
extern void medic_sight ( edict_t * self , edict_t * other ) ;
extern void medic_search ( edict_t * self ) ;
extern void medic_idle ( edict_t * self ) ;
extern void medic_NextPatrolPoint ( edict_t * self , edict_t * hint ) ;
extern void medic_StopPatrolling ( edict_t * self ) ;
extern edict_t * medic_FindDeadMonster ( edict_t * self ) ;
extern qboolean embedded ( edict_t * ent ) ;
extern void abortHeal ( edict_t * self , qboolean change_frame , qboolean gib , qboolean mark ) ;
extern void cleanupHeal ( edict_t * self , qboolean change_frame ) ;
extern void SP_misc_insane ( edict_t * self ) ;
extern void insane_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void insane_dead ( edict_t * self ) ;
extern void insane_stand ( edict_t * self ) ;
extern void insane_checkup ( edict_t * self ) ;
extern void insane_checkdown ( edict_t * self ) ;
extern void insane_onground ( edict_t * self ) ;
extern void insane_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void insane_run ( edict_t * self ) ;
extern void insane_walk ( edict_t * self ) ;
extern void insane_cross ( edict_t * self ) ;
extern void insane_scream ( edict_t * self ) ;
extern void insane_moan ( edict_t * self ) ;
extern void insane_shake ( edict_t * self ) ;
extern void insane_fist ( edict_t * self ) ;
extern void handler_ConvertToInfantry ( edict_t * self ) ;
extern void SP_monster_infantry ( edict_t * self ) ;
extern void SP_monster_infantry_precache ( void ) ;
extern void infantry_sidestep ( edict_t * self ) ;
extern void infantry_duck ( edict_t * self , float eta ) ;
extern qboolean infantry_blocked ( edict_t * self , float dist ) ;
extern void infantry_jump ( edict_t * self ) ;
extern void infantry_jump_wait_land ( edict_t * self ) ;
extern void infantry_jump2_now ( edict_t * self ) ;
extern void infantry_jump_now ( edict_t * self ) ;
extern void infantry_attack ( edict_t * self ) ;
extern void infantry_smack ( edict_t * self ) ;
extern void infantry_swing ( edict_t * self ) ;
extern void infantry_fire_prep ( edict_t * self ) ;
extern void infantry_fire ( edict_t * self ) ;
extern void infantry_cock_gun ( edict_t * self ) ;
extern void infantry_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void infantry_dead ( edict_t * self ) ;
extern void infantry_search ( edict_t * self ) ;
extern void infantry_sight ( edict_t * self , edict_t * other ) ;
extern void InfantryMachineGun ( edict_t * self ) ;
extern void infantry_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void infantry_run ( edict_t * self ) ;
extern void infantry_walk ( edict_t * self ) ;
extern void infantry_fidget ( edict_t * self ) ;
extern void infantry_stand ( edict_t * self ) ;
extern void SP_monster_hover ( edict_t * self ) ;
extern qboolean hover_blocked ( edict_t * self , float dist ) ;
extern void hover_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void hover_dead ( edict_t * self ) ;
extern void hover_deadthink ( edict_t * self ) ;
extern void hover_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void hover_attack ( edict_t * self ) ;
extern void hover_start_attack ( edict_t * self ) ;
extern void hover_walk ( edict_t * self ) ;
extern void hover_run ( edict_t * self ) ;
extern void hover_stand ( edict_t * self ) ;
extern void hover_fire_blaster ( edict_t * self ) ;
extern void hover_reattack ( edict_t * self ) ;
extern void hover_search ( edict_t * self ) ;
extern void hover_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_gunner ( edict_t * self ) ;
extern void gunner_sidestep ( edict_t * self ) ;
extern void gunner_duck ( edict_t * self , float eta ) ;
extern qboolean gunner_blocked ( edict_t * self , float dist ) ;
extern void gunner_jump ( edict_t * self ) ;
extern void gunner_jump_wait_land ( edict_t * self ) ;
extern void gunner_jump2_now ( edict_t * self ) ;
extern void gunner_jump_now ( edict_t * self ) ;
extern void gunner_refire_chain ( edict_t * self ) ;
extern void gunner_fire_chain ( edict_t * self ) ;
extern void gunner_attack ( edict_t * self ) ;
extern void gunner_blind_check ( edict_t * self ) ;
extern void GunnerGrenade ( edict_t * self ) ;
extern void GunnerFire ( edict_t * self ) ;
extern void gunner_opengun ( edict_t * self ) ;
extern void gunner_duck_down ( edict_t * self ) ;
extern qboolean gunner_grenade_check ( edict_t * self ) ;
extern qboolean gunner_prox_safety_check ( edict_t * self , vec3_t start , vec3_t target ) ;
extern void gunner_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void gunner_dead ( edict_t * self ) ;
extern void gunner_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void gunner_runandshoot ( edict_t * self ) ;
extern void gunner_run ( edict_t * self ) ;
extern void gunner_walk ( edict_t * self ) ;
extern void gunner_stand ( edict_t * self ) ;
extern void gunner_fidget ( edict_t * self ) ;
extern void gunner_search ( edict_t * self ) ;
extern void gunner_sight ( edict_t * self , edict_t * other ) ;
extern void gunner_idlesound ( edict_t * self ) ;
extern void SP_monster_gladiator ( edict_t * self ) ;
extern qboolean gladiator_blocked ( edict_t * self , float dist ) ;
extern void gladiator_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void gladiator_dead ( edict_t * self ) ;
extern void gladiator_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void gladiator_attack ( edict_t * self ) ;
extern void GladiatorGun ( edict_t * self ) ;
extern void gladiator_melee ( edict_t * self ) ;
extern void GaldiatorMelee ( edict_t * self ) ;
extern void gladiator_run ( edict_t * self ) ;
extern void gladiator_walk ( edict_t * self ) ;
extern void gladiator_stand ( edict_t * self ) ;
extern void gladiator_cleaver_swing ( edict_t * self ) ;
extern void gladiator_search ( edict_t * self ) ;
extern void gladiator_sight ( edict_t * self , edict_t * other ) ;
extern void gladiator_idle ( edict_t * self ) ;
extern void SP_monster_gladb ( edict_t * self ) ;
extern qboolean gladb_blocked ( edict_t * self , float dist ) ;
extern void gladb_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void gladb_dead ( edict_t * self ) ;
extern void gladb_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void gladb_attack ( edict_t * self ) ;
extern void gladbGun_check ( edict_t * self ) ;
extern void gladbGun ( edict_t * self ) ;
extern void gladb_melee ( edict_t * self ) ;
extern void GladbMelee ( edict_t * self ) ;
extern void gladb_run ( edict_t * self ) ;
extern void gladb_walk ( edict_t * self ) ;
extern void gladb_stand ( edict_t * self ) ;
extern void gladb_cleaver_swing ( edict_t * self ) ;
extern void gladb_search ( edict_t * self ) ;
extern void gladb_sight ( edict_t * self , edict_t * other ) ;
extern void gladb_idle ( edict_t * self ) ;
extern void land_to_water ( edict_t * self ) ;
extern void water_to_land ( edict_t * self ) ;
extern void SP_monster_gekk ( edict_t * self ) ;
extern void gekk_dodge ( edict_t * self , edict_t * attacker , float eta , trace_t * tr ) ;
extern void gekk_duck_hold ( edict_t * self ) ;
extern void gekk_duck_up ( edict_t * self ) ;
extern void gekk_duck_down ( edict_t * self ) ;
extern void gekk_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void isgibfest ( edict_t * self ) ;
extern void gekk_gibfest ( edict_t * self ) ;
extern void gekk_dead ( edict_t * self ) ;
extern void gekk_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void gekk_jump ( edict_t * self ) ;
extern void gekk_check_landing ( edict_t * self ) ;
extern void gekk_stop_skid ( edict_t * self ) ;
extern void gekk_jump_takeoff2 ( edict_t * self ) ;
extern void gekk_jump_takeoff ( edict_t * self ) ;
extern void gekk_jump_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void gekk_melee ( edict_t * self ) ;
extern void gekk_preattack ( edict_t * self ) ;
extern void gekk_bite ( edict_t * self ) ;
extern void gekk_check_underwater ( edict_t * self ) ;
extern void reloogie ( edict_t * self ) ;
extern void loogie ( edict_t * self ) ;
extern void SP_gekk_loogie ( edict_t * loogie ) ;
extern void gekk_loogie_delayed_start ( edict_t * loogie ) ;
extern void fire_loogie ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed ) ;
extern void loogie_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void gekk_check_refire ( edict_t * self ) ;
extern void gekk_hit_right ( edict_t * self ) ;
extern void gekk_hit_left ( edict_t * self ) ;
extern void gekk_run ( edict_t * self ) ;
extern void gekk_run_start ( edict_t * self ) ;
extern void gekk_walk ( edict_t * self ) ;
extern void gekk_idle ( edict_t * self ) ;
extern void gekk_idle_loop ( edict_t * self ) ;
extern void gekk_chant ( edict_t * self ) ;
extern void gekk_stand ( edict_t * self ) ;
extern void gekk_swim ( edict_t * self ) ;
extern void gekk_swim_loop ( edict_t * self ) ;
extern void ai_stand2 ( edict_t * self , float dist ) ;
extern void gekk_face ( edict_t * self ) ;
extern void gekk_swing ( edict_t * self ) ;
extern void gekk_search ( edict_t * self ) ;
extern void gekk_sight ( edict_t * self , edict_t * other ) ;
extern void gekk_step ( edict_t * self ) ;
extern qboolean gekk_checkattack ( edict_t * self ) ;
extern qboolean gekk_check_jump_close ( edict_t * self ) ;
extern qboolean gekk_check_jump ( edict_t * self ) ;
extern qboolean gekk_check_jump_hazard ( edict_t * self , qboolean watertoland , qboolean farjump ) ;
extern qboolean gekk_check_melee ( edict_t * self ) ;
extern void SP_monster_kamikaze ( edict_t * self ) ;
extern void SP_monster_flyer ( edict_t * self ) ;
extern qboolean flyer_blocked ( edict_t * self , float dist ) ;
extern void flyer_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void flyer_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void flyer_check_melee ( edict_t * self ) ;
extern void flyer_melee ( edict_t * self ) ;
extern void flyer_nextmove ( edict_t * self ) ;
extern void flyer_setstart ( edict_t * self ) ;
extern void flyer_attack ( edict_t * self ) ;
extern void flyer_loop_melee ( edict_t * self ) ;
extern void flyer_slash_right ( edict_t * self ) ;
extern void flyer_slash_left ( edict_t * self ) ;
extern void flyer_fireright ( edict_t * self ) ;
extern void flyer_fireleft ( edict_t * self ) ;
extern void flyer_fire ( edict_t * self , int flash_number ) ;
extern void flyer_start ( edict_t * self ) ;
extern void flyer_stop ( edict_t * self ) ;
extern void flyer_kamikaze_check ( edict_t * self ) ;
extern void flyer_kamikaze ( edict_t * self ) ;
extern void flyer_kamikaze_explode ( edict_t * self ) ;
extern void flyer_stand ( edict_t * self ) ;
extern void flyer_walk ( edict_t * self ) ;
extern void flyer_run ( edict_t * self ) ;
extern void flyer_pop_blades ( edict_t * self ) ;
extern void flyer_idle ( edict_t * self ) ;
extern void flyer_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_floater ( edict_t * self ) ;
extern qboolean floater_blocked ( edict_t * self , float dist ) ;
extern void floater_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void floater_dead ( edict_t * self ) ;
extern void floater_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void floater_melee ( edict_t * self ) ;
extern void floater_attack ( edict_t * self ) ;
extern void floater_zap ( edict_t * self ) ;
extern void floater_wham ( edict_t * self ) ;
extern void floater_walk ( edict_t * self ) ;
extern void floater_run ( edict_t * self ) ;
extern void floater_stand ( edict_t * self ) ;
extern void floater_fire_blaster ( edict_t * self ) ;
extern void floater_idle ( edict_t * self ) ;
extern void floater_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_flipper ( edict_t * self ) ;
extern void flipper_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void flipper_sight ( edict_t * self , edict_t * other ) ;
extern void flipper_dead ( edict_t * self ) ;
extern void flipper_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void flipper_melee ( edict_t * self ) ;
extern void flipper_preattack ( edict_t * self ) ;
extern void flipper_bite ( edict_t * self ) ;
extern void flipper_start_run ( edict_t * self ) ;
extern void flipper_walk ( edict_t * self ) ;
extern void flipper_run ( edict_t * self ) ;
extern void flipper_run_loop ( edict_t * self ) ;
extern void flipper_stand ( edict_t * self ) ;
extern void flipper_search ( edict_t * self ) ;
extern void flipper_breathe ( edict_t * self ) ;
extern void SP_monster_fixbot ( edict_t * self ) ;
extern void fixbot_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void fixbot_dead ( edict_t * self ) ;
extern void fixbot_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void fixbot_attack ( edict_t * self ) ;
extern void fixbot_start_attack ( edict_t * self ) ;
extern void fixbot_walk ( edict_t * self ) ;
extern void fixbot_run ( edict_t * self ) ;
extern void fixbot_stand ( edict_t * self ) ;
extern void fixbot_fire_blaster ( edict_t * self ) ;
extern void fixbot_fire_welder ( edict_t * self ) ;
extern void ai_move2 ( edict_t * self , float dist ) ;
extern void weldstate ( edict_t * self ) ;
extern void fixbot_fire_laser ( edict_t * self ) ;
extern int check_telefrag ( edict_t * self ) ;
extern void ai_movetogoal ( edict_t * self , float dist ) ;
extern void go_roam ( edict_t * self ) ;
extern void ai_facing ( edict_t * self , float dist ) ;
extern void fly_vertical2 ( edict_t * self ) ;
extern void fly_vertical ( edict_t * self ) ;
extern void blastoff ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int kick , int te_impact , int hspread , int vspread ) ;
extern void use_scanner ( edict_t * self ) ;
extern void roam_goal ( edict_t * self ) ;
extern void change_to_roam ( edict_t * self ) ;
extern void takeoff_goal ( edict_t * self ) ;
extern void landing_goal ( edict_t * self ) ;
extern int fixbot_search ( edict_t * self ) ;
extern edict_t * fixbot_FindDeadMonster ( edict_t * self ) ;
extern float crand ( void ) ;
extern void SP_monster_dog ( edict_t * self ) ;
extern void dog_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void dog_dead ( edict_t * self ) ;
extern qboolean dog_checkattack ( edict_t * self ) ;
extern void dog_leap ( edict_t * self ) ;
extern void dogchecklanding ( edict_t * self ) ;
extern void dogtakeoff ( edict_t * self ) ;
extern void dog_jump_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void dog_melee ( edict_t * self ) ;
extern void dog_checkrefire ( edict_t * self ) ;
extern void dog_bite ( edict_t * self ) ;
extern void dog_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void dog_run ( edict_t * self ) ;
extern void dog_walk ( edict_t * self ) ;
extern void dog_stand ( edict_t * self ) ;
extern void dog_sight ( edict_t * self , edict_t * other ) ;
extern void dog_idle ( edict_t * self ) ;
extern void SP_monster_chick_heat ( edict_t * self ) ;
extern void SP_monster_chick ( edict_t * self ) ;
extern void chick_sidestep ( edict_t * self ) ;
extern void chick_duck ( edict_t * self , float eta ) ;
extern qboolean chick_blocked ( edict_t * self , float dist ) ;
extern void chick_sight ( edict_t * self , edict_t * other ) ;
extern void chick_attack ( edict_t * self ) ;
extern void chick_melee ( edict_t * self ) ;
extern void chick_slash ( edict_t * self ) ;
extern void chick_reslash ( edict_t * self ) ;
extern void chick_attack1 ( edict_t * self ) ;
extern void chick_rerocket ( edict_t * self ) ;
extern void ChickReload ( edict_t * self ) ;
extern void Chick_PreAttack1 ( edict_t * self ) ;
extern void ChickRocket ( edict_t * self ) ;
extern void ChickSlash ( edict_t * self ) ;
extern void chick_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void chick_dead ( edict_t * self ) ;
extern void chick_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void chick_run ( edict_t * self ) ;
extern void chick_walk ( edict_t * self ) ;
extern void chick_stand ( edict_t * self ) ;
extern void chick_fidget ( edict_t * self ) ;
extern void ChickMoan ( edict_t * self ) ;
extern void SP_monster_carrier ( edict_t * self ) ;
extern void CarrierPrecache ( ) ;
extern qboolean Carrier_CheckAttack ( edict_t * self ) ;
extern void carrier_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void carrier_dead ( edict_t * self ) ;
extern void carrier_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void carrier_reattack_gren ( edict_t * self ) ;
extern void carrier_attack_gren ( edict_t * self ) ;
extern void carrier_reattack_mg ( edict_t * self ) ;
extern void carrier_attack_mg ( edict_t * self ) ;
extern void carrier_attack ( edict_t * self ) ;
extern void CarrierMachineGunHold ( edict_t * self ) ;
extern void carrier_walk ( edict_t * self ) ;
extern void carrier_run ( edict_t * self ) ;
extern void carrier_stand ( edict_t * self ) ;
extern void CarrierSaveLoc ( edict_t * self ) ;
extern void CarrierRail ( edict_t * self ) ;
extern void carrier_start_spawn ( edict_t * self ) ;
extern void carrier_ready_spawn ( edict_t * self ) ;
extern void carrier_spawn_check ( edict_t * self ) ;
extern void carrier_prep_spawn ( edict_t * self ) ;
extern void CarrierSpawn ( edict_t * self ) ;
extern void CarrierMachineGun ( edict_t * self ) ;
extern void carrier_firebullet_left ( edict_t * self ) ;
extern void carrier_firebullet_right ( edict_t * self ) ;
extern void CarrierRocket ( edict_t * self ) ;
extern void CarrierPredictiveRocket ( edict_t * self ) ;
extern void CarrierGrenade ( edict_t * self ) ;
extern void CarrierCoopCheck ( edict_t * self ) ;
extern void carrier_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_brain_beta ( edict_t * self ) ;
extern void brainbeta_duck ( edict_t * self , float eta ) ;
extern void brainbeta_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void brainbeta_dead ( edict_t * self ) ;
extern void brainbeta_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void brainbeta_run ( edict_t * self ) ;
extern void brainbeta_attack ( edict_t * self ) ;
extern void brainbeta_laserbeam_reattack ( edict_t * self ) ;
extern void brainbeta_laserbeam ( edict_t * self ) ;
extern void brainbeta_tounge_attack ( edict_t * self ) ;
extern void brainbeta_chest_closed ( edict_t * self ) ;
extern void brainbeta_tentacle_attack ( edict_t * self ) ;
extern void brainbeta_chest_open ( edict_t * self ) ;
extern void brainbeta_hit_left ( edict_t * self ) ;
extern void brainbeta_swing_left ( edict_t * self ) ;
extern void brainbeta_hit_right ( edict_t * self ) ;
extern void brainbeta_swing_right ( edict_t * self ) ;
extern void brainbeta_walk ( edict_t * self ) ;
extern void brainbeta_idle ( edict_t * self ) ;
extern void brainbeta_stand ( edict_t * self ) ;
extern void brainbeta_search ( edict_t * self ) ;
extern void brainbeta_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_brain ( edict_t * self ) ;
extern void brain_duck ( edict_t * self , float eta ) ;
extern void brain_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void brain_dead ( edict_t * self ) ;
extern void brain_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void brain_run ( edict_t * self ) ;
extern void brain_melee ( edict_t * self ) ;
extern void brain_chest_closed ( edict_t * self ) ;
extern void brain_tentacle_attack ( edict_t * self ) ;
extern void brain_chest_open ( edict_t * self ) ;
extern void brain_hit_left ( edict_t * self ) ;
extern void brain_swing_left ( edict_t * self ) ;
extern void brain_hit_right ( edict_t * self ) ;
extern void brain_swing_right ( edict_t * self ) ;
extern void brain_walk ( edict_t * self ) ;
extern void brain_idle ( edict_t * self ) ;
extern void brain_stand ( edict_t * self ) ;
extern void brain_search ( edict_t * self ) ;
extern void brain_sight ( edict_t * self , edict_t * other ) ;
extern void SP_monster_boss5 ( edict_t * self ) ;
extern qboolean boss5_blocked ( edict_t * self , float dist ) ;
extern void boss5_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void boss5_dead ( edict_t * self ) ;
extern void boss5_attack ( edict_t * self ) ;
extern void boss5MachineGun ( edict_t * self ) ;
extern void boss5Rocket ( edict_t * self ) ;
extern void boss5_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void boss5_reattack1 ( edict_t * self ) ;
extern void boss5_run ( edict_t * self ) ;
extern void boss5_walk ( edict_t * self ) ;
extern void boss5_forward ( edict_t * self ) ;
extern void boss5_stand ( edict_t * self ) ;
extern void boss5_search ( edict_t * self ) ;
extern void TreadSound2 ( edict_t * self ) ;
extern void MakronToss ( edict_t * self ) ;
extern void MakronSpawn ( edict_t * self ) ;
extern void SP_monster_makron_put ( edict_t * self ) ;
extern void SP_monster_makron ( edict_t * self ) ;
extern qboolean Makron_blocked ( edict_t * self , float dist ) ;
extern void MakronPrecache ( void ) ;
extern qboolean Makron_CheckAttack ( edict_t * self ) ;
extern void makron_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void makron_dead ( edict_t * self ) ;
extern void makron_torso ( edict_t * ent ) ;
extern void makron_torso_think ( edict_t * self ) ;
extern void makron_attack ( edict_t * self ) ;
extern void makron_sight ( edict_t * self , edict_t * other ) ;
extern void makron_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void MakronHyperblaster ( edict_t * self ) ;
extern void MakronRailgun ( edict_t * self ) ;
extern void MakronSaveloc ( edict_t * self ) ;
extern void makronBFG ( edict_t * self ) ;
extern void makron_run ( edict_t * self ) ;
extern void makron_walk ( edict_t * self ) ;
extern void makron_prerailgun ( edict_t * self ) ;
extern void makron_brainsplorch ( edict_t * self ) ;
extern void makron_step_right ( edict_t * self ) ;
extern void makron_step_left ( edict_t * self ) ;
extern void makron_popup ( edict_t * self ) ;
extern void makron_hit ( edict_t * self ) ;
extern void makron_stand ( edict_t * self ) ;
extern void makron_taunt ( edict_t * self ) ;
extern void SP_monster_jorg ( edict_t * self ) ;
extern qboolean Jorg_CheckAttack ( edict_t * self ) ;
extern void jorg_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void jorg_dead ( edict_t * self ) ;
extern void JorgExplode ( edict_t * self ) ;
extern void jorg_attack ( edict_t * self ) ;
extern void jorg_firebullet ( edict_t * self ) ;
extern void jorg_firebullet_left ( edict_t * self ) ;
extern void jorg_firebullet_right ( edict_t * self ) ;
extern void jorgBFG ( edict_t * self ) ;
extern void jorg_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void jorg_attack1 ( edict_t * self ) ;
extern void jorg_reattack1 ( edict_t * self ) ;
extern void jorg_run ( edict_t * self ) ;
extern void jorg_walk ( edict_t * self ) ;
extern void jorg_stand ( edict_t * self ) ;
extern void jorg_step_right ( edict_t * self ) ;
extern void jorg_step_left ( edict_t * self ) ;
extern void jorg_death_hit ( edict_t * self ) ;
extern void jorg_idle ( edict_t * self ) ;
extern void jorg_search ( edict_t * self ) ;
extern void SP_monster_boss3_stand ( edict_t * self ) ;
extern void Think_Boss3Stand ( edict_t * ent ) ;
extern void Use_Boss3 ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void SP_monster_boss2 ( edict_t * self ) ;
extern qboolean Boss2_CheckAttack ( edict_t * self ) ;
extern void boss2_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void boss2_dead ( edict_t * self ) ;
extern void boss2_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void boss2_reattack_mg ( edict_t * self ) ;
extern void boss2_attack_mg ( edict_t * self ) ;
extern void boss2_attack ( edict_t * self ) ;
extern void boss2_walk ( edict_t * self ) ;
extern void boss2_run ( edict_t * self ) ;
extern void boss2_stand ( edict_t * self ) ;
extern void Boss2MachineGun ( edict_t * self ) ;
extern void boss2_firebullet_left ( edict_t * self ) ;
extern void boss2_firebullet_right ( edict_t * self ) ;
extern void Boss2Rocket ( edict_t * self ) ;
extern void Boss2PredictiveRocket ( edict_t * self ) ;
extern void boss2_search ( edict_t * self ) ;
extern void SP_monster_berserk ( edict_t * self ) ;
extern void berserk_sidestep ( edict_t * self ) ;
extern qboolean berserk_blocked ( edict_t * self , float dist ) ;
extern void berserk_jump ( edict_t * self ) ;
extern void berserk_jump_wait_land ( edict_t * self ) ;
extern void berserk_jump2_now ( edict_t * self ) ;
extern void berserk_jump_now ( edict_t * self ) ;
extern void berserk_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void berserk_dead ( edict_t * self ) ;
extern void berserk_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void berserk_melee ( edict_t * self ) ;
extern void berserk_strike ( edict_t * self ) ;
extern void berserk_attack_club ( edict_t * self ) ;
extern void berserk_swing ( edict_t * self ) ;
extern void berserk_attack_spike ( edict_t * self ) ;
extern void berserk_run ( edict_t * self ) ;
extern void berserk_walk ( edict_t * self ) ;
extern void berserk_fidget ( edict_t * self ) ;
extern void berserk_stand ( edict_t * self ) ;
extern void berserk_search ( edict_t * self ) ;
extern void berserk_sight ( edict_t * self , edict_t * other ) ;
extern void actorDisintegrator ( edict_t * self ) ;
extern void actorPlasmaBeam ( edict_t * self ) ;
extern void actorETF_Rifle ( edict_t * self ) ;
extern void actorPhalanx ( edict_t * self ) ;
extern void actorIonripper ( edict_t * self ) ;
extern void actorBFG ( edict_t * self ) ;
extern void actorRailGun ( edict_t * self ) ;
extern void actorHyperblaster ( edict_t * self ) ;
extern void actorRocket ( edict_t * self ) ;
extern void actorGrenadeLauncher ( edict_t * self ) ;
extern void actorChaingun ( edict_t * self ) ;
extern void actorMachineGun ( edict_t * self ) ;
extern void actorSuperShotgun ( edict_t * self ) ;
extern void actorShotgun ( edict_t * self ) ;
extern void actorBlaster ( edict_t * self ) ;
extern void ActorTarget ( edict_t * self , vec3_t target ) ;
extern void TraceAimPoint ( vec3_t start , vec3_t target ) ;
extern void muzzleflash_think ( edict_t * flash ) ;
extern void actor_moveit ( edict_t * player , edict_t * actor ) ;
extern void actor_files ( void ) ;
extern qboolean InPak ( char * basedir , char * gamedir , char * filename ) ;
extern void SP_target_actor ( edict_t * self ) ;
extern void target_actor_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_misc_actor ( edict_t * self ) ;
extern void actor_salute ( edict_t * self ) ;
extern qboolean actor_blocked ( edict_t * self , float dist ) ;
extern void actor_jump ( edict_t * self ) ;
extern void actor_end_jump ( edict_t * self ) ;
extern qboolean actor_checkattack ( edict_t * self ) ;
extern void actor_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void actor_attack ( edict_t * self ) ;
extern void actor_seekcover ( edict_t * self ) ;
extern void actor_no_weapon_sound ( edict_t * self ) ;
extern void actor_fire ( edict_t * self ) ;
extern void actor_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void actor_dead ( edict_t * self ) ;
extern void actor_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void actor_switch ( edict_t * self ) ;
extern void actor_ideal_range ( edict_t * self ) ;
extern void actor_run_back ( edict_t * self ) ;
extern void actor_run ( edict_t * self ) ;
extern void actor_walk_back ( edict_t * self ) ;
extern void actor_walk ( edict_t * self ) ;
extern void actor_stand ( edict_t * self ) ;
extern void InitLithiumVars ( void ) ;
extern void q1_gib_precache ( void ) ;
extern void q1_fire_gib ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed ) ;
extern void q1_zombiegib_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void q1_acidspit_precache ( void ) ;
extern void q1_fire_acidspit ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed ) ;
extern void q1_acidbolt_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void q1_fire_lavaball_precache ( void ) ;
extern void q1_fire_lavaball ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , float damage_radius , int radius_damage ) ;
extern void q1_lavaball_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void q1_firepod_precache ( void ) ;
extern void q1_fire_firepod ( edict_t * self , vec3_t dir ) ;
extern void q1_firepod_home ( edict_t * self ) ;
extern void q1_firepod_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void q1_fire_lightning ( edict_t * self , vec3_t start , vec3_t dir , int damage ) ;
extern void q1_rocket_precahce ( void ) ;
extern void q1_fire_rocket ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , float damage_radius , int radius_damage ) ;
extern void q1rocket_trail ( edict_t * self , vec3_t start , vec3_t dir ) ;
extern void q1rocketTrail_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void q1_rocket_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void q1_grenade_precache ( void ) ;
extern void q1_fire_grenade ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed , float timer , float damage_radius ) ;
extern void q1_grenade_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void q1_grenade_explode ( edict_t * ent ) ;
extern void q1_explode ( edict_t * self ) ;
extern void q1_flame_precache ( void ) ;
extern void q1_fire_flame ( edict_t * self , vec3_t start , vec3_t dir , float leftrightoff ) ;
extern void q1_flame_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void q1_flame_splash ( int type , int count , int color , vec3_t start , vec3_t movdir , vec3_t origin ) ;
extern void q1_laser_precache ( void ) ;
extern void q1_fire_laser ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed ) ;
extern void q1_laser_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void q1_nail_precache ( void ) ;
extern void q1_fire_nail ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , qboolean sng ) ;
extern void q1_nail_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_goop ( edict_t * goop ) ;
extern void goop_delayed_start ( edict_t * goop ) ;
extern void fire_plasma_rifle ( edict_t * ent , vec3_t start , vec3_t dir , int damage , int speed , qboolean spread ) ;
extern void fire_plasma_rifle_spread ( edict_t * ent , vec3_t start , vec3_t dir , int damage , int speed ) ;
extern void fire_plasma_rifle_bounce ( edict_t * ent , vec3_t start , vec3_t dir , int damage , int speed ) ;
extern edict_t * Spawn_Goop ( edict_t * ent , vec3_t start ) ;
extern void plasma_rifle_spread_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void plasma_rifle_bounce_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_shocksphere ( edict_t * shocksphere ) ;
extern void shocksphere_delayed_start ( edict_t * shocksphere ) ;
extern void fire_shock_sphere ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , float damage_radius , int radius_damage ) ;
extern void shock_sphere_think ( edict_t * sphere ) ;
extern void shock_sphere_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void ShockSplash ( edict_t * self , cplane_t * plane ) ;
extern void ShockSplashThink ( edict_t * self ) ;
extern void ShockEffect ( edict_t * source , edict_t * attacker , float damage , float radius , cplane_t * plane ) ;
extern void shock_effect_center_think ( edict_t * self ) ;
extern void shock_effect_think ( edict_t * self ) ;
extern void Trap_Explode ( edict_t * ent ) ;
extern void Cmd_KillTrap_f ( edict_t * ent ) ;
extern void Trap_Die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void SP_trap ( edict_t * trap ) ;
extern void trap_delayed_start ( edict_t * trap ) ;
extern void fire_trap ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed , float timer , float damage_radius , qboolean held ) ;
extern void Trap_Think ( edict_t * ent ) ;
extern void SP_phalanx_plasma ( edict_t * ph_plasma ) ;
extern void phalanx_plasma_delayed_start ( edict_t * ph_plasma ) ;
extern void fire_phalanx_plasma ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , float damage_radius , int radius_damage ) ;
extern void plasma_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void phalanx_plasma_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void fire_rocket_heat ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , float damage_radius , int radius_damage ) ;
extern void rocket_heat_think ( edict_t * self ) ;
extern void SP_ion ( edict_t * ion ) ;
extern void ion_delayed_start ( edict_t * ion ) ;
extern void fire_ionripper ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int effect ) ;
extern void ionripper_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void ionripper_sparks ( edict_t * self ) ;
extern void fire_bfg ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , float damage_radius ) ;
extern void bfg_think ( edict_t * self ) ;
extern void bfg_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void bfg_explode ( edict_t * self ) ;
extern void fire_rail ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int kick ) ;
extern void SP_rocket ( edict_t * rocket ) ;
extern void rocket_delayed_start ( edict_t * rocket ) ;
extern void fire_rocket ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , float damage_radius , int radius_damage , edict_t * home_target ) ;
extern void rocket_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void rocket_explode ( edict_t * ent ) ;
extern void rocket_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Rocket_Evade ( edict_t * rocket , vec3_t dir , float speed ) ;
extern void homing_think ( edict_t * self ) ;
extern void SP_missile ( edict_t * missile ) ;
extern void missile_delayed_start ( edict_t * missile ) ;
extern void fire_missile ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , float damage_radius , int radius_damage , edict_t * home_target ) ;
extern void missile_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void missile_explode ( edict_t * ent ) ;
extern void missile_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern qboolean AimGrenade ( edict_t * self , vec3_t start , vec3_t target , vec_t speed , vec3_t aim , qboolean isProx ) ;
extern void SP_handgrenade ( edict_t * grenade ) ;
extern void handgrenade_delayed_start ( edict_t * grenade ) ;
extern void SP_grenade ( edict_t * grenade ) ;
extern void grenade_delayed_start ( edict_t * grenade ) ;
extern void fire_grenade2 ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed , float timer , float damage_radius , qboolean held ) ;
extern void fire_grenade ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed , float timer , float damage_radius , qboolean contact ) ;
extern void ContactGrenade_Touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Grenade_Touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Grenade_Explode ( edict_t * ent ) ;
extern void Grenade_Remove_From_Chain ( edict_t * grenade ) ;
extern void Grenade_Add_To_Chain ( edict_t * grenade ) ;
extern void Grenade_Evade ( edict_t * monster ) ;
extern void SP_bolt ( edict_t * bolt ) ;
extern void bolt_delayed_start ( edict_t * bolt ) ;
extern void fire_blueblaster ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int effect ) ;
extern void fire_blaster ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int effect , qboolean hyper , int color ) ;
extern void blaster_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void fire_shotgun ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int kick , int hspread , int vspread , int count , int mod ) ;
extern void fire_bullet ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int kick , int hspread , int vspread , int mod ) ;
extern void fire_lead ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int kick , int te_impact , int hspread , int vspread , int mod ) ;
extern qboolean fire_hit ( edict_t * self , vec3_t aim , int damage , int kick ) ;
extern void check_dodge ( edict_t * self , vec3_t start , vec3_t dir , int speed ) ;
extern void SP_func_vehicle ( edict_t * self ) ;
extern void turn_vehicle ( edict_t * self ) ;
extern void vehicle_think ( edict_t * self ) ;
extern void vehicle_disengage ( edict_t * vehicle ) ;
extern void vehicle_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void vehicle_blocked ( edict_t * self , edict_t * other ) ;
extern void func_vehicle_explode ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void Q1TeleportSounds ( edict_t * ent ) ;
extern float PointDist ( vec3_t x , vec3_t y ) ;
extern qboolean UseRegularGoodGuyFlag ( edict_t * monster ) ;
extern qboolean UseSpecialGoodGuyFlag ( edict_t * monster ) ;
extern qboolean CheckCoop_MapHacks ( edict_t * ent ) ;
extern qboolean IsZaeroRailgunHackMap ( void ) ;
extern qboolean IsZaeroMap ( void ) ;
extern qboolean IsRogueMap ( void ) ;
extern qboolean IsXatrixMap ( void ) ;
extern qboolean IsIdMap ( void ) ;
extern void G_UseTarget ( edict_t * ent , edict_t * activator , edict_t * target ) ;
extern void Think_Delay_Single ( edict_t * ent ) ;
extern void CreatePath ( const char * path ) ;
extern void SavegameDirRelativePath ( const char * filename , char * output , size_t outputSize ) ;
extern void GameDirRelativePath ( const char * filename , char * output , size_t outputSize ) ;
extern edict_t * LookingAt ( edict_t * ent , int filter , vec3_t endpos , float * range ) ;
extern float AtLeast ( float x , float dx ) ;
extern qboolean point_infront ( edict_t * self , vec3_t point ) ;
extern void stuffcmd ( edict_t * ent , char * s ) ;
extern float SnapToEights ( float x ) ;
extern void AnglesNormalize ( vec3_t vec ) ;
extern qboolean MonsterPlayerKillBox ( edict_t * ent ) ;
extern qboolean KillBox ( edict_t * ent ) ;
extern void G_TouchSolids ( edict_t * ent ) ;
extern void G_TouchTriggers ( edict_t * ent ) ;
extern void G_FreeEdict ( edict_t * ed ) ;
extern edict_t * G_Spawn ( void ) ;
extern void G_InitEdict ( edict_t * e ) ;
extern char * G_CopyString ( char * in ) ;
extern void vectoangles2 ( vec3_t value1 , vec3_t angles ) ;
extern void vectoangles ( vec3_t value1 , vec3_t angles ) ;
extern float vectopitch ( vec3_t vec ) ;
extern float vectoyaw2 ( vec3_t vec ) ;
extern float vectoyaw ( vec3_t vec ) ;
extern void G_SetMovedir2 ( vec3_t angles , vec3_t movedir ) ;
extern void G_SetMovedir ( vec3_t angles , vec3_t movedir ) ;
extern char * vtos ( vec3_t v ) ;
extern float * tv ( float x , float y , float z ) ;
extern void G_UseTargets ( edict_t * ent , edict_t * activator ) ;
extern void Think_Delay ( edict_t * ent ) ;
extern edict_t * G_PickTarget ( char * targetname ) ;
extern edict_t * findradius2 ( edict_t * from , vec3_t org , float rad ) ;
extern edict_t * findradius ( edict_t * from , vec3_t org , float rad ) ;
extern edict_t * G_Find ( edict_t * from , size_t fieldofs , char * match ) ;
extern void G_ProjectSource2 ( vec3_t point , vec3_t distance , vec3_t forward , vec3_t right , vec3_t up , vec3_t result ) ;
extern void G_ProjectSource ( vec3_t point , vec3_t distance , vec3_t forward , vec3_t right , vec3_t result ) ;
extern void SP_turret_invisible_brain ( edict_t * self ) ;
extern void turret_brain_activate ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void turret_brain_deactivate ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void turret_brain_link ( edict_t * self ) ;
extern void turret_brain_think ( edict_t * self ) ;
extern void SP_turret_driver ( edict_t * self ) ;
extern void turret_driver_link ( edict_t * self ) ;
extern void turret_driver_think ( edict_t * self ) ;
extern void turret_driver_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void SP_turret_base ( edict_t * self ) ;
extern void turret_base_use ( edict_t * self , edict_t * activator , edict_t * other ) ;
extern void turret_base_finish ( edict_t * self ) ;
extern void SP_model_turret ( edict_t * self ) ;
extern void SP_turret_breach ( edict_t * self ) ;
extern void turret_breach_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void turret_breach_use ( edict_t * self , edict_t * activator , edict_t * other ) ;
extern void toggle_turret_breach ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void turret_breach_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void turret_breach_die_temp_think ( edict_t * self ) ;
extern void turret_breach_finish_init ( edict_t * self ) ;
extern void turret_breach_think ( edict_t * self ) ;
extern void turret_turn ( edict_t * self ) ;
extern void turret_disengage ( edict_t * self ) ;
extern void turret_breach_fire ( edict_t * self ) ;
extern void hrocket_turret_fire ( edict_t * self , edict_t * owner , vec3_t start , vec3_t dir , vec3_t start2 , vec3_t dir2 , int damage , int speed , float damage_radius , int radius_damage , edict_t * home_target ) ;
extern void turret_blocked ( edict_t * self , edict_t * other ) ;
extern edict_t * TurretTarget ( edict_t * self ) ;
extern void SP_trigger_switch ( edict_t * ent ) ;
extern void use_trigger_switch ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void touch_trigger_switch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void trigger_switch ( edict_t * ent ) ;
extern void trigger_switch_usetargets ( edict_t * ent , edict_t * activator ) ;
extern void trigger_switch_delay ( edict_t * ent ) ;
extern void SP_trigger_transition_bbox ( edict_t * self ) ;
extern void SP_trigger_transition ( edict_t * self ) ;
extern int trigger_transition_ents ( edict_t * changelevel , edict_t * self ) ;
extern void trans_ent_filename ( char * filename , size_t filenameSize ) ;
extern void WriteTransitionEdict ( FILE * f , edict_t * changelevel , edict_t * ent ) ;
extern qboolean HasSpawnFunction ( edict_t * ent ) ;
extern void SP_trigger_speaker ( edict_t * self ) ;
extern void trigger_speaker_enable ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trigger_speaker_disable ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trigger_speaker_think ( edict_t * self ) ;
extern void SP_trigger_look ( edict_t * self ) ;
extern void trigger_look_enable ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trigger_look_disable ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trigger_look_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_trigger_scales_bbox ( edict_t * self ) ;
extern void SP_trigger_scales ( edict_t * self ) ;
extern void trigger_scales_think ( edict_t * self ) ;
extern float weight_on_top ( edict_t * ent ) ;
extern void SP_trigger_inside_bbox ( edict_t * self ) ;
extern void SP_trigger_inside ( edict_t * self ) ;
extern void trigger_inside_think ( edict_t * self ) ;
extern void SP_trigger_mass_bbox ( edict_t * self ) ;
extern void SP_trigger_mass ( edict_t * self ) ;
extern void trigger_mass_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_trigger_monsterjump_bbox ( edict_t * self ) ;
extern void SP_trigger_monsterjump ( edict_t * self ) ;
extern void trigger_monsterjump_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_trigger_gravity_bbox ( edict_t * self ) ;
extern void SP_trigger_gravity ( edict_t * self ) ;
extern void trigger_gravity_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void trigger_gravity_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_trigger_hurt_bbox ( edict_t * self ) ;
extern void SP_trigger_hurt ( edict_t * self ) ;
extern void hurt_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void hurt_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_trigger_push_bbox ( edict_t * self ) ;
extern void SP_trigger_push ( edict_t * self ) ;
extern void trigger_push_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trigger_push_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_trigger_always ( edict_t * ent ) ;
extern void SP_trigger_counter ( edict_t * self ) ;
extern void trigger_counter_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_trigger_key ( edict_t * self ) ;
extern void trigger_key_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_trigger_relay ( edict_t * self ) ;
extern void trigger_relay_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_trigger_bbox ( edict_t * self ) ;
extern void SP_trigger_once ( edict_t * ent ) ;
extern void SP_trigger_multiple ( edict_t * ent ) ;
extern void trigger_enable ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void Touch_Multi ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Use_Multi ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void multi_trigger ( edict_t * ent ) ;
extern void multi_wait ( edict_t * ent ) ;
extern void InitTriggerBbox ( edict_t * self ) ;
extern void InitTrigger ( edict_t * self ) ;
extern void SP_info_train_start ( edict_t * self ) ;
extern void find_tracktrain ( edict_t * self ) ;
extern void SP_func_tracktrain ( edict_t * self ) ;
extern void tracktrain_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_tracktrain_find ( edict_t * self ) ;
extern void tracktrain_next ( edict_t * self ) ;
extern void tracktrain_turn ( edict_t * self ) ;
extern void train_angles ( edict_t * train ) ;
extern void LookAhead ( edict_t * train , vec3_t point , float dist ) ;
extern edict_t * NextPathTrack ( edict_t * train , edict_t * path ) ;
extern qboolean is_backing_up ( edict_t * train ) ;
extern void tracktrain_reach_dest ( edict_t * self ) ;
extern void tracktrain_blocked ( edict_t * self , edict_t * other ) ;
extern void tracktrain_think ( edict_t * self ) ;
extern void tracktrain_hide ( edict_t * self ) ;
extern void tracktrain_disengage ( edict_t * train ) ;
extern void tracktrain_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void tracktrain_drive ( edict_t * train , edict_t * other ) ;
extern void SP_func_trackchange ( edict_t * self ) ;
extern void trackchange_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trackchange_done ( edict_t * self ) ;
extern void SP_path_track ( edict_t * self ) ;
extern void path_track_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_thing ( edict_t * self ) ;
extern void thing_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void thing_grenade_boom ( edict_t * self ) ;
extern void thing_think_pause ( edict_t * self ) ;
extern void thing_think ( edict_t * self ) ;
extern void thing_restore_leader ( edict_t * self ) ;
extern edict_t * SpawnThing ( void ) ;
extern void SP_target_locator ( edict_t * self ) ;
extern void target_locator_init ( edict_t * self ) ;
extern void SP_target_failure ( edict_t * self ) ;
extern void use_target_failure ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_failure_fade_lights ( edict_t * self ) ;
extern void target_failure_think ( edict_t * self ) ;
extern void target_failure_player_die ( edict_t * player ) ;
extern void target_failure_wipe ( edict_t * self ) ;
extern void SP_target_animation ( edict_t * self ) ;
extern void target_animation_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_animate ( edict_t * ent ) ;
extern void SP_target_monitor ( edict_t * self ) ;
extern void use_target_monitor ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_monitor_move ( edict_t * self ) ;
extern void target_monitor_off ( edict_t * self ) ;
extern void SP_target_attractor ( edict_t * self ) ;
extern void use_target_attractor ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_attractor_think ( edict_t * self ) ;
extern void target_attractor_think_single ( edict_t * self ) ;
extern void SP_target_clone ( edict_t * self ) ;
extern void target_clone_use ( edict_t * self , edict_t * activator , edict_t * other ) ;
extern void clone ( edict_t * self ) ;
extern void SP_target_rocks ( edict_t * self ) ;
extern void target_rocks_use ( edict_t * self , edict_t * activator , edict_t * other ) ;
extern void ThrowRock ( edict_t * self , char * modelname , float speed , vec3_t origin , vec3_t size , int mass ) ;
extern void SP_target_fade ( edict_t * self ) ;
extern void use_target_fade ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_sky ( edict_t * self ) ;
extern void target_sky_use ( edict_t * self , edict_t * activator , edict_t * other ) ;
extern void SP_target_skill ( edict_t * self ) ;
extern void use_target_skill ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_cd ( edict_t * self ) ;
extern void target_cd_use ( edict_t * self , edict_t * activator , edict_t * other ) ;
extern void SP_target_rotation ( edict_t * self ) ;
extern void target_rotation_use ( edict_t * self , edict_t * activator , edict_t * other ) ;
extern void SP_target_change ( edict_t * self ) ;
extern void target_change_use ( edict_t * self , edict_t * activator , edict_t * other ) ;
extern void SP_target_movewith ( edict_t * self ) ;
extern void target_movewith_use ( edict_t * self , edict_t * activator , edict_t * other ) ;
extern void SP_target_effect ( edict_t * self ) ;
extern void target_effect_think ( edict_t * self ) ;
extern void target_effect_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_effect_widowbeam ( edict_t * self , edict_t * activator ) ;
extern void target_effect_tunnel_sparks ( edict_t * self , edict_t * activator ) ;
extern void target_effect_explosion ( edict_t * self , edict_t * activator ) ;
extern void target_effect_sparks ( edict_t * self , edict_t * activator ) ;
extern void target_effect_lightning ( edict_t * self , edict_t * activator ) ;
extern void target_effect_trail ( edict_t * self , edict_t * activator ) ;
extern void target_effect_splash ( edict_t * self , edict_t * activator ) ;
extern void target_effect_steam ( edict_t * self , edict_t * activator ) ;
extern void target_effect_at ( edict_t * self , edict_t * activator ) ;
extern void SP_target_global_text ( edict_t * self ) ;
extern void target_global_text_use ( edict_t * self , edict_t * activator , edict_t * other ) ;
extern void SP_target_set_effect ( edict_t * self ) ;
extern void target_set_effect_use ( edict_t * self , edict_t * activator , edict_t * other ) ;
extern void SP_target_command ( edict_t * self ) ;
extern void target_command_use ( edict_t * self , edict_t * activator , edict_t * other ) ;
extern void SP_target_monsterbattle ( edict_t * self ) ;
extern void use_target_monsterbattle ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_earthquake ( edict_t * self ) ;
extern void target_earthquake_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_earthquake_think ( edict_t * self ) ;
extern void SP_target_lightramp ( edict_t * self ) ;
extern void target_lightramp_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_lightramp_think ( edict_t * self ) ;
extern void SP_target_mal_laser ( edict_t * self ) ;
extern void target_mal_laser_start ( edict_t * self ) ;
extern void mal_laser_think ( edict_t * self ) ;
extern void target_mal_laser_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_mal_laser_off ( edict_t * self ) ;
extern void target_mal_laser_on ( edict_t * self ) ;
extern void old_target_laser_think ( edict_t * self ) ;
extern void SP_target_laser ( edict_t * self ) ;
extern void target_laser_start ( edict_t * self ) ;
extern void target_laser_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_laser_off ( edict_t * self ) ;
extern void target_laser_on ( edict_t * self ) ;
extern void target_laser_think ( edict_t * self ) ;
extern void target_laser_ps_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_laser_ps_off ( edict_t * self ) ;
extern void target_laser_ps_on ( edict_t * self ) ;
extern void target_laser_ps_think ( edict_t * self ) ;
extern void SP_target_crosslevel_target ( edict_t * self ) ;
extern void target_crosslevel_target_think ( edict_t * self ) ;
extern void SP_target_crosslevel_trigger ( edict_t * self ) ;
extern void trigger_crosslevel_trigger_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_blaster ( edict_t * self ) ;
extern void target_blaster_init ( edict_t * self ) ;
extern void toggle_target_blaster ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void find_target_blaster_target ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_blaster_think ( edict_t * self ) ;
extern void use_target_blaster ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_spawner ( edict_t * self ) ;
extern void use_target_spawner ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_splash ( edict_t * self ) ;
extern void use_target_splash ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_changelevel ( edict_t * ent ) ;
extern void use_target_changelevel ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_explosion ( edict_t * ent ) ;
extern void use_target_explosion ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_explosion_explode ( edict_t * self ) ;
extern void SP_target_goal ( edict_t * ent ) ;
extern void use_target_goal ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void SP_target_secret ( edict_t * ent ) ;
extern void use_target_secret ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void SP_target_help ( edict_t * ent ) ;
extern void Use_Target_Help ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void SP_target_speaker ( edict_t * ent ) ;
extern void Use_Target_Speaker ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void SP_target_temp_entity ( edict_t * ent ) ;
extern void Use_Target_Tent ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void ServerCommand ( void ) ;
extern void SVCmd_WriteIP_f ( void ) ;
extern void SVCmd_ListIP_f ( void ) ;
extern void SVCmd_RemoveIP_f ( void ) ;
extern void SVCmd_AddIP_f ( void ) ;
extern qboolean SV_FilterPacket ( char * from ) ;
extern void Svcmd_Test_f ( void ) ;
extern void Vengeance_Launch ( edict_t * self ) ;
extern void Hunter_Launch ( edict_t * self ) ;
extern void Defender_Launch ( edict_t * self ) ;
extern void Own_Sphere ( edict_t * self , edict_t * sphere ) ;
extern edict_t * Sphere_Spawn ( edict_t * owner , int spawnflags ) ;
extern void vengeance_think ( edict_t * self ) ;
extern void hunter_think ( edict_t * self ) ;
extern void defender_think ( edict_t * self ) ;
extern void vengeance_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void defender_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void hunter_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void body_gib ( edict_t * self ) ;
extern void defender_shoot ( edict_t * self , edict_t * enemy ) ;
extern void hunter_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void vengeance_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void sphere_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf , int mod ) ;
extern void sphere_fire ( edict_t * self , edict_t * enemy ) ;
extern void sphere_chase ( edict_t * self , int stupidChase ) ;
extern void sphere_fly ( edict_t * self ) ;
extern void sphere_if_idle_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void sphere_explode ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void sphere_think_explode ( edict_t * self ) ;
extern void Cmd_ToggleHud ( ) ;
extern void Hud_Off ( ) ;
extern void Hud_On ( ) ;
extern void Widowlegs_Spawn ( vec3_t startpos , vec3_t angles ) ;
extern void widowlegs_think ( edict_t * self ) ;
extern void SpawnGrow_Spawn ( vec3_t startpos , int size ) ;
extern void spawngrow_think ( edict_t * self ) ;
extern void DetermineBBox ( char * classname , vec3_t mins , vec3_t maxs ) ;
extern qboolean CheckGroundSpawnPoint ( vec3_t origin , vec3_t entMins , vec3_t entMaxs , float height , float gravity ) ;
extern qboolean CheckSpawnPoint ( vec3_t origin , vec3_t mins , vec3_t maxs ) ;
extern qboolean FindSpawnPoint ( vec3_t startpoint , vec3_t mins , vec3_t maxs , vec3_t spawnpoint , float maxMoveUp ) ;
extern edict_t * CreateGroundMonster ( vec3_t origin , vec3_t angles , vec3_t entMins , vec3_t entMaxs , char * classname , int height ) ;
extern edict_t * CreateFlyMonster ( vec3_t origin , vec3_t angles , vec3_t mins , vec3_t maxs , char * classname ) ;
extern edict_t * CreateMonster ( vec3_t origin , vec3_t angles , char * classname ) ;
extern void SP_worldspawn ( edict_t * ent ) ;
extern void SpawnEntities ( char * mapname , char * entities , char * spawnpoint ) ;
extern void LoadTransitionEnts ( void ) ;
extern void G_FindTeams ( void ) ;
extern void G_FixTeams ( void ) ;
extern char * ED_ParseEdict ( char * data , edict_t * ent ) ;
extern qboolean ED_ParseEntityAlias ( char * data , edict_t * ent ) ;
extern void LoadAliasData ( void ) ;
extern qboolean LoadAliasFile ( char * name ) ;
extern char * ReadTextFile ( char * filename , int * size ) ;
extern void ED_ParseField ( char * key , char * value , edict_t * ent ) ;
extern char * ED_NewString ( char * string ) ;
extern void ReInitialize_Entity ( edict_t * ent ) ;
extern void ED_CallSpawn ( edict_t * ent ) ;
extern void SP_target_playback ( edict_t * ent ) ;
extern void target_playback_delayed_restart ( edict_t * ent ) ;
extern void target_playback_delayed_start ( edict_t * ent ) ;
extern void Use_Target_Playback ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern qboolean FMOD_IsPlaying ( edict_t * ent ) ;
extern void target_playback_fadein ( edict_t * ent ) ;
extern void target_playback_fadeout ( edict_t * ent ) ;
extern void target_playback_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void FMOD_StopSound ( edict_t * ent , qboolean free ) ;
extern int FMOD_PlaySound ( edict_t * ent ) ;
extern void CheckEndSample ( edict_t * ent ) ;
extern void CheckEndMusic ( edict_t * ent ) ;
extern void FMOD_Stop ( ) ;
extern void FMOD_UpdateSpeakerPos ( edict_t * speaker ) ;
extern void FMOD_UpdateListenerPos ( ) ;
extern void FMOD_Shutdown ( ) ;
extern qboolean FMOD_Init ( ) ;
extern void ReadLevel ( char * filename ) ;
extern void WriteLevel ( char * filename ) ;
extern void ReadLevelLocals ( FILE * f ) ;
extern void ReadEdict ( FILE * f , edict_t * ent ) ;
extern void WriteLevelLocals ( FILE * f ) ;
extern void WriteEdict ( FILE * f , edict_t * ent ) ;
extern void ReadGame ( char * filename ) ;
extern void WriteGame ( char * filename , qboolean autosave ) ;
extern void ReadClient ( FILE * f , gclient_t * client ) ;
extern void WriteClient ( FILE * f , gclient_t * client ) ;
extern void ReadField ( FILE * f , field_t * field , byte * base ) ;
extern void WriteField2 ( FILE * f , field_t * field , byte * base ) ;
extern void WriteField1 ( FILE * f , field_t * field , byte * base ) ;
extern mmove_t * FindMmoveByName ( char * name ) ;
extern mmoveList_t * GetMmoveByAddress ( mmove_t * adr ) ;
extern byte * FindFunctionByName ( char * name ) ;
extern functionList_t * GetFunctionByAddress ( byte * adr ) ;
extern void InitGame ( void ) ;
extern void SP_func_reflect ( edict_t * self ) ;
extern void use_func_reflect ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void AddReflection ( edict_t * ent ) ;
extern void DeleteReflection ( edict_t * ent , int index ) ;
extern void ReflectWeldingSparks ( byte count , byte color , vec3_t origin , vec3_t movedir ) ;
extern void ReflectSparks ( int type , vec3_t origin , vec3_t movedir ) ;
extern void ReflectSteam ( vec3_t origin , vec3_t movedir , int count , int sounds , int speed , int wait , int nextid ) ;
extern void ReflectHeatBeam ( int te_beam , edict_t * srcEnt , vec3_t start , vec3_t end ) ;
extern void ReflectLightning ( edict_t * srcEnt , edict_t * dstEnt , vec3_t start , vec3_t end ) ;
extern void ReflectTrail ( int type , vec3_t start , vec3_t end ) ;
extern void ReflectExplosion ( int type , vec3_t origin ) ;
extern void SV_Physics_NewToss ( edict_t * ent ) ;
extern void G_RunEntity ( edict_t * ent ) ;
extern void SV_Physics_Ride ( edict_t * ent ) ;
extern void adjustRiders ( edict_t * ent ) ;
extern void SV_Physics_FallFloat ( edict_t * ent ) ;
extern void SV_Physics_Conveyor ( edict_t * ent ) ;
extern void SV_Physics_Debris ( edict_t * ent ) ;
extern trace_t SV_DebrisEntity ( edict_t * ent , vec3_t push ) ;
extern void SV_Physics_Vehicle ( edict_t * ent ) ;
extern int SV_VehicleMove ( edict_t * ent , float time , int mask ) ;
extern void SV_Physics_Step ( edict_t * ent ) ;
extern float RiderMass ( edict_t * platform ) ;
extern void SV_AddRotationalFriction ( edict_t * ent ) ;
extern void SV_Physics_Toss ( edict_t * ent ) ;
extern void SV_Physics_Noclip ( edict_t * ent ) ;
extern void SV_Physics_None ( edict_t * ent ) ;
extern void SV_Physics_Pusher ( edict_t * ent ) ;
extern qboolean SV_Push ( edict_t * pusher , vec3_t move , vec3_t amove ) ;
extern void RealBoundingBox ( edict_t * ent , vec3_t mins , vec3_t maxs ) ;
extern void MoveRiders ( edict_t * platform , edict_t * ignore , vec3_t move , vec3_t amove , qboolean turn ) ;
extern trace_t SV_PushEntity ( edict_t * ent , vec3_t push ) ;
extern void SV_AddGravity ( edict_t * ent ) ;
extern int SV_PushableMove ( edict_t * ent , float time , int mask ) ;
extern int SV_FlyMove ( edict_t * ent , float time , int mask ) ;
extern int ClipVelocity ( vec3_t in , vec3_t normal , vec3_t out , float overbounce ) ;
extern void SV_Impact ( edict_t * e1 , trace_t * trace ) ;
extern qboolean SV_RunThink ( edict_t * ent ) ;
extern void SV_CheckVelocity ( edict_t * ent ) ;
extern edict_t * SV_TestEntityPosition ( edict_t * ent ) ;
extern void other_FallingDamage ( edict_t * ent ) ;
extern void SP_func_pendulum ( edict_t * ent ) ;
extern void pendulum_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void pendulum_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void pendulum_rotate ( edict_t * self ) ;
extern void pendulum_blocked ( edict_t * self , edict_t * other ) ;
extern int PatchPlayerModels ( char * modelname ) ;
extern void SP_tracker ( edict_t * tracker ) ;
extern void tracker_delayed_start ( edict_t * tracker ) ;
extern void fire_tracker ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , edict_t * enemy ) ;
extern void tracker_fly ( edict_t * self ) ;
extern void tracker_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void tracker_explode ( edict_t * self , cplane_t * plane ) ;
extern void tracker_pain_daemon_spawn ( edict_t * owner , edict_t * enemy , int damage ) ;
extern void tracker_pain_daemon_think ( edict_t * self ) ;
extern void SP_bolt2 ( edict_t * bolt ) ;
extern void bolt2_delayed_start ( edict_t * bolt ) ;
extern void fire_blaster2 ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int effect , qboolean hyper ) ;
extern void blaster2_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void fire_heat ( edict_t * self , vec3_t start , vec3_t aimdir , vec3_t offset , int damage , int kick , qboolean monster ) ;
extern void fire_beams ( edict_t * self , vec3_t start , vec3_t aimdir , vec3_t offset , int damage , int kick , int te_beam , int te_impact , int mod ) ;
extern void SP_tesla ( edict_t * tesla ) ;
extern void tesla_delayed_start ( edict_t * tesla ) ;
extern void fire_tesla ( edict_t * self , vec3_t start , vec3_t aimdir , int damage_multiplier , int speed ) ;
extern void tesla_lava ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void tesla_think ( edict_t * ent ) ;
extern void tesla_activate ( edict_t * self ) ;
extern void tesla_think_active ( edict_t * self ) ;
extern void tesla_zap ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void tesla_blow ( edict_t * self ) ;
extern void tesla_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void tesla_remove ( edict_t * self ) ;
extern void fire_nbomb ( edict_t * self , vec3_t start , vec3_t aimdir , int speed ) ;
extern void nbomb_bounce ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Nbomb_Think ( edict_t * ent ) ;
extern void nbomb_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void Nbomb_Explode ( edict_t * ent ) ;
extern void Nbomb_Quake ( edict_t * self ) ;
extern void fire_nuke ( edict_t * self , vec3_t start , vec3_t aimdir , int speed ) ;
extern void nuke_bounce ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Nuke_Think ( edict_t * ent ) ;
extern void nuke_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void Nuke_Explode ( edict_t * ent ) ;
extern void Nuke_Quake ( edict_t * self ) ;
extern void fire_player_melee ( edict_t * self , vec3_t start , vec3_t aim , int reach , int damage , int kick , int quiet , int mod ) ;
extern void SP_prox ( edict_t * prox ) ;
extern void prox_delayed_start ( edict_t * prox ) ;
extern void Cmd_DetProx_f ( edict_t * ent ) ;
extern void fire_prox ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int damage_multiplier , int speed , int health , float timer , float damage_radius ) ;
extern void prox_land ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void prox_open ( edict_t * ent ) ;
extern void prox_seek ( edict_t * ent ) ;
extern void Prox_Field_Touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void prox_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void Prox_Explode ( edict_t * ent ) ;
extern void prox_movewith_host ( edict_t * self ) ;
extern edict_t * CheckForProxField ( edict_t * ent ) ;
extern void SP_flechette ( edict_t * flechette ) ;
extern void flechette_delayed_start ( edict_t * flechette ) ;
extern void fire_flechette ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , float damage_radius , int radius_damage ) ;
extern void flechette_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void VerifyTarget ( edict_t * self ) ;
extern void SP_trigger_disguise ( edict_t * self ) ;
extern void trigger_disguise_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trigger_disguise_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_trigger_teleport ( edict_t * self ) ;
extern void trigger_teleport_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trigger_teleport_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_info_teleport_destination ( edict_t * self ) ;
extern void SP_target_orb ( edict_t * ent ) ;
extern void orb_think ( edict_t * self ) ;
extern void SP_target_blacklight ( edict_t * ent ) ;
extern void blacklight_think ( edict_t * self ) ;
extern void SP_target_killplayers ( edict_t * self ) ;
extern void target_killplayers_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_anger ( edict_t * self ) ;
extern void target_anger_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_steam ( edict_t * self ) ;
extern void target_steam_start ( edict_t * self ) ;
extern void use_target_steam ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_func_dm_wall ( edict_t * self ) ;
extern void SP_func_force_wall ( edict_t * ent ) ;
extern void force_wall_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void force_wall_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void force_wall_think ( edict_t * self ) ;
extern void SP_func_door_secret2 ( edict_t * ent ) ;
extern void secret_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void secret_blocked ( edict_t * self , edict_t * other ) ;
extern void fd_secret_done ( edict_t * self ) ;
extern void fd_secret_move6 ( edict_t * self ) ;
extern void fd_secret_move5 ( edict_t * self ) ;
extern void fd_secret_move4 ( edict_t * self ) ;
extern void fd_secret_move3 ( edict_t * self ) ;
extern void fd_secret_move2 ( edict_t * self ) ;
extern void fd_secret_move1 ( edict_t * self ) ;
extern void fd_secret_killed ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void fd_secret_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void fire_doppleganger ( edict_t * ent , vec3_t start , vec3_t aimdir ) ;
extern void body_think ( edict_t * self ) ;
extern void doppleganger_timeout ( edict_t * self ) ;
extern void doppleganger_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void doppleganger_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void PrecacheForRandomRespawn ( void ) ;
extern edict_t * DoRandomRespawn ( edict_t * ent ) ;
extern char * FindSubstituteItem ( edict_t * ent ) ;
extern void InitGameRules ( void ) ;
extern qboolean monster_jump_finished ( edict_t * self ) ;
extern void monster_jump_start ( edict_t * self ) ;
extern int CountPlayers ( void ) ;
extern edict_t * PickCoopTarget ( edict_t * self ) ;
extern void TargetTesla ( edict_t * self , edict_t * tesla ) ;
extern qboolean has_valid_enemy ( edict_t * self ) ;
extern void monster_duck_up ( edict_t * self ) ;
extern void monster_duck_hold ( edict_t * self ) ;
extern void monster_duck_down ( edict_t * self ) ;
extern void M_MonsterDodge ( edict_t * self , edict_t * attacker , float eta , trace_t * tr ) ;
extern void drawbbox ( edict_t * self ) ;
extern qboolean below ( edict_t * self , edict_t * other ) ;
extern void PredictAim ( edict_t * target , vec3_t start , float bolt_speed , qboolean eye_height , float offset , vec3_t aimdir , vec3_t aimpoint ) ;
extern qboolean MarkTeslaArea ( edict_t * self , edict_t * tesla ) ;
extern edict_t * CheckForBadArea ( edict_t * ent ) ;
extern edict_t * SpawnBadArea ( vec3_t mins , vec3_t maxs , float lifespan , edict_t * owner ) ;
extern void badarea_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern qboolean face_wall ( edict_t * self ) ;
extern float realrange ( edict_t * self , edict_t * other ) ;
extern qboolean inback ( edict_t * self , edict_t * other ) ;
extern void InitHintPaths ( void ) ;
extern void SP_hint_path ( edict_t * self ) ;
extern void hint_path_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern qboolean monsterlost_checkhint ( edict_t * self ) ;
extern void hintpath_stop ( edict_t * self ) ;
extern void hintpath_go ( edict_t * self , edict_t * point ) ;
extern edict_t * hintpath_other_end ( edict_t * ent ) ;
extern edict_t * hintpath_findstart ( edict_t * ent ) ;
extern qboolean blocked_checknewenemy ( edict_t * self ) ;
extern qboolean blocked_checkjump ( edict_t * self , float dist , float maxDown , float maxUp ) ;
extern qboolean blocked_checkplat ( edict_t * self , float dist ) ;
extern qboolean blocked_checkshot ( edict_t * self , float shotChance ) ;
extern int HintTestStart ( edict_t * self ) ;
extern void HintTestNext ( edict_t * self , edict_t * hint ) ;
extern int PatchMonsterModel ( char * modelname ) ;
extern void InitiallyDead ( edict_t * self ) ;
extern void monster_done_dodge ( edict_t * self ) ;
extern void stationarymonster_start ( edict_t * self ) ;
extern void stationarymonster_start_go ( edict_t * self ) ;
extern void stationarymonster_triggered_start ( edict_t * self ) ;
extern void stationarymonster_triggered_spawn_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void stationarymonster_triggered_spawn ( edict_t * self ) ;
extern void swimmonster_start ( edict_t * self ) ;
extern void swimmonster_start_go ( edict_t * self ) ;
extern void flymonster_start ( edict_t * self ) ;
extern void flymonster_start_go ( edict_t * self ) ;
extern void walkmonster_start ( edict_t * self ) ;
extern void walkmonster_start_go ( edict_t * self ) ;
extern void monster_start_go ( edict_t * self ) ;
extern qboolean monster_start ( edict_t * self ) ;
extern void monster_death_use ( edict_t * self ) ;
extern void monster_triggered_start ( edict_t * self ) ;
extern void monster_triggered_spawn_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void monster_triggered_spawn ( edict_t * self ) ;
extern void monster_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void deadmonster_think ( edict_t * self ) ;
extern void monster_think ( edict_t * self ) ;
extern void M_MoveFrame ( edict_t * self ) ;
extern void M_SetEffects ( edict_t * ent ) ;
extern void M_droptofloor ( edict_t * ent ) ;
extern void M_WorldEffects ( edict_t * ent ) ;
extern void M_CatagorizePosition ( edict_t * ent ) ;
extern void M_CheckGround ( edict_t * ent ) ;
extern void AttackFinished ( edict_t * self , float time ) ;
extern void M_FlyCheck ( edict_t * self ) ;
extern void M_FliesOn ( edict_t * self ) ;
extern void M_FliesOff ( edict_t * self ) ;
extern void monster_fire_plasma_rifle ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int flashtype , qboolean spread ) ;
extern void monster_fire_prox ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int damage_multiplier , int speed , int health , float timer , float damage_radius , int flashtype ) ;
extern void monster_fire_flechette ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , float damage_radius , int radius_damage , int flashtype ) ;
extern void monster_fire_heat ( edict_t * self , vec3_t start , vec3_t dir , vec3_t offset , int damage , int kick , int flashtype ) ;
extern void monster_fire_tracker ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , edict_t * enemy , int flashtype ) ;
extern void monster_fire_blaster2 ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int flashtype , int effect ) ;
extern void monster_fire_phalanx ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , float damage_radius , int radius_damage , int flashtype ) ;
extern void monster_fire_dabeam ( edict_t * self ) ;
extern void dabeam_hit ( edict_t * self ) ;
extern void monster_fire_rocket_heat ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int flashtype ) ;
extern void monster_fire_ionripper ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int flashtype , int effect ) ;
extern void monster_fire_blueblaster ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int flashtype , int effect ) ;
extern void monster_fire_bfg ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed , int kick , float damage_radius , int flashtype ) ;
extern void monster_fire_railgun ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int kick , int flashtype ) ;
extern void monster_fire_missile ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int flashtype , edict_t * homing_target ) ;
extern void monster_fire_rocket ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int flashtype , edict_t * homing_target ) ;
extern void monster_fire_grenade ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed , int flashtype , qboolean contact ) ;
extern void monster_fire_blaster ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , int flashtype , int effect , int color ) ;
extern void monster_fire_shotgun ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int kick , int hspread , int vspread , int count , int flashtype ) ;
extern void monster_fire_bullet ( edict_t * self , vec3_t start , vec3_t dir , int damage , int kick , int hspread , int vspread , int flashtype ) ;
extern qboolean M_SetDeath ( edict_t * self , mmove_t * * deathmoves ) ;
extern void FadeDieSink ( edict_t * ent ) ;
extern void FadeSink ( edict_t * ent ) ;
extern void SP_model_train_origin ( edict_t * self ) ;
extern void SP_model_train ( edict_t * self ) ;
extern void model_train_animator ( edict_t * animator ) ;
extern void SP_model_spawn ( edict_t * ent ) ;
extern void model_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void model_spawn_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void modelspawn_think ( edict_t * self ) ;
extern void SP_misc_q1_fireball ( edict_t * self ) ;
extern void q1_fireball_fly ( edict_t * self ) ;
extern void q1_fireball_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_misc_q1_explobox ( edict_t * self ) ;
extern void q1_explobox_delay ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void q1_barrel_explode ( edict_t * self ) ;
extern void SP_target_q1_trap ( edict_t * self ) ;
extern void q1_use_target_trapshooter ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_misc_q1_torch ( edict_t * ent ) ;
extern void q1_torch_think ( edict_t * self ) ;
extern void SP_misc_q1_large_flame ( edict_t * ent ) ;
extern void q1_large_flame_think ( edict_t * self ) ;
extern void SP_misc_q1_small_flame ( edict_t * ent ) ;
extern void q1_small_flame_think ( edict_t * self ) ;
extern void SP_misc_q1_globe ( edict_t * self ) ;
extern void SP_misc_q1_air_bubbles ( edict_t * self ) ;
extern void make_bubbles ( edict_t * self ) ;
extern void bubble_bob ( edict_t * bubble ) ;
extern void bubble_split ( edict_t * bubble ) ;
extern void bubble_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_misc_q1_zombie_crucified ( edict_t * self ) ;
extern void misc_zombie_crucified_think ( edict_t * self ) ;
extern void SP_monster_coco_monkey ( edict_t * self ) ;
extern void monster_coco_monkey_think ( edict_t * self ) ;
extern void SP_light_flame2s ( edict_t * self ) ;
extern void SP_light_flame2 ( edict_t * self ) ;
extern void SP_light_flame1s ( edict_t * self ) ;
extern void SP_light_flame1 ( edict_t * self ) ;
extern void light_flame_spawn ( edict_t * self ) ;
extern void light_flame_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern int PatchDeadSoldier ( void ) ;
extern void SP_target_fountain ( edict_t * ent ) ;
extern void target_fountain_delayed_use ( edict_t * self ) ;
extern void target_fountain_use ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void target_fountain_think ( edict_t * self ) ;
extern void SP_target_precipitation ( edict_t * ent ) ;
extern void target_precipitation_delayed_use ( edict_t * self ) ;
extern void target_precipitation_use ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void target_precipitation_think ( edict_t * self ) ;
extern void spawn_precipitation ( edict_t * self , vec3_t org , vec3_t dir , float speed ) ;
extern void drop_touch ( edict_t * drop , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void leaf_fade ( edict_t * ent ) ;
extern void leaf_fade2 ( edict_t * ent ) ;
extern void drop_splash ( edict_t * drop ) ;
extern void drop_add_to_chain ( edict_t * drop ) ;
extern void SP_misc_light ( edict_t * self ) ;
extern void misc_light_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void misc_light_think ( edict_t * self ) ;
extern void SP_misc_gekk_writhe ( edict_t * self ) ;
extern void misc_gekk_writhe_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void misc_gekk_writhe_think ( edict_t * self ) ;
extern void SP_misc_sick_guard ( edict_t * self ) ;
extern void misc_sick_guard_think ( edict_t * ent ) ;
extern void SP_object_repair ( edict_t * ent ) ;
extern void object_repair_sparks ( edict_t * ent ) ;
extern void object_repair_dead ( edict_t * ent ) ;
extern void object_repair_fx ( edict_t * ent ) ;
extern void SP_rotating_light ( edict_t * self ) ;
extern void rotating_light_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void rotating_light_killed ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void rotating_light_alarm ( edict_t * self ) ;
extern void SP_misc_nuke ( edict_t * ent ) ;
extern void use_nuke ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_misc_nuke_core ( edict_t * ent ) ;
extern void misc_nuke_core_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_misc_amb4 ( edict_t * ent ) ;
extern void amb4_think ( edict_t * ent ) ;
extern void SP_misc_teleporter_dest ( edict_t * ent ) ;
extern void SP_trigger_teleporter_bbox ( edict_t * self ) ;
extern void SP_trigger_teleporter ( edict_t * self ) ;
extern void trigger_teleporter_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_misc_teleporter ( edict_t * ent ) ;
extern void teleporter_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void teleporter_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void teleport_transition_ents ( edict_t * transition , edict_t * teleporter , edict_t * destination ) ;
extern void SP_func_clock ( edict_t * self ) ;
extern void func_clock_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_clock_think ( edict_t * self ) ;
extern void func_clock_format_countdown ( edict_t * self ) ;
extern void func_clock_reset ( edict_t * self ) ;
extern void SP_target_string ( edict_t * self ) ;
extern void target_string_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_character ( edict_t * self ) ;
extern void SP_misc_gib_head ( edict_t * ent ) ;
extern void SP_misc_gib_leg ( edict_t * ent ) ;
extern void SP_misc_gib_arm ( edict_t * ent ) ;
extern void SP_light_mine2 ( edict_t * ent ) ;
extern void SP_light_mine1 ( edict_t * ent ) ;
extern void SP_misc_satellite_dish ( edict_t * ent ) ;
extern void misc_satellite_dish_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void misc_satellite_dish_think ( edict_t * self ) ;
extern void SP_misc_transport_origin ( edict_t * ent ) ;
extern void SP_misc_transport ( edict_t * ent ) ;
extern void SP_misc_strogg_ship_origin ( edict_t * ent ) ;
extern void SP_misc_strogg_ship ( edict_t * ent ) ;
extern void misc_strogg_ship_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void misc_strogg_ship_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void misc_strogg_ship_prethink ( edict_t * self ) ;
extern void misc_strogg_ship_explode ( edict_t * self ) ;
extern void misc_strogg_ship_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void misc_strogg_ship_remove ( edict_t * self ) ;
extern void SP_misc_viper_missile ( edict_t * self ) ;
extern void misc_viper_missile_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_misc_viper_bomb ( edict_t * self ) ;
extern void misc_viper_bomb_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void viper_bomb_think ( edict_t * self ) ;
extern void misc_viper_bomb_prethink ( edict_t * self ) ;
extern void misc_viper_bomb_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_misc_bigviper ( edict_t * ent ) ;
extern void SP_misc_crashviper_origin ( edict_t * ent ) ;
extern void SP_misc_crashviper ( edict_t * ent ) ;
extern void SP_misc_viper_origin ( edict_t * ent ) ;
extern void SP_misc_viper ( edict_t * ent ) ;
extern void misc_viper_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_misc_deadsoldier ( edict_t * ent ) ;
extern void misc_deadsoldier_flieson ( edict_t * self ) ;
extern void misc_deadsoldier_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void SP_misc_banner ( edict_t * ent ) ;
extern void misc_banner_think ( edict_t * ent ) ;
extern void SP_monster_commander_body ( edict_t * self ) ;
extern void commander_body_drop ( edict_t * self ) ;
extern void commander_body_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void commander_body_think ( edict_t * self ) ;
extern void SP_misc_easterchick2 ( edict_t * ent ) ;
extern void misc_easterchick2_think ( edict_t * self ) ;
extern void SP_misc_easterchick ( edict_t * ent ) ;
extern void misc_easterchick_think ( edict_t * self ) ;
extern void SP_misc_eastertank ( edict_t * ent ) ;
extern void misc_eastertank_think ( edict_t * self ) ;
extern void SP_misc_blackhole ( edict_t * ent ) ;
extern void misc_blackhole_think ( edict_t * self ) ;
extern void misc_blackhole_use ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void misc_blackhole_transparent ( edict_t * ent ) ;
extern void SP_misc_explobox ( edict_t * self ) ;
extern void barrel_start ( edict_t * self ) ;
extern void barrel_think ( edict_t * self ) ;
extern void barrel_delay ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void barrel_explode ( edict_t * self ) ;
extern void barrel_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_func_breakaway ( edict_t * self ) ;
extern void func_breakaway_activate ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_breakaway_spawn ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_breakaway_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void func_breakaway_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_breakaway_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void func_breakaway_fall ( edict_t * self ) ;
extern void func_breakaway_makesolid ( edict_t * self ) ;
extern void func_breakaway_think ( edict_t * self ) ;
extern void func_breakaway_hit ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void PrecacheDebris ( int type ) ;
extern void SP_func_explosive ( edict_t * self ) ;
extern void func_explosive_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void func_explosive_spawn ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_explosive_activate ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_explosive_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_explosive_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void func_explosive_explode ( edict_t * self ) ;
extern void func_explosive_respawn ( edict_t * self ) ;
extern void SP_func_object ( edict_t * self ) ;
extern void func_object_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_object_release ( edict_t * self ) ;
extern void func_object_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_func_wall ( edict_t * self ) ;
extern void func_wall_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_light ( edict_t * self ) ;
extern void light_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_info_notnull ( edict_t * self ) ;
extern void SP_info_null ( edict_t * self ) ;
extern void SP_viewthing ( edict_t * ent ) ;
extern void TH_viewthing ( edict_t * ent ) ;
extern void SP_point_combat ( edict_t * self ) ;
extern void point_combat_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void SP_path_corner ( edict_t * self ) ;
extern void path_corner_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void BecomeExplosion3 ( edict_t * self ) ;
extern void BecomeExplosion2 ( edict_t * self ) ;
extern void BecomeExplosion1 ( edict_t * self ) ;
extern void SP_debris ( edict_t * debris ) ;
extern void debris_delayed_start ( edict_t * debris ) ;
extern void ThrowDebris ( edict_t * self , char * modelname , float speed , vec3_t origin , int frame , int skin , int effects ) ;
extern void debris_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void ThrowClientHead ( edict_t * self , int damage ) ;
extern void SP_gibhead ( edict_t * gib ) ;
extern void ThrowHead ( edict_t * self , char * gibname , int frame , int skinnum , int damage , int type ) ;
extern void SP_gib ( edict_t * gib ) ;
extern void gib_delayed_start ( edict_t * gib ) ;
extern void ThrowGib ( edict_t * self , char * gibname , int frame , int skinnum , int damage , int type ) ;
extern void gib_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void gib_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void gib_think ( edict_t * self ) ;
extern void gib_fade2 ( edict_t * self ) ;
extern void gib_fade ( edict_t * self ) ;
extern void ClipGibVelocity ( edict_t * ent ) ;
extern void VelocityForDamage ( int damage , vec3_t v ) ;
extern void SP_func_areaportal ( edict_t * ent ) ;
extern void Use_Areaportal ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void Cmd_Trigger_f ( edict_t * ent ) ;
extern void SP_light_flame ( edict_t * self ) ;
extern void bigflame_think ( edict_t * self ) ;
extern void smallflame_think ( edict_t * self ) ;
extern void SP_light_torch ( edict_t * self ) ;
extern void torch_think ( edict_t * self ) ;
extern void G_RunFrame ( void ) ;
extern void ExitLevel ( void ) ;
extern void CheckDMRules ( void ) ;
extern void EndDMLevel ( void ) ;
extern edict_t * CreateTargetChangeLevel ( char * map ) ;
extern void ClientEndServerFrames ( void ) ;
extern void Com_Printf ( char * msg , ... ) ;
extern void Sys_Error ( char * error , ... ) ;
extern game_export_t * GetGameAPI ( game_import_t * import ) ;
extern int Debug_Soundindex ( char * name ) ;
extern int Debug_Modelindex ( char * name ) ;
extern void ShutdownGame ( void ) ;
extern void SP_target_lock_clue ( edict_t * self ) ;
extern void lock_clue_initialize ( edict_t * self ) ;
extern void lock_clue_think ( edict_t * self ) ;
extern void lock_clue_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_lock_code ( edict_t * self ) ;
extern void lock_code_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_lock ( edict_t * self ) ;
extern void lock_initialize ( edict_t * lock ) ;
extern void lock_digit_increment ( edict_t * digit , edict_t * activator ) ;
extern void target_lock_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_lock_digit ( edict_t * self ) ;
extern void SP_target_lightswitch ( edict_t * self ) ;
extern void use_target_lightswitch ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_lightswitch_toggle ( edict_t * self ) ;
extern void ToggleLights ( void ) ;
extern void Lights ( void ) ;
extern void Jet_ApplyJet ( edict_t * ent , usercmd_t * ucmd ) ;
extern void Jet_ApplySparks ( edict_t * ent ) ;
extern void Jet_ApplyLifting ( edict_t * ent ) ;
extern void Jet_BecomeExplosion ( edict_t * ent , int damage ) ;
extern qboolean Jet_AvoidGround ( edict_t * ent ) ;
extern void SP_xatrix_item ( edict_t * self ) ;
extern void Use_Stasis ( edict_t * ent , gitem_t * item ) ;
extern void Use_Jet ( edict_t * ent , gitem_t * item ) ;
extern void SetItemNames ( void ) ;
extern void InitItems ( void ) ;
extern void SP_item_foodcube ( edict_t * self ) ;
extern void SP_item_health_mega ( edict_t * self ) ;
extern void SP_item_health_large ( edict_t * self ) ;
extern void SP_item_health_small ( edict_t * self ) ;
extern void SP_item_health ( edict_t * self ) ;
extern void SpawnItem ( edict_t * ent , gitem_t * item ) ;
extern void SetTriggeredSpawn ( edict_t * ent ) ;
extern void Item_TriggeredSpawn ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void PrecacheItem ( gitem_t * it ) ;
extern void droptofloor ( edict_t * ent ) ;
extern void Use_Item ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern edict_t * Drop_Q1Backpack ( edict_t * ent , gitem_t * item , int count ) ;
extern edict_t * Drop_Item ( edict_t * ent , gitem_t * item ) ;
extern void Item_Die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void drop_make_touchable ( edict_t * ent ) ;
extern void drop_temp_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Touch_Q1Backpack ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Touch_Item ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Drop_Visor ( edict_t * ent , gitem_t * item ) ;
extern qboolean Pickup_Visor ( edict_t * ent , edict_t * other ) ;
extern qboolean Pickup_PlasmaShield ( edict_t * ent , edict_t * other ) ;
extern void Drop_PowerArmor ( edict_t * ent , gitem_t * item ) ;
extern qboolean Pickup_PowerArmor ( edict_t * ent , edict_t * other ) ;
extern void Use_PowerArmor ( edict_t * ent , gitem_t * item ) ;
extern int PowerArmorType ( edict_t * ent ) ;
extern qboolean Pickup_Armor ( edict_t * ent , edict_t * other ) ;
extern int ArmorIndex ( edict_t * ent ) ;
extern qboolean Pickup_Health ( edict_t * ent , edict_t * other ) ;
extern void MegaHealth_think ( edict_t * self ) ;
extern void Drop_Ammo ( edict_t * ent , gitem_t * item ) ;
extern qboolean Pickup_Ammo ( edict_t * ent , edict_t * other ) ;
extern void SetAmmoPickupValues ( void ) ;
extern qboolean Add_Ammo ( edict_t * ent , gitem_t * item , int count ) ;
extern qboolean Pickup_Key ( edict_t * ent , edict_t * other ) ;
extern void Use_Silencer ( edict_t * ent , gitem_t * item ) ;
extern void Use_Invulnerability ( edict_t * ent , gitem_t * item ) ;
extern void Use_Envirosuit ( edict_t * ent , gitem_t * item ) ;
extern void Use_Breather ( edict_t * ent , gitem_t * item ) ;
extern void Use_QuadFire ( edict_t * ent , gitem_t * item ) ;
extern void Use_Quad ( edict_t * ent , gitem_t * item ) ;
extern void Use_Vengeance ( edict_t * ent , gitem_t * item ) ;
extern void Use_Hunter ( edict_t * ent , gitem_t * item ) ;
extern void Use_Defender ( edict_t * ent , gitem_t * item ) ;
extern qboolean Pickup_Sphere ( edict_t * ent , edict_t * other ) ;
extern qboolean Pickup_Doppleganger ( edict_t * ent , edict_t * other ) ;
extern void Use_Doppleganger ( edict_t * ent , gitem_t * item ) ;
extern void Use_Nbomb ( edict_t * ent , gitem_t * item ) ;
extern void Use_Nuke ( edict_t * ent , gitem_t * item ) ;
extern void Use_Compass ( edict_t * ent , gitem_t * item ) ;
extern void Use_Flashlight ( edict_t * ent , gitem_t * item ) ;
extern void Use_Double ( edict_t * ent , gitem_t * item ) ;
extern void Use_IR ( edict_t * ent , gitem_t * item ) ;
extern qboolean Pickup_Nbomb ( edict_t * ent , edict_t * other ) ;
extern qboolean Pickup_Nuke ( edict_t * ent , edict_t * other ) ;
extern qboolean Pickup_Pack ( edict_t * ent , edict_t * other ) ;
extern qboolean Pickup_Bandolier ( edict_t * ent , edict_t * other ) ;
extern qboolean Pickup_AncientHead ( edict_t * ent , edict_t * other ) ;
extern qboolean Pickup_Adrenaline ( edict_t * ent , edict_t * other ) ;
extern void Drop_Jetpack ( edict_t * ent , gitem_t * item ) ;
extern void Drop_General ( edict_t * ent , gitem_t * item ) ;
extern qboolean Pickup_Powerup ( edict_t * ent , edict_t * other ) ;
extern void SetRespawn ( edict_t * ent , float delay ) ;
extern void DoRespawn ( edict_t * ent ) ;
extern gitem_t * FindItem ( char * pickup_name ) ;
extern gitem_t * FindItemByClassname ( char * classname ) ;
extern int GetMaxArmorByIndex ( int item_index ) ;
extern int GetMaxAmmoByIndex ( gclient_t * client , int item_index ) ;
extern gitem_t * GetItemByIndex ( int index ) ;
extern void SP_func_pivot ( edict_t * ent ) ;
extern void pivot_init ( edict_t * ent ) ;
extern void pivot_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void pivot_stop ( edict_t * ent ) ;
extern void pivot_blocked ( edict_t * self , edict_t * other ) ;
extern void SP_func_bobbingwater ( edict_t * self ) ;
extern void bob_init ( edict_t * self ) ;
extern void bob_think ( edict_t * self ) ;
extern void SP_func_door_swinging ( edict_t * self ) ;
extern void func_door_swinging_init ( edict_t * self ) ;
extern void swinging_door_killed ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void SP_func_pushable ( edict_t * self ) ;
extern void func_pushable_spawn ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void box_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void box_water_friction ( edict_t * ent ) ;
extern qboolean box_walkmove ( edict_t * ent , float yaw , float dist ) ;
extern void box_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void box_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern qboolean box_movestep ( edict_t * ent , vec3_t move , qboolean relink ) ;
extern void SP_func_killbox ( edict_t * ent ) ;
extern void use_killbox ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_func_door_secret ( edict_t * ent ) ;
extern void door_secret_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void door_secret_blocked ( edict_t * self , edict_t * other ) ;
extern void door_secret_done ( edict_t * self ) ;
extern void door_secret_move6 ( edict_t * self ) ;
extern void door_secret_move5 ( edict_t * self ) ;
extern void door_secret_move4 ( edict_t * self ) ;
extern void door_secret_move3 ( edict_t * self ) ;
extern void door_secret_move2 ( edict_t * self ) ;
extern void door_secret_move1 ( edict_t * self ) ;
extern void door_secret_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_func_conveyor ( edict_t * self ) ;
extern void func_conveyor_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_func_timer ( edict_t * self ) ;
extern void func_timer_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_timer_think ( edict_t * self ) ;
extern void SP_trigger_elevator ( edict_t * self ) ;
extern void trigger_elevator_init ( edict_t * self ) ;
extern void trigger_elevator_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_func_train_origin ( edict_t * self ) ;
extern void SP_func_train ( edict_t * self ) ;
extern void train_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void func_train_find ( edict_t * self ) ;
extern void train_resume ( edict_t * self ) ;
extern void train_next ( edict_t * self ) ;
extern void train_rotate ( edict_t * self ) ;
extern void train_children_think ( edict_t * self ) ;
extern void train_piece_wait ( edict_t * self ) ;
extern void train_wait ( edict_t * self ) ;
extern void train_blocked ( edict_t * self , edict_t * other ) ;
extern void fade_children2 ( edict_t * self ) ;
extern void fade_child ( edict_t * ent ) ;
extern void fade_children ( edict_t * self ) ;
extern void train_remove_children ( edict_t * self ) ;
extern void train_kill_children ( edict_t * self ) ;
extern void train_move_children ( edict_t * self ) ;
extern void train_move_prox ( edict_t * self ) ;
extern void SP_func_water ( edict_t * self ) ;
extern void smart_water_blocked ( edict_t * self , edict_t * other ) ;
extern void SP_func_door_rot_dh ( edict_t * ent ) ;
extern void func_door_rot_dh_init ( edict_t * ent ) ;
extern void SP_func_door_rotating ( edict_t * ent ) ;
extern void Door_Activate ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_func_door ( edict_t * ent ) ;
extern void door_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void door_killed ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void door_destroyed ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void door_blocked ( edict_t * self , edict_t * other ) ;
extern void Think_SpawnDoorTrigger ( edict_t * ent ) ;
extern void Think_CalcMoveSpeed ( edict_t * self ) ;
extern void Touch_DoorTrigger ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void door_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void door_openclose ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void smart_water_go_up ( edict_t * self ) ;
extern void door_go_up ( edict_t * self , edict_t * activator ) ;
extern void door_go_down ( edict_t * self ) ;
extern void door_hit_bottom ( edict_t * self ) ;
extern void door_hit_top ( edict_t * self ) ;
extern void swinging_door_reset ( edict_t * self ) ;
extern void door_use_areaportals ( edict_t * self , qboolean open ) ;
extern void SP_func_trainbutton ( edict_t * ent ) ;
extern void trainbutton_killed ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void trainbutton_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void trainbutton_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void trainbutton_fire ( edict_t * self ) ;
extern void trainbutton_wait ( edict_t * self ) ;
extern void trainbutton_return ( edict_t * self ) ;
extern void trainbutton_done ( edict_t * self ) ;
extern void SP_func_button ( edict_t * ent ) ;
extern void button_killed ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void button_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void button_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void button_fire ( edict_t * self ) ;
extern void button_wait ( edict_t * self ) ;
extern void button_return ( edict_t * self ) ;
extern void button_done ( edict_t * self ) ;
extern void SP_func_rotating_dh ( edict_t * ent ) ;
extern void func_rotating_dh_init ( edict_t * ent ) ;
extern void SP_func_rotating ( edict_t * ent ) ;
extern void rotating_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void rotating_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void rotating_blocked ( edict_t * self , edict_t * other ) ;
extern void rotating_decel ( edict_t * self ) ;
extern void rotating_accel ( edict_t * self ) ;
extern void SP_func_plat2 ( edict_t * ent ) ;
extern void plat2_activate ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void Use_Plat2 ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void plat2_blocked ( edict_t * self , edict_t * other ) ;
extern void Touch_Plat_Center2 ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void plat2_operate ( edict_t * ent , edict_t * other ) ;
extern void plat2_go_up ( edict_t * ent ) ;
extern void plat2_go_down ( edict_t * ent ) ;
extern void plat2_hit_bottom ( edict_t * ent ) ;
extern void plat2_hit_top ( edict_t * ent ) ;
extern void plat2_kill_danger_area ( edict_t * ent ) ;
extern void plat2_spawn_danger_area ( edict_t * ent ) ;
extern void SP_func_plat ( edict_t * ent ) ;
extern edict_t * plat_spawn_inside_trigger ( edict_t * ent ) ;
extern void Touch_Plat_Center ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void Use_Plat ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void plat_blocked ( edict_t * self , edict_t * other ) ;
extern void plat_go_up ( edict_t * ent ) ;
extern void plat_go_down ( edict_t * ent ) ;
extern void plat_hit_bottom ( edict_t * ent ) ;
extern void plat_hit_top ( edict_t * ent ) ;
extern void Think_AccelMove ( edict_t * ent ) ;
extern void plat_Accelerate ( moveinfo_t * moveinfo ) ;
extern void plat_CalcAcceleratedMove ( moveinfo_t * moveinfo ) ;
extern void AngleMove_Calc ( edict_t * ent , void ( * func ) ( edict_t * ) ) ;
extern void AngleMove_Begin ( edict_t * ent ) ;
extern void AngleMove_Final ( edict_t * ent ) ;
extern void AngleMove_Done ( edict_t * ent ) ;
extern void check_reverse_rotation ( edict_t * self , vec3_t point ) ;
extern void Train_Move_Spline ( edict_t * self ) ;
extern void Spline_Calc ( edict_t * train , vec3_t p1 , vec3_t p2 , vec3_t a1 , vec3_t a2 , float m , vec3_t p , vec3_t a ) ;
extern void Move_Calc ( edict_t * ent , vec3_t dest , void ( * func ) ( edict_t * ) ) ;
extern void Move_Begin ( edict_t * ent ) ;
extern void Move_Final ( edict_t * ent ) ;
extern void Move_Done ( edict_t * ent ) ;
extern void Move_pos2_Think ( edict_t * ent ) ;
extern void Move_pos2_Final ( edict_t * ent ) ;
extern void Move_pos1_Think ( edict_t * ent ) ;
extern void Move_pos1_Final ( edict_t * ent ) ;
extern void Move_pos0_Think ( edict_t * ent ) ;
extern void Move_pos0_Final ( edict_t * ent ) ;
extern void SP_trigger_fog_bbox ( edict_t * self ) ;
extern void SP_trigger_fog ( edict_t * self ) ;
extern void trigger_fog_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void SP_target_fog ( edict_t * self ) ;
extern void target_fog_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void fog_fade ( edict_t * self ) ;
extern void Fog_Init ( void ) ;
extern void Fog_Off_Global ( void ) ;
extern void Fog_Off ( edict_t * ent ) ;
extern void Fog ( edict_t * ent ) ;
extern void init_trigger_fog_delay ( edict_t * self ) ;
extern void trig_fog_fade ( edict_t * self ) ;
extern void GLFog ( edict_t * ent ) ;
extern void Cmd_Fog_f ( edict_t * ent ) ;
extern void Fog_ConsoleFog ( edict_t * ent ) ;
extern void SP_crane_reset ( edict_t * self ) ;
extern void crane_reset_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void crane_reset_go ( edict_t * temp ) ;
extern void SP_crane_beam ( edict_t * self ) ;
extern void SP_crane_hoist ( edict_t * self ) ;
extern void SP_crane_hook ( edict_t * self ) ;
extern void SP_crane_control ( edict_t * self ) ;
extern void Use_Crane_Control ( edict_t * ent , edict_t * other , edict_t * activator ) ;
extern void crane_control_action ( edict_t * control , edict_t * activator , vec3_t point ) ;
extern void Crane_AdjustSpeed ( edict_t * ent ) ;
extern void G_FindCraneParts ( ) ;
extern void Crane_Move_Begin ( edict_t * ent ) ;
extern void Crane_Move_Final ( edict_t * ent ) ;
extern void Crane_blocked ( edict_t * self , edict_t * other ) ;
extern qboolean Crane_Hook_Bonk ( edict_t * hook , int axis , int dir , vec3_t bonk ) ;
extern void Crane_Stop ( edict_t * control ) ;
extern void Crane_Move_Done ( edict_t * ent ) ;
extern void crane_light_off ( edict_t * light ) ;
extern void Cable_Think ( edict_t * cable ) ;
extern void SetSpotlightLength ( edict_t * hook ) ;
extern void SetCableLength ( edict_t * cable ) ;
extern void Cargo_Float_Up ( edict_t * cargo ) ;
extern void cargo_blocked ( edict_t * cargo , edict_t * obstacle ) ;
extern void Cargo_Stop ( edict_t * ent ) ;
extern edict_t * CrateOnTop ( edict_t * from , edict_t * ent ) ;
extern void moving_speaker_think ( edict_t * self ) ;
extern void T_RadiusClassDamage ( edict_t * inflictor , edict_t * attacker , float damage , char * ignoreClass , float radius , int mod ) ;
extern void T_RadiusNukeDamage ( edict_t * inflictor , edict_t * attacker , float damage , edict_t * ignore , float radius , int mod ) ;
extern void T_RadiusDamage ( edict_t * inflictor , edict_t * attacker , float damage , edict_t * ignore , float radius , int mod ) ;
extern void T_Damage ( edict_t * in_targ , edict_t * inflictor , edict_t * in_attacker , vec3_t dir , vec3_t point , vec3_t normal , int damage , int knockback , int dflags , int mod ) ;
extern qboolean CheckTeamDamage ( edict_t * targ , edict_t * attacker ) ;
extern void M_ReactToDamage ( edict_t * targ , edict_t * attacker , edict_t * inflictor ) ;
extern void CallMyFriends ( edict_t * targ , edict_t * attacker ) ;
extern void DefendMyFriend ( edict_t * self , edict_t * enemy ) ;
extern void SpawnDamage ( int type , vec3_t origin , vec3_t normal , int damage ) ;
extern void Killed ( edict_t * targ , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern qboolean CanDamage ( edict_t * targ , edict_t * inflictor ) ;
extern void cleanupHealTarget ( edict_t * ent ) ;
extern void ClientCommand ( edict_t * ent ) ;
extern void Restart_FMOD ( edict_t * self ) ;
extern void ForcewallOff ( edict_t * player ) ;
extern void SpawnForcewall ( edict_t * player ) ;
extern void forcewall_think ( edict_t * self ) ;
extern void decoy_think ( edict_t * self ) ;
extern void decoy_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void SetSensitivities ( edict_t * ent , qboolean reset ) ;
extern void SetLazarusCrosshair ( edict_t * ent ) ;
extern void Cmd_Bbox_f ( edict_t * ent ) ;
extern void DrawBBox ( edict_t * ent ) ;
extern void Cmd_PlayerList_f ( edict_t * ent ) ;
extern void Cmd_Ent_Count_f ( edict_t * ent ) ;
extern void Cmd_Say_f ( edict_t * ent , qboolean team , qboolean arg0 ) ;
extern void Cmd_Wave_f ( edict_t * ent ) ;
extern void Cmd_Players_f ( edict_t * ent ) ;
extern int PlayerSort ( void const * a , void const * b ) ;
extern void Cmd_PutAway_f ( edict_t * ent ) ;
extern void Cmd_Kill_f ( edict_t * ent ) ;
extern void Cmd_InvDrop_f ( edict_t * ent ) ;
extern void Cmd_WeapLast_f ( edict_t * ent ) ;
extern void Cmd_WeapNext_f ( edict_t * ent ) ;
extern void Cmd_WeapPrev_f ( edict_t * ent ) ;
extern void Cmd_InvUse_f ( edict_t * ent ) ;
extern void Cmd_Inven_f ( edict_t * ent ) ;
extern void Cmd_Drop_f ( edict_t * ent ) ;
extern void Cmd_Use_f ( edict_t * ent ) ;
extern void Cmd_Noclip_f ( edict_t * ent ) ;
extern void Cmd_Notarget_f ( edict_t * ent ) ;
extern void Cmd_God_f ( edict_t * ent ) ;
extern void Cmd_Give_f ( edict_t * ent ) ;
extern qboolean Cmd_Give_ParseFlags ( edict_t * ent , char * parm1 , int * flags ) ;
extern void ValidateSelectedItem ( edict_t * ent ) ;
extern void SelectPrevItem ( edict_t * ent , int itflags ) ;
extern void SelectNextItem ( edict_t * ent , int itflags ) ;
extern qboolean OnSameTeam ( edict_t * ent1 , edict_t * ent2 ) ;
extern char * ClientTeam ( edict_t * ent ) ;
extern void ShiftItem ( edict_t * ent , int direction ) ;
extern void SaveEntProps ( edict_t * e , FILE * f ) ;
extern void GetChaseTarget ( edict_t * ent ) ;
extern void ChasePrev ( edict_t * ent ) ;
extern void ChaseNext ( edict_t * ent ) ;
extern void UpdateChaseCam ( edict_t * ent ) ;
extern void SP_func_monitor ( edict_t * self ) ;
extern void func_monitor_init ( edict_t * self ) ;
extern void use_camera ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern edict_t * G_FindPrevCamera ( edict_t * camera , edict_t * monitor ) ;
extern edict_t * G_FindNextCamera ( edict_t * camera , edict_t * monitor ) ;
extern void camera_on ( edict_t * ent ) ;
extern void faker_animate ( edict_t * self ) ;
extern void camera_off ( edict_t * ent ) ;
extern qboolean ai_chicken ( edict_t * self , edict_t * badguy ) ;
extern void ai_run ( edict_t * self , float dist ) ;
extern qboolean ai_checkattack ( edict_t * self , float dist ) ;
extern void ai_run_slide ( edict_t * self , float distance ) ;
extern void ai_run_missile ( edict_t * self ) ;
extern void ai_run_melee ( edict_t * self ) ;
extern qboolean M_CheckAttack ( edict_t * self ) ;
extern qboolean FacingIdeal ( edict_t * self ) ;
extern qboolean FindTarget ( edict_t * self ) ;
extern void FoundTarget ( edict_t * self ) ;
extern void HuntTarget ( edict_t * self ) ;
extern qboolean canReach ( edict_t * self , edict_t * other ) ;
extern qboolean infront ( edict_t * self , edict_t * other ) ;
extern qboolean visible ( edict_t * self , edict_t * other ) ;
extern int range ( edict_t * self , edict_t * other ) ;
extern void ai_turn ( edict_t * self , float dist ) ;
extern void ai_charge ( edict_t * self , float dist ) ;
extern void ai_walk ( edict_t * self , float dist ) ;
extern void ai_stand ( edict_t * self , float dist ) ;
extern void ai_move ( edict_t * self , float dist ) ;
extern void AI_SetSightClient ( void ) ;
extern void SP_dm_tag_token ( edict_t * self ) ;
extern void Tag_PostInitSetup ( void ) ;
extern void Tag_GameInit ( void ) ;
extern int Tag_ChangeDamage ( edict_t * targ , edict_t * attacker , int damage , int mod ) ;
extern void Tag_DogTag ( edict_t * ent , edict_t * killer , char * * pic ) ;
extern void Tag_PlayerEffects ( edict_t * ent ) ;
extern void Tag_DropToken ( edict_t * ent , gitem_t * item ) ;
extern void Tag_MakeTouchable ( edict_t * ent ) ;
extern void Tag_Respawn ( edict_t * ent ) ;
extern qboolean Tag_PickupToken ( edict_t * ent , edict_t * other ) ;
extern void Tag_Score ( edict_t * attacker , edict_t * victim , int scoreChange ) ;
extern void Tag_PlayerDisconnect ( edict_t * self ) ;
extern void Tag_KillItBonus ( edict_t * self ) ;
extern void Tag_PlayerDeath ( edict_t * targ , edict_t * inflictor , edict_t * attacker ) ;
extern void SP_dm_dball_goal ( edict_t * self ) ;
extern void SP_dm_dball_speed_change ( edict_t * self ) ;
extern void SP_dm_dball_ball_start ( edict_t * self ) ;
extern void SP_dm_dball_team2_start ( edict_t * self ) ;
extern void SP_dm_dball_team1_start ( edict_t * self ) ;
extern void SP_dm_dball_ball ( edict_t * self ) ;
extern void DBall_SpeedTouch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void DBall_BallRespawn ( edict_t * self ) ;
extern void DBall_BallDie ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void DBall_BallPain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void DBall_BallTouch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern edict_t * PickBallStart ( edict_t * ent ) ;
extern void DBall_GoalTouch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern int DBall_ChangeKnockback ( edict_t * targ , edict_t * attacker , int knockback , int mod ) ;
extern int DBall_ChangeDamage ( edict_t * targ , edict_t * attacker , int damage , int mod ) ;
extern void DBall_PostInitSetup ( void ) ;
extern void DBall_GameInit ( void ) ;
extern void DBall_SelectSpawnPoint ( edict_t * ent , vec3_t origin , vec3_t angles , int * style , int * health ) ;
extern void DBall_ClientBegin ( edict_t * ent ) ;
extern int DBall_CheckDMRules ( void ) ;