@@ -117,25 +117,25 @@ int32 CmdIncreaseLoan(TileIndex tile, ui
{
Player *p;
p = GetPlayer(_current_player);
if (p->current_loan >= _economy.max_loan) {
SetDParam(0, _economy.max_loan);
return_cmd_error(STR_702B_MAXIMUM_PERMITTED_LOAN);
}
if (flags & DC_EXEC) {
/* Loan the maximum amount or not? */
int32 loan = (p2) ? _economy.max_loan - p->current_loan : (IS_HUMAN_PLAYER(_current_player) || _patches.ainew_active) ? 10000 : 50000;
int32 loan = (p2) ? _economy.max_loan - p->current_loan : (IsHumanPlayer(_current_player) || _patches.ainew_active) ? 10000 : 50000;
p->money64 += loan;
p->current_loan += loan;
UpdatePlayerMoney32(p);
InvalidatePlayerWindows(p);
return 0;
/** Decrease the loan of your company.
* @param tile unused
@@ -151,25 +151,25 @@ int32 CmdDecreaseLoan(TileIndex tile, ui
if (p->current_loan == 0) return_cmd_error(STR_702D_LOAN_ALREADY_REPAYED);
loan = p->current_loan;
/* p2 is true while CTRL is pressed (repay all possible loan, or max money you have)
* Repay any loan in chunks of 10.000 pounds */
if (p2) {
loan = min(loan, p->player_money);
loan = max(loan, 10000);
loan -= loan % 10000;
} else {
loan = min(loan, (IS_HUMAN_PLAYER(_current_player) || _patches.ainew_active) ? 10000 : 50000);
loan = min(loan, (IsHumanPlayer(_current_player) || _patches.ainew_active) ? 10000 : 50000);
if (p->player_money < loan) {
SetDParam(0, loan);
return_cmd_error(STR_702E_REQUIRED);
p->money64 -= loan;
p->current_loan -= loan;