upload "kind" alien swarm

This commit is contained in:
nillerusr
2023-10-03 17:23:56 +03:00
parent b7bd94c52e
commit 7d3c0d8b5a
4229 changed files with 462900 additions and 495155 deletions
+32 -7
View File
@@ -1,4 +1,4 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose: Squad classes
//
@@ -153,7 +153,7 @@ END_DATADESC()
//-------------------------------------
CAI_Squad::CAI_Squad(string_t newName)
CAI_Squad::CAI_Squad(string_t newName)
#ifndef PER_ENEMY_SQUADSLOTS
: m_squadSlotsUsed(MAX_SQUADSLOTS)
#endif
@@ -163,7 +163,7 @@ CAI_Squad::CAI_Squad(string_t newName)
//-------------------------------------
CAI_Squad::CAI_Squad()
CAI_Squad::CAI_Squad()
#ifndef PER_ENEMY_SQUADSLOTS
: m_squadSlotsUsed(MAX_SQUADSLOTS)
#endif
@@ -175,7 +175,7 @@ CAI_Squad::CAI_Squad()
void CAI_Squad::Init(string_t newName)
{
m_Name = newName;
m_Name = AllocPooledString( STRING(newName) );
m_pNextSquad = NULL;
m_flSquadSoundWaitTime = 0;
m_SquadMembers.RemoveAll();
@@ -263,9 +263,10 @@ void CAI_Squad::AddToSquad(CAI_BaseNPC *pNPC)
if (m_SquadMembers.Count() == MAX_SQUAD_MEMBERS)
{
DevMsg("Error!! Squad %s is too big!!! Replacing last member\n", STRING( this->m_Name ));
DevMsg("Error!! Squad %s is too big!!! Replacing last member\n", STRING(this->m_Name) );
m_SquadMembers.Remove(m_SquadMembers.Count()-1);
}
m_SquadMembers.AddToTail(pNPC);
pNPC->SetSquad( this );
pNPC->SetSquadName( m_Name );
@@ -273,6 +274,7 @@ void CAI_Squad::AddToSquad(CAI_BaseNPC *pNPC)
if ( m_SquadMembers.Count() > 1 )
{
CAI_BaseNPC *pCopyFrom = m_SquadMembers[0];
Assert( pCopyFrom != NULL );
CAI_Enemies *pEnemies = pCopyFrom->GetEnemies();
AIEnemiesIter_t iter;
AI_EnemyInfo_t *pInfo = pEnemies->GetFirst( &iter );
@@ -294,7 +296,7 @@ CAI_BaseNPC *CAI_Squad::SquadMemberInRange( const Vector &vecLocation, float flD
if (m_SquadMembers[i] != NULL && (vecLocation - m_SquadMembers[i]->GetAbsOrigin() ).Length2D() <= flDist)
return m_SquadMembers[i];
}
return NULL;
return false;
}
//-------------------------------------
@@ -420,7 +422,7 @@ CAI_BaseNPC *CAI_Squad::GetLeader( void )
//-----------------------------------------------------------------------------
CAI_BaseNPC *CAI_Squad::GetFirstMember( AISquadIter_t *pIter, bool bIgnoreSilentMembers )
{
intp i = 0;
int i = 0;
if ( bIgnoreSilentMembers )
{
for ( ; i < m_SquadMembers.Count(); i++ )
@@ -459,6 +461,29 @@ CAI_BaseNPC *CAI_Squad::GetNextMember( AISquadIter_t *pIter, bool bIgnoreSilentM
return m_SquadMembers[i];
}
//-------------------------------------
// Purpose: Returns the average of the
// positions of all squad members.
// Optionally, you may exclude one
// member.
//-------------------------------------
Vector CAI_Squad::ComputeSquadCentroid( bool bIncludeSilentMembers, CBaseCombatCharacter *pExcludeMember )
{
int count = 0;
Vector vecSumOfOrigins = Vector( 0, 0, 0 );
for ( int i = 0; i < m_SquadMembers.Count(); i++ )
{
if ( (m_SquadMembers[i] != pExcludeMember) && (bIncludeSilentMembers||!IsSilentMember(m_SquadMembers[i]) ) )
{
count++;
vecSumOfOrigins+= m_SquadMembers[i]->GetAbsOrigin();
}
}
return vecSumOfOrigins / count;
}
//-------------------------------------
// Purpose: Alert everyone in the squad to the presence of a new enmey
//-------------------------------------