thirtyflightsofloving/missionpack/g_func_decs.h

2925 lines
176 KiB
C
Raw Normal View History

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_ctgrenade_safety_check ( edict_t * self , vec3_t start , vec3_t target ) ;
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 ) ;