diff options
| author | Narendra Umate <[email protected]> | 2013-12-08 01:27:41 -0800 |
|---|---|---|
| committer | Narendra Umate <[email protected]> | 2013-12-08 01:27:41 -0800 |
| commit | 4fa56874ba1557274c10077bf8386ece4c61dbd6 (patch) | |
| tree | e2d336604e960b548e996d2e7dcfc5a1e1401b9e /mp/src/game/shared/multiplay_gamerules.cpp | |
| parent | Added DS_Store to .gitignore. (diff) | |
| parent | Make libSDL2.so/dylib into symlinks. (diff) | |
| download | source-sdk-2013-4fa56874ba1557274c10077bf8386ece4c61dbd6.tar.xz source-sdk-2013-4fa56874ba1557274c10077bf8386ece4c61dbd6.zip | |
Merge remote-tracking branch 'upstream/master'
Reverted .gitattributes xcode_ccache_wrapper change. Fixed line endings
for .gitignore and .gitattributes.
Diffstat (limited to 'mp/src/game/shared/multiplay_gamerules.cpp')
| -rw-r--r-- | mp/src/game/shared/multiplay_gamerules.cpp | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/mp/src/game/shared/multiplay_gamerules.cpp b/mp/src/game/shared/multiplay_gamerules.cpp index 409f2362..07932e92 100644 --- a/mp/src/game/shared/multiplay_gamerules.cpp +++ b/mp/src/game/shared/multiplay_gamerules.cpp @@ -641,7 +641,7 @@ ConVarRef suitcharger( "sk_suitcharger" ); //========================================================= //========================================================= - bool CMultiplayRules::FPlayerCanTakeDamage( CBasePlayer *pPlayer, CBaseEntity *pAttacker ) + bool CMultiplayRules::FPlayerCanTakeDamage( CBasePlayer *pPlayer, CBaseEntity *pAttacker, const CTakeDamageInfo &info ) { return true; } @@ -834,7 +834,11 @@ ConVarRef suitcharger( "sk_suitcharger" ); // If the inflictor is the killer, then it must be their current weapon doing the damage if ( pScorer->GetActiveWeapon() ) { +#ifdef HL1MP_DLL + killer_weapon_name = pScorer->GetActiveWeapon()->GetClassname(); +#else killer_weapon_name = pScorer->GetActiveWeapon()->GetDeathNoticeName(); +#endif } } else @@ -870,7 +874,9 @@ ConVarRef suitcharger( "sk_suitcharger" ); event->SetInt("attacker", killer_ID ); event->SetInt("customkill", info.GetDamageCustom() ); event->SetInt("priority", 7 ); // HLTV event priority, not transmitted - +#ifdef HL1MP_DLL + event->SetString("weapon", killer_weapon_name ); +#endif gameeventmanager->FireEvent( event ); } @@ -1748,6 +1754,37 @@ ConVarRef suitcharger( "sk_suitcharger" ); } } + void CMultiplayRules::RandomPlayersSpeakConceptIfAllowed( int iConcept, int iNumRandomPlayer /*= 1*/, int iTeam /*= TEAM_UNASSIGNED*/, const char *modifiers /*= NULL*/ ) + { + CUtlVector< CBaseMultiplayerPlayer* > speakCandidates; + + CBaseMultiplayerPlayer *pPlayer; + for ( int i = 1; i <= gpGlobals->maxClients; i++ ) + { + pPlayer = ToBaseMultiplayerPlayer( UTIL_PlayerByIndex( i ) ); + + if ( !pPlayer ) + continue; + + if ( iTeam != TEAM_UNASSIGNED ) + { + if ( pPlayer->GetTeamNumber() != iTeam ) + continue; + } + + speakCandidates.AddToTail( pPlayer ); + } + + int iSpeaker = iNumRandomPlayer; + while ( iSpeaker > 0 && speakCandidates.Count() > 0 ) + { + int iRandomSpeaker = RandomInt( 0, speakCandidates.Count() - 1 ); + speakCandidates[ iRandomSpeaker ]->SpeakConceptIfAllowed( iConcept, modifiers ); + speakCandidates.FastRemove( iRandomSpeaker ); + iSpeaker--; + } + } + void CMultiplayRules::ClientSettingsChanged( CBasePlayer *pPlayer ) { // NVNT see if this user is still or has began using a haptic device |