misc_cmd.c
changeset 4845 49105d3b5a9a
parent 4603 3ccd4ee0a2e2
child 4850 b4e9be22945f
equal deleted inserted replaced
4844:15faacbff622 4845:49105d3b5a9a
   124 		return_cmd_error(STR_702B_MAXIMUM_PERMITTED_LOAN);
   124 		return_cmd_error(STR_702B_MAXIMUM_PERMITTED_LOAN);
   125 	}
   125 	}
   126 
   126 
   127 	if (flags & DC_EXEC) {
   127 	if (flags & DC_EXEC) {
   128 		/* Loan the maximum amount or not? */
   128 		/* Loan the maximum amount or not? */
   129 		int32 loan = (p2) ? _economy.max_loan - p->current_loan : (IS_HUMAN_PLAYER(_current_player) || _patches.ainew_active) ? 10000 : 50000;
   129 		int32 loan = (p2) ? _economy.max_loan - p->current_loan : (IsHumanPlayer(_current_player) || _patches.ainew_active) ? 10000 : 50000;
   130 
   130 
   131 		p->money64 += loan;
   131 		p->money64 += loan;
   132 		p->current_loan += loan;
   132 		p->current_loan += loan;
   133 		UpdatePlayerMoney32(p);
   133 		UpdatePlayerMoney32(p);
   134 		InvalidatePlayerWindows(p);
   134 		InvalidatePlayerWindows(p);
   158 	if (p2) {
   158 	if (p2) {
   159 		loan = min(loan, p->player_money);
   159 		loan = min(loan, p->player_money);
   160 		loan = max(loan, 10000);
   160 		loan = max(loan, 10000);
   161 		loan -= loan % 10000;
   161 		loan -= loan % 10000;
   162 	} else {
   162 	} else {
   163 		loan = min(loan, (IS_HUMAN_PLAYER(_current_player) || _patches.ainew_active) ? 10000 : 50000);
   163 		loan = min(loan, (IsHumanPlayer(_current_player) || _patches.ainew_active) ? 10000 : 50000);
   164 	}
   164 	}
   165 
   165 
   166 	if (p->player_money < loan) {
   166 	if (p->player_money < loan) {
   167 		SetDParam(0, loan);
   167 		SetDParam(0, loan);
   168 		return_cmd_error(STR_702E_REQUIRED);
   168 		return_cmd_error(STR_702E_REQUIRED);