void CHL2MP_Player::ChangeTeam( int iTeam )
{
/*	if ( GetNextTeamChangeTime() >= gpGlobals->curtime )
	{
		char szReturnString[128];
		Q_snprintf( szReturnString, sizeof( szReturnString ), "Please wait %d more seconds before trying to switch teams again.\n", (int)(GetNextTeamChangeTime() - gpGlobals->curtime) );

		ClientPrint( this, HUD_PRINTTALK, szReturnString );
		return;
	}*/

	bool bKill = false;

	if (iTeam != GetTeamNumber() && GetTeamNumber() != TEAM_UNASSIGNED)
	{
		bKill = true;
	}

	BaseClass::ChangeTeam( iTeam );

	SetPlayerModel();

	if ( iTeam == TEAM_SPECTATOR )
	{
		RemoveAllItems( true );

		State_Transition( STATE_OBSERVER_MODE );
	}

	if ( bKill == true )
	{
		CommitSuicide();
	}
}
void CHL1MP_Player::ChangeTeam( int iTeamNum )
{
	bool bKill = false;

	if ( g_pGameRules->IsTeamplay() == true )
	{
		if ( iTeamNum != GetTeamNumber() && GetTeamNumber() != TEAM_UNASSIGNED )
		{
			bKill = true;
		}
	}

	BaseClass::ChangeTeam( iTeamNum );

	m_flNextTeamChangeTime = gpGlobals->curtime + 5;

	if ( g_pGameRules->IsTeamplay() == true )
	{
		SetPlayerTeamModel();
	}
	else
	{
		SetPlayerModel();
	}

	if ( bKill == true )
	{
		CommitSuicide();
	}
}
void CHL2MP_Player::ChangeTeam( int iTeam )
{
    /*	if ( GetNextTeamChangeTime() >= gpGlobals->curtime )
    	{
    		char szReturnString[128];
    		Q_snprintf( szReturnString, sizeof( szReturnString ), "Please wait %d more seconds before trying to switch teams again.\n", (int)(GetNextTeamChangeTime() - gpGlobals->curtime) );

    		ClientPrint( this, HUD_PRINTTALK, szReturnString );
    		return;
    	}*/
#ifndef GE_DLL
    bool bKill = false;

    if ( HL2MPRules()->IsTeamplay() != true && iTeam != TEAM_SPECTATOR )
    {
        //don't let them try to join combine or rebels during deathmatch.
        iTeam = TEAM_UNASSIGNED;
    }

    if ( HL2MPRules()->IsTeamplay() == true )
    {
        if ( iTeam != GetTeamNumber() && GetTeamNumber() != TEAM_UNASSIGNED )
        {
            bKill = true;
        }
    }

    BaseClass::ChangeTeam( iTeam );

    m_flNextTeamChangeTime = gpGlobals->curtime + TEAM_CHANGE_INTERVAL;

    if ( HL2MPRules()->IsTeamplay() == true )
    {
        SetPlayerTeamModel();
    }
    else
    {
        SetPlayerModel();
    }

    if ( iTeam == TEAM_SPECTATOR )
    {
        RemoveAllItems( true );

        State_Transition( STATE_OBSERVER_MODE );
    }

    if ( bKill == true )
    {
        CommitSuicide();
    }
#else
    BaseClass::ChangeTeam( iTeam );
#endif
}
void CHL1MP_Player::Spawn( void )
{
	RemoveEffects( EF_NODRAW );

	m_flNextModelChangeTime = 0;
	m_flNextTeamChangeTime = 0;

    SetMoveType( MOVETYPE_WALK );
    RemoveSolidFlags( FSOLID_NOT_SOLID );

	// if no model, force one
	if ( !GetModelPtr() )
		SetModel( "models/player/mp/gordon/gordon.mdl" );

	BaseClass::Spawn();

    GiveDefaultItems();
	SetPlayerModel();

	m_bHasLongJump = false;

	m_iSpawnInterpCounter = (m_iSpawnInterpCounter + 1) % 8;
}