//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: The Half-Life 2 game rules, such as the relationship tables and ammo
// damage cvars.
//
// $NoKeywords: $
//=============================================================================//
# include "cbase.h"
# include "portal_gamerules.h"
# include "ammodef.h"
# include "hl2_shareddefs.h"
# include "portal_shareddefs.h"
# ifdef CLIENT_DLL
# else
# include "player.h"
# include "game.h"
# include "gamerules.h"
# include "teamplay_gamerules.h"
# include "portal_player.h"
# include "globalstate.h"
# include "ai_basenpc.h"
# include "portal/weapon_physcannon.h"
# include "props.h" // For props flags used in making the portal weight box
# include "datacache/imdlcache.h" // For precaching box model
# include "achievementmgr.h"
extern CAchievementMgr g_AchievementMgrPortal ;
# endif
// memdbgon must be the last include file in a .cpp file!!!
# include "tier0/memdbgon.h"
REGISTER_GAMERULES_CLASS ( CPortalGameRules ) ;
BEGIN_NETWORK_TABLE_NOBASE ( CPortalGameRules , DT_PortalGameRules )
# ifdef CLIENT_DLL
RecvPropBool ( RECVINFO ( m_bMegaPhysgun ) ) ,
# else
SendPropBool ( SENDINFO ( m_bMegaPhysgun ) ) ,
# endif
END_NETWORK_TABLE ( )
LINK_ENTITY_TO_CLASS ( portal_gamerules , CPortalGameRulesProxy ) ;
IMPLEMENT_NETWORKCLASS_ALIASED ( PortalGameRulesProxy , DT_PortalGameRulesProxy )
# ifdef CLIENT_DLL
void RecvProxy_PortalGameRules ( const RecvProp * pProp , void * * pOut , void * pData , int objectID )
{
CPortalGameRules * pRules = PortalGameRules ( ) ;
Assert ( pRules ) ;
* pOut = pRules ;
}
BEGIN_RECV_TABLE ( CPortalGameRulesProxy , DT_PortalGameRulesProxy )
RecvPropDataTable ( " portal_gamerules_data " , 0 , 0 , & REFERENCE_RECV_TABLE ( DT_PortalGameRules ) , RecvProxy_PortalGameRules )
END_RECV_TABLE ( )
# else
void * SendProxy_PortalGameRules ( const SendProp * pProp , const void * pStructBase , const void * pData , CSendProxyRecipients * pRecipients , int objectID )
{
CPortalGameRules * pRules = PortalGameRules ( ) ;
Assert ( pRules ) ;
pRecipients - > SetAllRecipients ( ) ;
return pRules ;
}
BEGIN_SEND_TABLE ( CPortalGameRulesProxy , DT_PortalGameRulesProxy )
SendPropDataTable ( " portal_gamerules_data " , 0 , & REFERENCE_SEND_TABLE ( DT_PortalGameRules ) , SendProxy_PortalGameRules )
END_SEND_TABLE ( )
# endif
extern ConVar sv_robust_explosions ;
extern ConVar sk_allow_autoaim ;
extern ConVar sk_autoaim_scale1 ;
extern ConVar sk_autoaim_scale2 ;
# if !defined ( CLIENT_DLL )
extern ConVar sv_alternateticks ;
# endif // !CLIENT_DLL
# define PORTAL_WEIGHT_BOX_MODEL_NAME "models / props / metal_box.mdl"
// Portal-only con commands
# ifndef CLIENT_DLL
// Create the box used for portal puzzles, named 'box'. Used for easy debugging of portal puzzles.
void CC_Create_PortalWeightBox ( void )
{
MDLCACHE_CRITICAL_SECTION ( ) ;
bool allowPrecache = CBaseEntity : : IsPrecacheAllowed ( ) ;
CBaseEntity : : SetAllowPrecache ( true ) ;
// Try to create entity
CBaseEntity * entity = dynamic_cast < CBaseEntity * > ( CreateEntityByName ( " prop_physics " ) ) ;
if ( entity )
{
entity - > PrecacheModel ( PORTAL_WEIGHT_BOX_MODEL_NAME ) ;
entity - > SetModel ( PORTAL_WEIGHT_BOX_MODEL_NAME ) ;
entity - > SetName ( MAKE_STRING ( " box " ) ) ;
entity - > AddSpawnFlags ( SF_PHYSPROP_ENABLE_PICKUP_OUTPUT ) ;
entity - > Precache ( ) ;
DispatchSpawn ( entity ) ;
// Now attempt to drop into the world
CBasePlayer * pPlayer = UTIL_GetCommandClient ( ) ;
trace_t tr ;
Vector forward ;
pPlayer - > EyeVectors ( & forward ) ;
UTIL_TraceLine ( pPlayer - > EyePosition ( ) ,
pPlayer - > EyePosition ( ) + forward * MAX_TRACE_LENGTH , MASK_SOLID ,
pPlayer , COLLISION_GROUP_NONE , & tr ) ;
if ( tr . fraction ! = 1.0 )
{
tr . endpos . z + = 12 ;
entity - > Teleport ( & tr . endpos , NULL , NULL ) ;
UTIL_DropToFloor ( entity , MASK_SOLID ) ;
}
}
CBaseEntity : : SetAllowPrecache ( allowPrecache ) ;
}
static ConCommand ent_create_portal_weight_box ( " ent_create_portal_weight_box " , CC_Create_PortalWeightBox , " Creates a weight box used in portal puzzles at the location the player is looking. " , FCVAR_GAMEDLL | FCVAR_CHEAT ) ;
# endif // CLIENT_DLL
# define PORTAL_METAL_SPHERE_MODEL_NAME "models / props / sphere.mdl"
# ifndef CLIENT_DLL
// Create a very reflective bouncy metal sphere
void CC_Create_PortalMetalSphere ( void )
{
MDLCACHE_CRITICAL_SECTION ( ) ;
bool allowPrecache = CBaseEntity : : IsPrecacheAllowed ( ) ;
CBaseEntity : : SetAllowPrecache ( true ) ;
// Try to create entity
CBaseEntity * entity = dynamic_cast < CBaseEntity * > ( CreateEntityByName ( " prop_physics " ) ) ;
if ( entity )
{
entity - > PrecacheModel ( PORTAL_METAL_SPHERE_MODEL_NAME ) ;
entity - > SetModel ( PORTAL_METAL_SPHERE_MODEL_NAME ) ;
entity - > SetName ( MAKE_STRING ( " sphere " ) ) ;
entity - > AddSpawnFlags ( SF_PHYSPROP_ENABLE_PICKUP_OUTPUT ) ;
entity - > Precache ( ) ;
DispatchSpawn ( entity ) ;
// Now attempt to drop into the world
CBasePlayer * pPlayer = UTIL_GetCommandClient ( ) ;
trace_t tr ;
Vector forward ;
pPlayer - > EyeVectors ( & forward ) ;
UTIL_TraceLine ( pPlayer - > EyePosition ( ) ,
pPlayer - > EyePosition ( ) + forward * MAX_TRACE_LENGTH , MASK_SOLID ,
pPlayer , COLLISION_GROUP_NONE , & tr ) ;
if ( tr . fraction ! = 1.0 )
{
tr . endpos . z + = 12 ;
entity - > Teleport ( & tr . endpos , NULL , NULL ) ;
UTIL_DropToFloor ( entity , MASK_SOLID ) ;
}
}
CBaseEntity : : SetAllowPrecache ( allowPrecache ) ;
}
static ConCommand ent_create_portal_metal_sphere ( " ent_create_portal_metal_sphere " , CC_Create_PortalMetalSphere , " Creates a reflective metal sphere where the player is looking. " , FCVAR_GAMEDLL | FCVAR_CHEAT ) ;
# endif // CLIENT_DLL
# ifdef CLIENT_DLL //{
# else //}{
extern bool g_fGameOver ;
//-----------------------------------------------------------------------------
// Purpose:
// Input :
// Output :
//-----------------------------------------------------------------------------
CPortalGameRules : : CPortalGameRules ( )
{
m_bMegaPhysgun = false ;
g_pCVar - > FindVar ( " sv_maxreplay " ) - > SetValue ( " 1.5 " ) ;
}
//-----------------------------------------------------------------------------
// Purpose: called each time a player uses a "cmd" command
// Input : *pEdict - the player who issued the command
// Use engine.Cmd_Argv, engine.Cmd_Argv, and engine.Cmd_Argc to get
// pointers the character string command.
//-----------------------------------------------------------------------------
bool CPortalGameRules : : ClientCommand ( CBaseEntity * pEdict , const CCommand & args )
{
if ( BaseClass : : ClientCommand ( pEdict , args ) )
return true ;
CPortal_Player * pPlayer = ( CPortal_Player * ) pEdict ;
if ( pPlayer - > ClientCommand ( args ) )
return true ;
return false ;
}
//-----------------------------------------------------------------------------
// Purpose: Player has just spawned. Equip them.
//-----------------------------------------------------------------------------
void CPortalGameRules : : PlayerSpawn ( CBasePlayer * pPlayer )
{
}
//------------------------------------------------------------------------------
// Purpose : Initialize all default class relationships
// Input :
// Output :
//------------------------------------------------------------------------------
void CPortalGameRules : : InitDefaultAIRelationships ( void )
{
int i , j ;
// Allocate memory for default relationships
CBaseCombatCharacter : : AllocateDefaultRelationships ( ) ;
// --------------------------------------------------------------
// First initialize table so we can report missing relationships
// --------------------------------------------------------------
for ( i = 0 ; i < NUM_AI_CLASSES ; i + + )
{
for ( j = 0 ; j < NUM_AI_CLASSES ; j + + )
{
// By default all relationships are neutral of priority zero
CBaseCombatCharacter : : SetDefaultRelationship ( ( Class_T ) i , ( Class_T ) j , D_NU , 0 ) ;
}
}
// ------------------------------------------------------------
// > CLASS_ANTLION
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_BULLSQUID, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_CITIZEN_PASSIVE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_COMBINE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_HEADCRAB , D_HT , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_ANTLION, CLASS_HOUNDEYE, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_MANHACK , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_METROPOLICE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_MILITARY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_SCANNER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_STALKER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_PROTOSNIPER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_ANTLION , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ANTLION , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
// ------------------------------------------------------------
// > CLASS_BARNACLE
//
// In this case, the relationship D_HT indicates which characters
// the barnacle will try to eat.
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_BARNACLE , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_BULLSQUID, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_CITIZEN_PASSIVE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_COMBINE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_HEADCRAB , D_HT , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_BARNACLE, CLASS_HOUNDEYE, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_MANHACK , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_METROPOLICE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_MILITARY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_STALKER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_EARTH_FAUNA , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BARNACLE , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
// ------------------------------------------------------------
// > CLASS_BULLSEYE
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_PLAYER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_ANTLION , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_BULLSQUID, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_CITIZEN_REBEL , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_COMBINE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_CONSCRIPT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_HEADCRAB , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_BULLSEYE, CLASS_HOUNDEYE, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_MANHACK , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_METROPOLICE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_MILITARY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_VORTIGAUNT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_ZOMBIE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_PLAYER_ALLY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSEYE , CLASS_PLAYER_ALLY_VITAL , D_NU , 0 ) ;
// ------------------------------------------------------------
// > CLASS_BULLSQUID
// ------------------------------------------------------------
/*
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_BARNACLE , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_BULLSEYE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_BULLSQUID , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_CITIZEN_PASSIVE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_COMBINE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_HEADCRAB , D_HT , 1 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_HOUNDEYE , D_HT , 1 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_MANHACK , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_METROPOLICE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_MILITARY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_STALKER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_BULLSQUID , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
*/
// ------------------------------------------------------------
// > CLASS_CITIZEN_PASSIVE
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_PLAYER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_BARNACLE , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_BULLSQUID, D_FR, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_CITIZEN_REBEL , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_COMBINE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_CONSCRIPT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_HEADCRAB , D_FR , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_PASSIVE, CLASS_HOUNDEYE, D_FR, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_MANHACK , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_METROPOLICE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_MILITARY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_MISSILE , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_VORTIGAUNT , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_ZOMBIE , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_PLAYER_ALLY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_PASSIVE , CLASS_PLAYER_ALLY_VITAL , D_NU , 0 ) ;
// ------------------------------------------------------------
// > CLASS_CITIZEN_REBEL
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_PLAYER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_BARNACLE , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_BULLSQUID, D_FR, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_CITIZEN_REBEL , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_COMBINE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_CONSCRIPT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_HEADCRAB , D_HT , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_CITIZEN_REBEL, CLASS_HOUNDEYE, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_MANHACK , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_METROPOLICE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_MILITARY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_MISSILE , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_SCANNER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_STALKER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_VORTIGAUNT , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_PLAYER_ALLY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CITIZEN_REBEL , CLASS_PLAYER_ALLY_VITAL , D_NU , 0 ) ;
// ------------------------------------------------------------
// > CLASS_COMBINE
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_BARNACLE , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_BULLSQUID, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_COMBINE , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_COMBINE_GUNSHIP , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_HEADCRAB , D_HT , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE, CLASS_HOUNDEYE, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_MANHACK , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_METROPOLICE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_MILITARY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
// ------------------------------------------------------------
// > CLASS_COMBINE_GUNSHIP
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_BULLSQUID, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_COMBINE , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_COMBINE_GUNSHIP , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_HEADCRAB , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_COMBINE_GUNSHIP, CLASS_HOUNDEYE, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_MANHACK , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_METROPOLICE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_MILITARY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_MISSILE , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_COMBINE_GUNSHIP , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
// ------------------------------------------------------------
// > CLASS_CONSCRIPT
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_PLAYER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_BARNACLE , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_BULLSQUID, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_CITIZEN_REBEL , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_COMBINE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_CONSCRIPT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_HEADCRAB , D_HT , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_CONSCRIPT, CLASS_HOUNDEYE, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_MANHACK , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_METROPOLICE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_MILITARY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_SCANNER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_STALKER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_VORTIGAUNT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_PLAYER_ALLY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_CONSCRIPT , CLASS_PLAYER_ALLY_VITAL , D_NU , 0 ) ;
// ------------------------------------------------------------
// > CLASS_FLARE
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_PLAYER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_ANTLION , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_BULLSQUID, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_CITIZEN_REBEL , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_COMBINE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_CONSCRIPT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_HEADCRAB , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_FLARE, CLASS_HOUNDEYE, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_MANHACK , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_METROPOLICE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_MILITARY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_VORTIGAUNT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_ZOMBIE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_PLAYER_ALLY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_FLARE , CLASS_PLAYER_ALLY_VITAL , D_NU , 0 ) ;
// ------------------------------------------------------------
// > CLASS_HEADCRAB
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_BULLSQUID, D_FR, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_CITIZEN_PASSIVE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_COMBINE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_HEADCRAB , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_HEADCRAB, CLASS_HOUNDEYE, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_MANHACK , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_METROPOLICE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_MILITARY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_ZOMBIE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HEADCRAB , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
// ------------------------------------------------------------
// > CLASS_HOUNDEYE
// ------------------------------------------------------------
/*
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_HOUNDEYE, CLASS_BULLSQUID, D_FR, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_CITIZEN_PASSIVE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_COMBINE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_HEADCRAB , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_HOUNDEYE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_MANHACK , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_METROPOLICE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_MILITARY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_ZOMBIE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_HOUNDEYE , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
*/
// ------------------------------------------------------------
// > CLASS_MANHACK
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_BULLSQUID, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_CITIZEN_PASSIVE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_COMBINE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_HEADCRAB , D_HT , - 1 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_MANHACK, CLASS_HOUNDEYE, D_HT,-1);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_MANHACK , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_METROPOLICE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_MILITARY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MANHACK , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
// ------------------------------------------------------------
// > CLASS_METROPOLICE
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_BULLSQUID, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_COMBINE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_HEADCRAB , D_HT , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_METROPOLICE, CLASS_HOUNDEYE, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_MANHACK , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_METROPOLICE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_MILITARY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_METROPOLICE , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
// ------------------------------------------------------------
// > CLASS_MILITARY
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_BULLSQUID, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_COMBINE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_HEADCRAB , D_HT , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_MILITARY, CLASS_HOUNDEYE, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_MANHACK , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_METROPOLICE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_MILITARY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MILITARY , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
// ------------------------------------------------------------
// > CLASS_MISSILE
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_BULLSQUID, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_COMBINE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_HEADCRAB , D_HT , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_MISSILE, CLASS_HOUNDEYE, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_MANHACK , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_METROPOLICE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_MILITARY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_MISSILE , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
// ------------------------------------------------------------
// > CLASS_NONE
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_PLAYER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_ANTLION , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_BULLSQUID, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_CITIZEN_REBEL , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_COMBINE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_CONSCRIPT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_HEADCRAB , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_NONE, CLASS_HOUNDEYE, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_MANHACK , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_METROPOLICE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_MILITARY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_VORTIGAUNT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_ZOMBIE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_PLAYER_ALLY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_NONE , CLASS_PLAYER_ALLY_VITAL , D_NU , 0 ) ;
// ------------------------------------------------------------
// > CLASS_PLAYER
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_PLAYER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_BARNACLE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_BULLSEYE , D_HT , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_BULLSQUID, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_CITIZEN_PASSIVE , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_CITIZEN_REBEL , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_COMBINE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_COMBINE_GUNSHIP , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_CONSCRIPT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_HEADCRAB , D_HT , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER, CLASS_HOUNDEYE, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_MANHACK , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_METROPOLICE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_MILITARY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_SCANNER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_STALKER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_VORTIGAUNT , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_PROTOSNIPER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_PLAYER_ALLY , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER , CLASS_PLAYER_ALLY_VITAL , D_LI , 0 ) ;
// ------------------------------------------------------------
// > CLASS_PLAYER_ALLY
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_PLAYER , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_BARNACLE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_BULLSQUID, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_CITIZEN_REBEL , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_COMBINE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_CONSCRIPT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_HEADCRAB , D_FR , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY, CLASS_HOUNDEYE, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_MANHACK , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_METROPOLICE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_MILITARY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_SCANNER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_STALKER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_VORTIGAUNT , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_ZOMBIE , D_FR , 1 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_PROTOSNIPER , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_PLAYER_ALLY , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY , CLASS_PLAYER_ALLY_VITAL , D_LI , 0 ) ;
// ------------------------------------------------------------
// > CLASS_PLAYER_ALLY_VITAL
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_PLAYER , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_BARNACLE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_BULLSQUID, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_CITIZEN_REBEL , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_COMBINE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_CONSCRIPT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_HEADCRAB , D_HT , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_PLAYER_ALLY_VITAL, CLASS_HOUNDEYE, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_MANHACK , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_METROPOLICE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_MILITARY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_SCANNER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_STALKER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_VORTIGAUNT , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_PROTOSNIPER , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_PLAYER_ALLY , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PLAYER_ALLY_VITAL , CLASS_PLAYER_ALLY_VITAL , D_LI , 0 ) ;
// ------------------------------------------------------------
// > CLASS_SCANNER
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_BULLSQUID, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_COMBINE , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_COMBINE_GUNSHIP , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_HEADCRAB , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_SCANNER, CLASS_HOUNDEYE, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_MANHACK , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_METROPOLICE , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_MILITARY , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_SCANNER , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_STALKER , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_ZOMBIE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_PROTOSNIPER , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_SCANNER , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
// ------------------------------------------------------------
// > CLASS_STALKER
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_BULLSQUID, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_CITIZEN_PASSIVE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_COMBINE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_HEADCRAB , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_STALKER, CLASS_HOUNDEYE, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_MANHACK , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_METROPOLICE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_MILITARY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_ZOMBIE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_STALKER , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
// ------------------------------------------------------------
// > CLASS_VORTIGAUNT
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_PLAYER , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_BARNACLE , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_BULLSQUID, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_CITIZEN_PASSIVE , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_CITIZEN_REBEL , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_COMBINE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_CONSCRIPT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_HEADCRAB , D_HT , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_VORTIGAUNT, CLASS_HOUNDEYE, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_MANHACK , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_METROPOLICE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_MILITARY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_SCANNER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_STALKER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_VORTIGAUNT , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_PLAYER_ALLY , D_LI , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_VORTIGAUNT , CLASS_PLAYER_ALLY_VITAL , D_LI , 0 ) ;
// ------------------------------------------------------------
// > CLASS_ZOMBIE
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_BULLSQUID, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_CITIZEN_PASSIVE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_COMBINE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_HEADCRAB , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_ZOMBIE, CLASS_HOUNDEYE, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_MANHACK , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_METROPOLICE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_MILITARY , D_FR , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_MISSILE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_ZOMBIE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_ZOMBIE , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
// ------------------------------------------------------------
// > CLASS_PROTOSNIPER
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_NONE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_BULLSQUID, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_CITIZEN_PASSIVE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_COMBINE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_COMBINE_GUNSHIP , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_FLARE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_HEADCRAB , D_HT , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_PROTOSNIPER, CLASS_HOUNDEYE, D_NU, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_MANHACK , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_METROPOLICE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_MILITARY , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_MISSILE , D_NU , 5 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_SCANNER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_STALKER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_PROTOSNIPER , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_PROTOSNIPER , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
// ------------------------------------------------------------
// > CLASS_EARTH_FAUNA
//
// Hates pretty much everything equally except other earth fauna.
// This will make the critter choose the nearest thing as its enemy.
// ------------------------------------------------------------
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_NONE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_PLAYER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_ANTLION , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_BARNACLE , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_BULLSEYE , D_NU , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_BULLSQUID, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_CITIZEN_PASSIVE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_CITIZEN_REBEL , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_COMBINE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_COMBINE_GUNSHIP , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_CONSCRIPT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_FLARE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_HEADCRAB , D_HT , 0 ) ;
//CBaseCombatCharacter::SetDefaultRelationship(CLASS_EARTH_FAUNA, CLASS_HOUNDEYE, D_HT, 0);
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_MANHACK , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_METROPOLICE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_MILITARY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_MISSILE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_SCANNER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_STALKER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_VORTIGAUNT , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_ZOMBIE , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_PROTOSNIPER , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_EARTH_FAUNA , D_NU , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_PLAYER_ALLY , D_HT , 0 ) ;
CBaseCombatCharacter : : SetDefaultRelationship ( CLASS_EARTH_FAUNA , CLASS_PLAYER_ALLY_VITAL , D_HT , 0 ) ;
}
//------------------------------------------------------------------------------
// Purpose : Return classify text for classify type
// Input :
// Output :
//------------------------------------------------------------------------------
const char * CPortalGameRules : : AIClassText ( int classType )
{
switch ( classType )
{
case CLASS_NONE : return " CLASS_NONE " ;
case CLASS_PLAYER : return " CLASS_PLAYER " ;
case CLASS_ANTLION : return " CLASS_ANTLION " ;
case CLASS_BARNACLE : return " CLASS_BARNACLE " ;
case CLASS_BULLSEYE : return " CLASS_BULLSEYE " ;
//case CLASS_BULLSQUID: return "CLASS_BULLSQUID";
case CLASS_CITIZEN_PASSIVE : return " CLASS_CITIZEN_PASSIVE " ;
case CLASS_CITIZEN_REBEL : return " CLASS_CITIZEN_REBEL " ;
case CLASS_COMBINE : return " CLASS_COMBINE " ;
case CLASS_CONSCRIPT : return " CLASS_CONSCRIPT " ;
case CLASS_HEADCRAB : return " CLASS_HEADCRAB " ;
//case CLASS_HOUNDEYE: return "CLASS_HOUNDEYE";
case CLASS_MANHACK : return " CLASS_MANHACK " ;
case CLASS_METROPOLICE : return " CLASS_METROPOLICE " ;
case CLASS_MILITARY : return " CLASS_MILITARY " ;
case CLASS_SCANNER : return " CLASS_SCANNER " ;
case CLASS_STALKER : return " CLASS_STALKER " ;
case CLASS_VORTIGAUNT : return " CLASS_VORTIGAUNT " ;
case CLASS_ZOMBIE : return " CLASS_ZOMBIE " ;
case CLASS_PROTOSNIPER : return " CLASS_PROTOSNIPER " ;
case CLASS_MISSILE : return " CLASS_MISSILE " ;
case CLASS_FLARE : return " CLASS_FLARE " ;
case CLASS_EARTH_FAUNA : return " CLASS_EARTH_FAUNA " ;
default : return " MISSING CLASS in ClassifyText() " ;
}
}
void CPortalGameRules : : PlayerThink ( CBasePlayer * pPlayer )
{
}
void CPortalGameRules : : Think ( void )
{
BaseClass : : Think ( ) ;
}
//-----------------------------------------------------------------------------
// Purpose: Returns how much damage the given ammo type should do to the victim
// when fired by the attacker.
// Input : pAttacker - Dude what shot the gun.
// pVictim - Dude what done got shot.
// nAmmoType - What been shot out.
// Output : How much hurt to put on dude what done got shot (pVictim).
//-----------------------------------------------------------------------------
float CPortalGameRules : : GetAmmoDamage ( CBaseEntity * pAttacker , CBaseEntity * pVictim , int nAmmoType )
{
return BaseClass : : GetAmmoDamage ( pAttacker , pVictim , nAmmoType ) ;
}
float CPortalGameRules : : FlPlayerFallDamage ( CBasePlayer * pPlayer )
{
// No fall damage in Portal!
return 0.0f ;
}
# endif //} !CLIENT_DLL
//-----------------------------------------------------------------------------
// Purpose: On starting a game, make global state changes specific to portal
//-----------------------------------------------------------------------------
bool CPortalGameRules : : Init ( )
{
# if !defined ( CLIENT_DLL )
// Portal never wants alternate ticks. Some low end hardware sets it in dxsupport.cfg so this will catch those cases.
sv_alternateticks . SetValue ( 0 ) ;
# endif // !CLIENT_DLL
return BaseClass : : Init ( ) ;
}
// ------------------------------------------------------------------------------------ //
// Shared CPortalGameRules implementation.
// ------------------------------------------------------------------------------------ //
bool CPortalGameRules : : ShouldCollide ( int collisionGroup0 , int collisionGroup1 )
{
// If it's a portal, we want to collide with it!
/*if ( collisionGroup0 == PORTALCOLLISION_GROUP_PORTAL && collisionGroup1 != PORTALCOLLISION_GROUP_PORTAL ||
collisionGroup1 = = PORTALCOLLISION_GROUP_PORTAL & & collisionGroup0 ! = PORTALCOLLISION_GROUP_PORTAL )
{
return true ;
} */
return BaseClass : : ShouldCollide ( collisionGroup0 , collisionGroup1 ) ;
}
//---------------------------------------------------------
//---------------------------------------------------------
bool CPortalGameRules : : ShouldUseRobustRadiusDamage ( CBaseEntity * pEntity )
{
# ifdef CLIENT_DLL
return false ;
# endif
if ( ! sv_robust_explosions . GetBool ( ) )
return false ;
if ( ! pEntity - > IsNPC ( ) )
{
// Only NPC's
return false ;
}
# ifndef CLIENT_DLL
CAI_BaseNPC * pNPC = pEntity - > MyNPCPointer ( ) ;
if ( pNPC - > CapabilitiesGet ( ) & bits_CAP_SIMPLE_RADIUS_DAMAGE )
{
// This NPC only eligible for simple radius damage.
return false ;
}
# endif //CLIENT_DLL
return true ;
}
# ifndef CLIENT_DLL
//---------------------------------------------------------
//---------------------------------------------------------
bool CPortalGameRules : : ShouldAutoAim ( CBasePlayer * pPlayer , edict_t * target )
{
return sk_allow_autoaim . GetBool ( ) ! = 0 ;
}
//---------------------------------------------------------
//---------------------------------------------------------
float CPortalGameRules : : GetAutoAimScale ( CBasePlayer * pPlayer )
{
switch ( GetSkillLevel ( ) )
{
case SKILL_EASY :
return sk_autoaim_scale1 . GetFloat ( ) ;
case SKILL_MEDIUM :
return sk_autoaim_scale2 . GetFloat ( ) ;
default :
return 0.0f ;
}
}
//-----------------------------------------------------------------------------
// This takes the long way around to see if a prop should emit a DLIGHT when it
// ignites, to avoid having Alyx-related code in props.cpp.
//-----------------------------------------------------------------------------
bool CPortalGameRules : : ShouldBurningPropsEmitLight ( )
{
return false ;
}
//---------------------------------------------------------
// This is the only way we can silence the radio sound from the first room without touching them map -- jdw
//---------------------------------------------------------
bool CPortalGameRules : : ShouldRemoveRadio ( void )
{
IAchievement * pHeartbreaker = g_AchievementMgrPortal . GetAchievementByName ( " PORTAL_BEAT_GAME " ) ;
if ( pHeartbreaker & & pHeartbreaker - > IsAchieved ( ) )
return true ;
return false ;
}
# endif //CLIENT_DLL
# ifdef CLIENT_DLL
bool CPortalGameRules : : IsBonusChallengeTimeBased ( void )
{
CBasePlayer * pPlayer = UTIL_PlayerByIndex ( 1 ) ;
if ( ! pPlayer )
return true ;
int iBonusChallenge = pPlayer - > GetBonusChallenge ( ) ;
if ( iBonusChallenge = = PORTAL_CHALLENGE_TIME | | iBonusChallenge = = PORTAL_CHALLENGE_NONE )
return true ;
return false ;
}
# endif
// ------------------------------------------------------------------------------------ //
// Global functions.
// ------------------------------------------------------------------------------------ //
// shared ammo definition
// JAY: Trying to make a more physical bullet response
# define BULLET_MASS_GRAINS_TO_LB(grains) (0.002285*(grains) / 16.0f)
# define BULLET_MASS_GRAINS_TO_KG(grains) lbs2kg(BULLET_MASS_GRAINS_TO_LB(grains))
// exaggerate all of the forces, but use real numbers to keep them consistent
# define BULLET_IMPULSE_EXAGGERATION 3.5
// convert a velocity in ft/sec and a mass in grains to an impulse in kg in/s
# define BULLET_IMPULSE(grains, ftpersec) ((ftpersec)*12*BULLET_MASS_GRAINS_TO_KG(grains)*BULLET_IMPULSE_EXAGGERATION)
CAmmoDef * GetAmmoDef ( )
{
static CAmmoDef def ;
static bool bInitted = false ;
if ( ! bInitted )
{
bInitted = true ;
def . AddAmmoType ( " AR2 " , DMG_BULLET , TRACER_LINE_AND_WHIZ , " sk_plr_dmg_ar2 " , " sk_npc_dmg_ar2 " , " sk_max_ar2 " , BULLET_IMPULSE ( 200 , 1225 ) , 0 ) ;
def . AddAmmoType ( " AlyxGun " , DMG_BULLET , TRACER_LINE , " sk_plr_dmg_alyxgun " , " sk_npc_dmg_alyxgun " , " sk_max_alyxgun " , BULLET_IMPULSE ( 200 , 1225 ) , 0 ) ;
def . AddAmmoType ( " Pistol " , DMG_BULLET , TRACER_LINE_AND_WHIZ , " sk_plr_dmg_pistol " , " sk_npc_dmg_pistol " , " sk_max_pistol " , BULLET_IMPULSE ( 200 , 1225 ) , 0 ) ;
def . AddAmmoType ( " SMG1 " , DMG_BULLET , TRACER_LINE_AND_WHIZ , " sk_plr_dmg_smg1 " , " sk_npc_dmg_smg1 " , " sk_max_smg1 " , BULLET_IMPULSE ( 200 , 1225 ) , 0 ) ;
def . AddAmmoType ( " 357 " , DMG_BULLET , TRACER_LINE_AND_WHIZ , " sk_plr_dmg_357 " , " sk_npc_dmg_357 " , " sk_max_357 " , BULLET_IMPULSE ( 800 , 5000 ) , 0 ) ;
def . AddAmmoType ( " XBowBolt " , DMG_BULLET , TRACER_LINE , " sk_plr_dmg_crossbow " , " sk_npc_dmg_crossbow " , " sk_max_crossbow " , BULLET_IMPULSE ( 800 , 8000 ) , 0 ) ;
def . AddAmmoType ( " Buckshot " , DMG_BULLET | DMG_BUCKSHOT , TRACER_LINE , " sk_plr_dmg_buckshot " , " sk_npc_dmg_buckshot " , " sk_max_buckshot " , BULLET_IMPULSE ( 400 , 1200 ) , 0 ) ;
def . AddAmmoType ( " RPG_Round " , DMG_BURN , TRACER_NONE , " sk_plr_dmg_rpg_round " , " sk_npc_dmg_rpg_round " , " sk_max_rpg_round " , 0 , 0 ) ;
def . AddAmmoType ( " SMG1_Grenade " , DMG_BURN , TRACER_NONE , " sk_plr_dmg_smg1_grenade " , " sk_npc_dmg_smg1_grenade " , " sk_max_smg1_grenade " , 0 , 0 ) ;
def . AddAmmoType ( " SniperRound " , DMG_BULLET | DMG_SNIPER , TRACER_NONE , " sk_plr_dmg_sniper_round " , " sk_npc_dmg_sniper_round " , " sk_max_sniper_round " , BULLET_IMPULSE ( 650 , 6000 ) , 0 ) ;
def . AddAmmoType ( " SniperPenetratedRound " , DMG_BULLET | DMG_SNIPER , TRACER_NONE , " sk_dmg_sniper_penetrate_plr " , " sk_dmg_sniper_penetrate_npc " , " sk_max_sniper_round " , BULLET_IMPULSE ( 150 , 6000 ) , 0 ) ;
def . AddAmmoType ( " Grenade " , DMG_BURN , TRACER_NONE , " sk_plr_dmg_grenade " , " sk_npc_dmg_grenade " , " sk_max_grenade " , 0 , 0 ) ;
def . AddAmmoType ( " Thumper " , DMG_SONIC , TRACER_NONE , 10 , 10 , 2 , 0 , 0 ) ;
def . AddAmmoType ( " Gravity " , DMG_CLUB , TRACER_NONE , 0 , 0 , 8 , 0 , 0 ) ;
def . AddAmmoType ( " Battery " , DMG_CLUB , TRACER_NONE , 0 , 0 , 0 , 0 , 0 ) ;
def . AddAmmoType ( " GaussEnergy " , DMG_SHOCK , TRACER_NONE , " sk_jeep_gauss_damage " , " sk_jeep_gauss_damage " , " sk_max_gauss_round " , BULLET_IMPULSE ( 650 , 8000 ) , 0 ) ; // hit like a 10kg weight at 400 in/s
def . AddAmmoType ( " CombineCannon " , DMG_BULLET , TRACER_LINE , " sk_npc_dmg_gunship_to_plr " , " sk_npc_dmg_gunship " , NULL , 1.5 * 750 * 12 , 0 ) ; // hit like a 1.5kg weight at 750 ft/s
def . AddAmmoType ( " AirboatGun " , DMG_AIRBOAT , TRACER_LINE , " sk_plr_dmg_airboat " , " sk_npc_dmg_airboat " , NULL , BULLET_IMPULSE ( 10 , 600 ) , 0 ) ;
def . AddAmmoType ( " StriderMinigun " , DMG_BULLET , TRACER_LINE , 5 , 5 , 15 , 1.0 * 750 * 12 , AMMO_FORCE_DROP_IF_CARRIED ) ; // hit like a 1.0kg weight at 750 ft/s
def . AddAmmoType ( " HelicopterGun " , DMG_BULLET , TRACER_LINE_AND_WHIZ , " sk_npc_dmg_helicopter_to_plr " , " sk_npc_dmg_helicopter " , " sk_max_smg1 " , BULLET_IMPULSE ( 400 , 1225 ) , AMMO_FORCE_DROP_IF_CARRIED | AMMO_INTERPRET_PLRDAMAGE_AS_DAMAGE_TO_PLAYER ) ;
def . AddAmmoType ( " AR2AltFire " , DMG_DISSOLVE , TRACER_NONE , 0 , 0 , " sk_max_ar2_altfire " , 0 , 0 ) ;
# ifdef HL2_EPISODIC
def . AddAmmoType ( " Hopwire " , DMG_BLAST , TRACER_NONE , " sk_plr_dmg_grenade " , " sk_npc_dmg_grenade " , " sk_max_hopwire " , 0 , 0 ) ;
def . AddAmmoType ( " CombineHeavyCannon " , DMG_BULLET , TRACER_LINE , 40 , 40 , NULL , 1.5 * 750 * 12 , AMMO_FORCE_DROP_IF_CARRIED ) ; // hit like a 100 kg weight at 750 ft/s
def . AddAmmoType ( " ammo_proto1 " , DMG_BULLET , TRACER_LINE , 0 , 0 , 10 , 0 , 0 ) ;
# endif // HL2_EPISODIC
}
return & def ;
}