diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/unmovable.h | 23 | ||||
-rw-r--r-- | src/unmovable_cmd.cpp | 4 |
2 files changed, 18 insertions, 9 deletions
diff --git a/src/unmovable.h b/src/unmovable.h index 0940ce691..dae1c269b 100644 --- a/src/unmovable.h +++ b/src/unmovable.h @@ -17,14 +17,23 @@ void UpdateCompanyHQ(Company *c, uint score); +/** An (unmovable) object that isn't use for transport, industries or houses. */ struct UnmovableSpec { - StringID name; - uint8 buy_cost_multiplier; - uint8 sell_cost_multiplier; - - Money GetRemovalCost() const { return (_price[PR_CLEAR_UNMOVABLE] * this->sell_cost_multiplier); } - Money GetBuildingCost() const { return (_price[PR_BUILD_UNMOVABLE] * this->buy_cost_multiplier); } - + StringID name; ///< The name for this object. + uint8 build_cost_multiplier; ///< Build cost multiplier per tile. + uint8 clear_cost_multiplier; ///< Clear cost multiplier per tile. + + /** + * Get the cost for building a structure of this type. + * @return The cost for building. + */ + Money GetBuildCost() const { return (_price[PR_BUILD_UNMOVABLE] * this->build_cost_multiplier); } + + /** + * Get the cost for clearing a structure of this type. + * @return The cost for clearing. + */ + Money GetClearCost() const { return (_price[PR_CLEAR_UNMOVABLE] * this->clear_cost_multiplier); } }; diff --git a/src/unmovable_cmd.cpp b/src/unmovable_cmd.cpp index 236027e59..27fbc6381 100644 --- a/src/unmovable_cmd.cpp +++ b/src/unmovable_cmd.cpp @@ -162,7 +162,7 @@ CommandCost CmdPurchaseLandArea(TileIndex tile, DoCommandFlag flags, uint32 p1, MarkTileDirtyByTile(tile); } - cost.AddCost(GetUnmovableSpec(UNMOVABLE_OWNED_LAND)->GetBuildingCost()); + cost.AddCost(GetUnmovableSpec(UNMOVABLE_OWNED_LAND)->GetBuildCost()); return cost; } @@ -189,7 +189,7 @@ CommandCost CmdSellLandArea(TileIndex tile, DoCommandFlag flags, uint32 p1, uint if (flags & DC_EXEC) DoClearSquare(tile); - return CommandCost(EXPENSES_CONSTRUCTION, - GetUnmovableSpec(UNMOVABLE_OWNED_LAND)->GetRemovalCost()); + return CommandCost(EXPENSES_CONSTRUCTION, -GetUnmovableSpec(UNMOVABLE_OWNED_LAND)->GetClearCost()); } static Foundation GetFoundation_Unmovable(TileIndex tile, Slope tileh); |