// get the player owner of this weapon (either the unit's commander if the weapon is
//  being held by unit, or the player directly if a player is holding this weapon)
CHL2WarsPlayer* CWarsWeapon::GetCommander()
{
	CHL2WarsPlayer *pOwner = NULL;
	CUnitBase *pUnit = NULL;

	pUnit = dynamic_cast<CUnitBase*>( GetOwner() );
	if ( pUnit )
	{
		pOwner = pUnit->GetCommander();
	}
	else
	{
		pOwner = ToHL2WarsPlayer( dynamic_cast<CBasePlayer*>( GetOwner() ) );
	}

	return pOwner;
}
Beispiel #2
0
//-----------------------------------------------------------------------------
// Purpose: 
//-----------------------------------------------------------------------------
void UTIL_ListPlayersForOwnerNumber( int ownernumber, CUtlVector< CHL2WarsPlayer * > &players )
{
	for( int i = 1; i < gpGlobals->maxClients + 1; i++ )
	{
		CHL2WarsPlayer *pPlayer = ToHL2WarsPlayer( UTIL_PlayerByIndex( i ) );
#ifdef CLIENT_DLL
		if( !pPlayer )
#else
		if( !pPlayer || !pPlayer->IsConnected() )
#endif // CLIENT_DLL
			continue;

		if( pPlayer->GetOwnerNumber() != ownernumber )
			continue;

		players.AddToTail( pPlayer );
	}
}
Beispiel #3
0
//-----------------------------------------------------------------------------
// Purpose: This is called post player movement to copy back all data that
//          movement could have modified and that is necessary for future
//          movement. (Server-side, the client-side version of this code can 
//          be found in prediction.cpp.)
//-----------------------------------------------------------------------------
void CHL2WarsPlayerMove::FinishMove( CBasePlayer *player, CUserCmd *ucmd, CMoveData *move )
{
	// Call the default FinishMove code.
	BaseClass::FinishMove( player, ucmd, move );

	/*IServerVehicle *pVehicle = player->GetVehicle();
	if (pVehicle && gpGlobals->frametime != 0)
	{
		pVehicle->FinishMove( player, ucmd, move );
	}*/

	// Strategic mode specific stuff
	// Don't filter. Always update.
	CHL2WarsPlayer *pPlayer = ToHL2WarsPlayer(player);
	if( !pPlayer ) //|| pPlayer->IsStrategicModeOn() == false )
		return;

	// Copy mouse aim
	pPlayer->SetCameraOffset( ucmd->m_vCameraOffset );
	pPlayer->UpdateMouseData( ucmd->m_vMouseAim );
}