(svn r15210) -Fix: Vehicle::GetRunningCost() was wrong for ships and aircraft

This commit is contained in:
glx
2009-01-22 21:33:08 +00:00
parent b2d0e14848
commit c5f0fe7c40
5 changed files with 15 additions and 6 deletions

View File

@@ -159,6 +159,11 @@ static void CheckIfShipNeedsService(Vehicle *v)
InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
}
Money Ship::GetRunningCost() const
{
return GetVehicleProperty(this, 0x0F, ShipVehInfo(this->engine_type)->running_cost) * _price.ship_running;
}
void Ship::OnNewDay()
{
if ((++this->day_counter & 7) == 0)
@@ -172,7 +177,7 @@ void Ship::OnNewDay()
if (this->running_ticks == 0) return;
CommandCost cost(EXPENSES_SHIP_RUN, GetVehicleProperty(this, 0x0F, ShipVehInfo(this->engine_type)->running_cost) * _price.ship_running * this->running_ticks / (DAYS_IN_YEAR * DAY_TICKS));
CommandCost cost(EXPENSES_SHIP_RUN, this->GetRunningCost() * this->running_ticks / (DAYS_IN_YEAR * DAY_TICKS));
this->profit_this_year -= cost.GetCost();
this->running_ticks = 0;