summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ai/ai_config.cpp9
-rw-r--r--src/ai/ai_config.hpp4
2 files changed, 10 insertions, 3 deletions
diff --git a/src/ai/ai_config.cpp b/src/ai/ai_config.cpp
index 20e913c2e..a78281478 100644
--- a/src/ai/ai_config.cpp
+++ b/src/ai/ai_config.cpp
@@ -35,6 +35,15 @@ ScriptConfigItem _start_date_config = {
false
};
+AIConfig::AIConfig(const AIConfig *config) : ScriptConfig(config)
+{
+ /* Override start_date as per AIConfig::AddRandomDeviation().
+ * This is necessary because the ScriptConfig constructor will instead call
+ * ScriptConfig::AddRandomDeviation(). */
+ int start_date = config->GetSetting("start_date");
+ this->SetSetting("start_date", start_date != 0 ? max(1, this->GetSetting("start_date")) : 0);
+}
+
/* static */ AIConfig *AIConfig::GetConfig(CompanyID company, ScriptSettingSource source)
{
AIConfig **config;
diff --git a/src/ai/ai_config.hpp b/src/ai/ai_config.hpp
index 600ae1af9..30c6f84bb 100644
--- a/src/ai/ai_config.hpp
+++ b/src/ai/ai_config.hpp
@@ -26,9 +26,7 @@ public:
ScriptConfig()
{}
- AIConfig(const AIConfig *config) :
- ScriptConfig(config)
- {}
+ AIConfig(const AIConfig *config);
class AIInfo *GetInfo() const;