(svn r13383) -Codechange: Put the cost of house removal in a class member

This commit is contained in:
belugas 2008-06-05 01:43:03 +00:00
parent f4b1d4b48b
commit c39997508e
2 changed files with 14 additions and 1 deletions

View File

@ -16,6 +16,7 @@
#include "settings_type.h"
#include "strings_type.h"
#include "viewport_type.h"
#include "economy_type.h"
enum {
HOUSE_NO_CLASS = 0,
@ -242,6 +243,13 @@ struct HouseSpec {
/* grf file related properties*/
uint8 local_id; ///< id defined by the grf file for this house
const struct GRFFile *grffile; ///< grf file that introduced this house
/**
* Get the cost for removing this house
* @return the cost (inflation corrected etc)
*/
Money GetRemovalCost() const;
};
extern HouseSpec _house_specs[HOUSE_MAX];

View File

@ -127,6 +127,11 @@ void Town::InitializeLayout()
}
}
Money HouseSpec::GetRemovalCost() const
{
return (_price.remove_house * this->removal_cost) >> 8;
}
// Local
static int _grow_town_result;
@ -517,7 +522,7 @@ static CommandCost ClearTile_Town(TileIndex tile, byte flags)
const HouseSpec *hs = GetHouseSpecs(GetHouseType(tile));
CommandCost cost(EXPENSES_CONSTRUCTION);
cost.AddCost(_price.remove_house * hs->removal_cost >> 8);
cost.AddCost(hs->GetRemovalCost());
int rating = hs->remove_rating_decrease;
_cleared_town_rating += rating;