(svn r25011) -Codechange: allow vehicle transfer and profit text effects to be shown at the same time (fonsinchen)
This commit is contained in:
@@ -1140,21 +1140,23 @@ CargoPayment::~CargoPayment()
|
||||
|
||||
this->front->cargo_payment = NULL;
|
||||
|
||||
if (this->visual_profit == 0) return;
|
||||
if (this->visual_profit == 0 && this->visual_transfer == 0) return;
|
||||
|
||||
Backup<CompanyByte> cur_company(_current_company, this->front->owner, FILE_LINE);
|
||||
|
||||
SubtractMoneyFromCompany(CommandCost(this->front->GetExpenseType(true), -this->route_profit));
|
||||
this->front->profit_this_year += this->visual_profit << 8;
|
||||
this->front->profit_this_year += (this->visual_profit + this->visual_transfer) << 8;
|
||||
|
||||
if (this->route_profit != 0) {
|
||||
if (IsLocalCompany() && !PlayVehicleSound(this->front, VSE_LOAD_UNLOAD)) {
|
||||
SndPlayVehicleFx(SND_14_CASHTILL, this->front);
|
||||
}
|
||||
if (this->route_profit != 0 && IsLocalCompany() && !PlayVehicleSound(this->front, VSE_LOAD_UNLOAD)) {
|
||||
SndPlayVehicleFx(SND_14_CASHTILL, this->front);
|
||||
}
|
||||
|
||||
ShowCostOrIncomeAnimation(this->front->x_pos, this->front->y_pos, this->front->z_pos, -this->visual_profit);
|
||||
} else {
|
||||
ShowFeederIncomeAnimation(this->front->x_pos, this->front->y_pos, this->front->z_pos, this->visual_profit);
|
||||
if (this->visual_transfer != 0) {
|
||||
ShowFeederIncomeAnimation(this->front->x_pos, this->front->y_pos,
|
||||
this->front->z_pos, this->visual_transfer, -this->visual_profit);
|
||||
} else if (this->visual_profit != 0) {
|
||||
ShowCostOrIncomeAnimation(this->front->x_pos, this->front->y_pos,
|
||||
this->front->z_pos, -this->visual_profit);
|
||||
}
|
||||
|
||||
cur_company.Restore();
|
||||
@@ -1196,7 +1198,7 @@ Money CargoPayment::PayTransfer(const CargoPacket *cp, uint count)
|
||||
|
||||
profit = profit * _settings_game.economy.feeder_payment_share / 100;
|
||||
|
||||
this->visual_profit += profit; // accumulate transfer profits for whole vehicle
|
||||
this->visual_transfer += profit; // accumulate transfer profits for whole vehicle
|
||||
return profit; // account for the (virtual) profit already made for the cargo packet
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user