sources » BuildingTypeClass » GetCost
// Overloads TechnoTypeClass::GetCost
int BuildingTypeClass::GetCost() {
int Price = (TechnoTypeClass *)this->GetCost();
vector<AircraftTypeClass *> padAir = Rules->PadAircraft;
if( this == padAir[0]->Dock[0] ) {
if( !Rules->SeparateAircraft ) {
int extraPrice = padAir[1]->GetCost();
extraPrice += padAir[0]->GetCost();
Price -= extraPrice / 2;
}
}
if( this->FreeUnit ) {
int delta = Price - this->FreeUnit->GetCost();
Price = max(delta, 0); // if delta < 0, Price = 0
}
return Price;
}