int C_NeurotoxinCountdown::GetSeconds( void )
{
	C_BasePlayer *player = UTIL_PlayerByIndex( 1 );
	if ( player )
		return player->GetBonusProgress() % 60;

	return 0.0f;
}
//-----------------------------------------------------------------------------
// Purpose: 
//-----------------------------------------------------------------------------
void CHudBonusProgress::OnThink()
{
	C_GameRules *pGameRules = GameRules();

	if ( !pGameRules )
	{
		// Not ready to init!
		return;
	}

	int newBonusProgress = 0;
	int iBonusChallenge = 0;

	C_BasePlayer *local = C_BasePlayer::GetLocalPlayer();
	if ( !local )
	{
		// Not ready to init!
		return;
	}

	// Never below zero
	newBonusProgress = MAX( local->GetBonusProgress(), 0 );
	iBonusChallenge = local->GetBonusChallenge();

	// Only update the fade if we've changed bonusProgress
	if ( newBonusProgress == m_iBonusProgress && m_iLastChallenge == iBonusChallenge )
	{
		return;
	}

	m_iBonusProgress = newBonusProgress;

	if ( m_iLastChallenge != iBonusChallenge )
	{
		m_iLastChallenge = iBonusChallenge;
		SetChallengeLabel();
	}

	g_pClientMode->GetViewportAnimationController()->StartAnimationSequence("BonusProgressFlash");

	if ( pGameRules->IsBonusChallengeTimeBased() )
	{
		SetIsTime( true );
		SetIndent( false );
	}
	else
	{
		SetIsTime( false );
		SetIndent( true );
	}

	SetDisplayValue(m_iBonusProgress);
}