(svn r13383) -Codechange: Put the cost of house removal in a class member
authorbelugas
Thu, 05 Jun 2008 01:43:03 +0000
changeset 10832 55d2502fc17f
parent 10830 6f77385d473b
child 10833 a65ff54db676
(svn r13383) -Codechange: Put the cost of house removal in a class member
src/town.h
src/town_cmd.cpp
--- a/src/town.h	Wed Jun 04 22:30:44 2008 +0000
+++ b/src/town.h	Thu Jun 05 01:43:03 2008 +0000
@@ -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 @@
 	/* 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];
--- a/src/town_cmd.cpp	Wed Jun 04 22:30:44 2008 +0000
+++ b/src/town_cmd.cpp	Thu Jun 05 01:43:03 2008 +0000
@@ -127,6 +127,11 @@
 	}
 }
 
+Money HouseSpec::GetRemovalCost() const
+{
+	return (_price.remove_house * this->removal_cost) >> 8;
+}
+
 // Local
 static int _grow_town_result;
 
@@ -517,7 +522,7 @@
 	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;