//-----------------------------------------------------------------------------
// Purpose: 
//-----------------------------------------------------------------------------
void CVehicleMotorcycle::Spawn()
{
	SetModel( MOTORCYCLE_MODEL );
	
	// This size is used for placement only...
	UTIL_SetSize(this, MOTORCYCLE_MINS, MOTORCYCLE_MAXS);
	m_takedamage = DAMAGE_YES;
	m_iHealth = vehicle_motorcycle_health.GetInt();

	SetType( OBJ_VEHICLE_MOTORCYCLE );
	SetMaxPassengerCount( 4 );

	BaseClass::Spawn();
}
//-----------------------------------------------------------------------------
// Purpose: 
//-----------------------------------------------------------------------------
void CVehicleMortar::Spawn()
{
	SetModel( MORTAR_MODEL );
	
	// This size is used for placement only...
	SetSize(MORTAR_MINS, MORTAR_MAXS);
	m_takedamage = DAMAGE_YES;
	m_iHealth = vehicle_mortar_health.GetInt();

	SetType( OBJ_VEHICLE_MORTAR );
	SetMaxPassengerCount( 1 );

	BaseClass::Spawn();
}
//-----------------------------------------------------------------------------
// Purpose: 
//-----------------------------------------------------------------------------
void CVehicleSiegeTower::Spawn()
{
	SetVehicleSounds( SIEGE_TOWER_START_SOUND, SIEGE_TOWER_RUNNING_SOUND, NULL, NULL );
	SetModel( SIEGE_TOWER_MODEL );
	
	// This size is used for placement only...
	UTIL_SetSize( this, SIEGE_TOWER_MINS, SIEGE_TOWER_MAXS );
	m_takedamage = DAMAGE_YES;
	m_iHealth = vehicle_siege_tower_health.GetInt();

	SetType( OBJ_SIEGE_TOWER );
	SetMaxPassengerCount( 4 );

	BaseClass::Spawn();
}
//-----------------------------------------------------------------------------
// Purpose: 
//-----------------------------------------------------------------------------
void CVehicleTeleportStation::Spawn()
{
	SetVehicleSounds( TELEPORT_STATION_START_SOUND, TELEPORT_STATION_RUNNING_SOUND, NULL, NULL );
	SetModel( TELEPORT_STATION_MODEL );
	
	// This size is used for placement only...
	UTIL_SetSize( this, TELEPORT_STATION_MINS, TELEPORT_STATION_MAXS );
	m_takedamage = DAMAGE_YES;
	m_iHealth = vehicle_teleport_station_health.GetInt();

	SetType( OBJ_VEHICLE_TELEPORT_STATION );
	SetMaxPassengerCount( 4 );
	SetBodygroup( 1, true );

	BaseClass::Spawn();
}
//-----------------------------------------------------------------------------
// Purpose: 
//-----------------------------------------------------------------------------
void CObjectBaseMannedGun::Spawn()
{
	m_takedamage = DAMAGE_YES;

	SetMaxPassengerCount( 1 );

	m_flGunYaw = 0;
	m_flGunPitch = 0;
	m_flBarrelPitch = 0;

	BaseClass::Spawn();

	// Manned guns don't need to be built like other vehicles
	int curFlags = GetObjectFlags();
	curFlags &= ~OF_MUST_BE_BUILT_IN_CONSTRUCTION_YARD;
	curFlags &= ~OF_MUST_BE_BUILT_ON_ATTACHMENT;
	curFlags &= ~OF_DOESNT_NEED_POWER;
	curFlags |= OF_DONT_PREVENT_BUILD_NEAR_OBJ;
	SetObjectFlags( curFlags );

	m_flMaxRange = 0;
}