//-------------------------------------------------------------------
//
//  This code is copyright 2001 by G5 Software.
//  Any unauthorized usage, either in part or in whole of this code
//  is strictly prohibited. Violators WILL be prosecuted to the
//  maximum extent allowed by law.
//
//-------------------------------------------------------------------

class CLargeCountryHouseMesh_1
{
  string MeshFile = "Models/B_Country_6.mesh";
  string SkinFile = "Models/B_Country_6.skin";
}

class CLargeCountryHouseMesh_2
{
  string MeshFile = "Models/B_Country_7.mesh";
  string SkinFile = "Models/B_Country_7.skin";
}

class CLargeCountryHouseMesh_3
{
  string MeshFile = "Models/B_Country_8.mesh";
  string SkinFile = "Models/B_Country_8.skin";
}

class CLargeCountryHouseMesh_4
{
  string MeshFile = "Models/B_Country_9.mesh";
  string SkinFile = "Models/B_Country_9.skin";
}

class CLargeCountryHouseMesh_5
{
  string MeshFile = "Models/B_House_d.mesh";
  string SkinFile = "Models/B_House_d.skin";
}

class CLargeCountryHouseStateControl extends CUnitLifeControl
{
  void CLargeCountryHouseStateControl()
  {
    CUnitLifeControl(2500.0);
    m_DestroyPause = 20.0;
    m_ExplosionId  = "EXPLID_BuildingExplosion";
  }
}

// Building without ground control (for use in villages)
class CBaseLargeCountryHouse extends CBuilding, CUnitWithStateControl
{
  array m_MeshClassNames = array(
      "CLargeCountryHouseMesh_1",
      "CLargeCountryHouseMesh_2",
      "CLargeCountryHouseMesh_3",
      "CLargeCountryHouseMesh_4",
      "CLargeCountryHouseMesh_5"
    );

  void CBaseLargeCountryHouse()
  {
    int MeshNumber = rand_int(m_MeshClassNames.size());
    InitializeModelAsStatic(m_MeshClassNames[MeshNumber]);
    CUnitWithStateControl("CLargeCountryHouseStateControl");
  }
}

// Single game object
class CMountedLargeCountryHouse extends CBaseLargeCountryHouse
{
  void CMountedLargeCountryHouse()
  {
    InitializeGroundControl();
  }
}

