Fix: Use the same safety checks as 'stop_ai' for 'reload_ai'

This commit is contained in:
glx22 2021-01-18 15:33:39 +01:00 committed by Loïc Guilloux
parent 485aafc1b7
commit 07385c3662
2 changed files with 5 additions and 2 deletions

View File

@ -1406,7 +1406,8 @@ struct AIDebugWindow : public Window {
this->SetWidgetLoweredState(WID_AID_MATCH_CASE_BTN, this->case_sensitive_break_check); this->SetWidgetLoweredState(WID_AID_MATCH_CASE_BTN, this->case_sensitive_break_check);
this->SetWidgetDisabledState(WID_AID_SETTINGS, ai_debug_company == INVALID_COMPANY); this->SetWidgetDisabledState(WID_AID_SETTINGS, ai_debug_company == INVALID_COMPANY);
this->SetWidgetDisabledState(WID_AID_RELOAD_TOGGLE, ai_debug_company == INVALID_COMPANY || ai_debug_company == OWNER_DEITY); extern CompanyID _local_company;
this->SetWidgetDisabledState(WID_AID_RELOAD_TOGGLE, ai_debug_company == INVALID_COMPANY || ai_debug_company == OWNER_DEITY || ai_debug_company == _local_company);
this->SetWidgetDisabledState(WID_AID_CONTINUE_BTN, ai_debug_company == INVALID_COMPANY || this->SetWidgetDisabledState(WID_AID_CONTINUE_BTN, ai_debug_company == INVALID_COMPANY ||
(ai_debug_company == OWNER_DEITY ? !Game::IsPaused() : !AI::IsPaused(ai_debug_company))); (ai_debug_company == OWNER_DEITY ? !Game::IsPaused() : !AI::IsPaused(ai_debug_company)));
} }

View File

@ -1248,7 +1248,8 @@ DEF_CONSOLE_CMD(ConReloadAI)
return true; return true;
} }
if (Company::IsHumanID(company_id)) { /* In offline mode the player can be in an AI company, after cheating or loading network save with an AI in first slot. */
if (Company::IsHumanID(company_id) || company_id == _local_company) {
IConsoleWarning("Company is not controlled by an AI."); IConsoleWarning("Company is not controlled by an AI.");
return true; return true;
} }
@ -1285,6 +1286,7 @@ DEF_CONSOLE_CMD(ConStopAI)
return true; return true;
} }
/* In offline mode the player can be in an AI company, after cheating or loading network save with an AI in first slot. */
if (Company::IsHumanID(company_id) || company_id == _local_company) { if (Company::IsHumanID(company_id) || company_id == _local_company) {
IConsoleWarning("Company is not controlled by an AI."); IConsoleWarning("Company is not controlled by an AI.");
return true; return true;