mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2025-04-16 22:42:31 +03:00
Integrate new response system in TF2
This commit is contained in:
parent
ae139c1194
commit
72a204ea31
@ -19848,6 +19848,9 @@ bool CTFPlayer::CanBeAutobalanced()
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
IResponseSystem *CTFPlayer::GetResponseSystem()
|
IResponseSystem *CTFPlayer::GetResponseSystem()
|
||||||
{
|
{
|
||||||
|
#ifdef NEW_RESPONSE_SYSTEM // New response system contains innate support for class + concept buckets
|
||||||
|
return BaseClass::GetResponseSystem();
|
||||||
|
#else
|
||||||
int iClass = GetPlayerClass()->GetClassIndex();
|
int iClass = GetPlayerClass()->GetClassIndex();
|
||||||
|
|
||||||
if ( m_bSpeakingConceptAsDisguisedSpy && m_Shared.InCond( TF_COND_DISGUISED ) )
|
if ( m_bSpeakingConceptAsDisguisedSpy && m_Shared.InCond( TF_COND_DISGUISED ) )
|
||||||
@ -19868,6 +19871,7 @@ IResponseSystem *CTFPlayer::GetResponseSystem()
|
|||||||
{
|
{
|
||||||
return TFGameRules()->m_ResponseRules[iClass].m_ResponseSystems[m_iCurrentConcept];
|
return TFGameRules()->m_ResponseRules[iClass].m_ResponseSystems[m_iCurrentConcept];
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
@ -225,11 +225,13 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
#ifndef NEW_RESPONSE_SYSTEM // New response system contains innate support for class + concept buckets
|
||||||
struct ResponseRules_t
|
struct ResponseRules_t
|
||||||
{
|
{
|
||||||
CUtlVector<IResponseSystem*> m_ResponseSystems;
|
CUtlVector<IResponseSystem*> m_ResponseSystems;
|
||||||
};
|
};
|
||||||
CUtlVector<ResponseRules_t> m_ResponseRules;
|
CUtlVector<ResponseRules_t> m_ResponseRules;
|
||||||
|
#endif
|
||||||
|
|
||||||
virtual void InitCustomResponseRulesDicts() {}
|
virtual void InitCustomResponseRulesDicts() {}
|
||||||
virtual void ShutdownCustomResponseRulesDicts() {}
|
virtual void ShutdownCustomResponseRulesDicts() {}
|
||||||
|
@ -7549,7 +7549,9 @@ CTFGameRules::~CTFGameRules()
|
|||||||
// Note, don't delete each team since they are in the gEntList and will
|
// Note, don't delete each team since they are in the gEntList and will
|
||||||
// automatically be deleted from there, instead.
|
// automatically be deleted from there, instead.
|
||||||
TFTeamMgr()->Shutdown();
|
TFTeamMgr()->Shutdown();
|
||||||
|
#ifndef NEW_RESPONSE_SYSTEM // New response system contains innate support for class + concept buckets
|
||||||
ShutdownCustomResponseRulesDicts();
|
ShutdownCustomResponseRulesDicts();
|
||||||
|
#endif
|
||||||
|
|
||||||
// clean up cached teleport locations
|
// clean up cached teleport locations
|
||||||
m_mapTeleportLocations.PurgeAndDeleteElements();
|
m_mapTeleportLocations.PurgeAndDeleteElements();
|
||||||
@ -18530,6 +18532,7 @@ bool CTFGameRules::ShouldShowTeamGoal( void )
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void CTFGameRules::ShutdownCustomResponseRulesDicts()
|
void CTFGameRules::ShutdownCustomResponseRulesDicts()
|
||||||
{
|
{
|
||||||
|
#ifndef NEW_RESPONSE_SYSTEM // New response system contains innate support for class + concept buckets
|
||||||
DestroyCustomResponseSystems();
|
DestroyCustomResponseSystems();
|
||||||
|
|
||||||
if ( m_ResponseRules.Count() != 0 )
|
if ( m_ResponseRules.Count() != 0 )
|
||||||
@ -18541,6 +18544,7 @@ void CTFGameRules::ShutdownCustomResponseRulesDicts()
|
|||||||
}
|
}
|
||||||
m_ResponseRules.Purge();
|
m_ResponseRules.Purge();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -18548,6 +18552,14 @@ void CTFGameRules::ShutdownCustomResponseRulesDicts()
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void CTFGameRules::InitCustomResponseRulesDicts()
|
void CTFGameRules::InitCustomResponseRulesDicts()
|
||||||
{
|
{
|
||||||
|
#ifdef NEW_RESPONSE_SYSTEM
|
||||||
|
|
||||||
|
// The default bucket sorts by classname in Mapbase HL2, and originally the "Who" criterion in L4D2
|
||||||
|
// TF2 uses the "playerclass" criterion for this
|
||||||
|
ConVarRef rr_bucket_name_who( "rr_bucket_name_who" );
|
||||||
|
rr_bucket_name_who.SetValue( "playerclass" );
|
||||||
|
|
||||||
|
#else // New response system contains innate support for class + concept buckets
|
||||||
MEM_ALLOC_CREDIT();
|
MEM_ALLOC_CREDIT();
|
||||||
|
|
||||||
// Clear if necessary.
|
// Clear if necessary.
|
||||||
@ -18575,6 +18587,7 @@ void CTFGameRules::InitCustomResponseRulesDicts()
|
|||||||
m_ResponseRules[iClass].m_ResponseSystems[iConcept] = BuildCustomResponseSystemGivenCriteria( "scripts/talker/response_rules.txt", szName, criteriaSet, flCriteriaScore );
|
m_ResponseRules[iClass].m_ResponseSystems[iConcept] = BuildCustomResponseSystemGivenCriteria( "scripts/talker/response_rules.txt", szName, criteriaSet, flCriteriaScore );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user