//  Overloads TechnoTypeClass::GetPrice 
int BuildingTypeClass::GetPrice(HouseClass *OwnerHouse) {

  int Price = (TechnoTypeClass *)this->GetPrice(OwnerHouse);
  
  vector<AircraftTypeClass *> padAir = Rules->PadAircraft;
  if( this == padAir[0]->Dock[0] ) {
    if( !Rules->SeparateAircraft ) {
      int extraPrice = padAir[1]->GetPrice(OwnerHouse);
      extraPrice += padAir[0]->GetPrice(OwnerHouse);
      Price += extraPrice / 2;
    }
  }
  
  if( this->FreeUnit ) {
    int sum = this->FreeUnit->GetPrice(OwnerHouse) + Price;
    Price = max(sum, 0);
  }
  
  return Price;
}