summaryrefslogtreecommitdiff
path: root/src/ai
diff options
context:
space:
mode:
Diffstat (limited to 'src/ai')
-rw-r--r--src/ai/ai_instance.hpp1
-rw-r--r--src/ai/api/ai_object.cpp8
2 files changed, 8 insertions, 1 deletions
diff --git a/src/ai/ai_instance.hpp b/src/ai/ai_instance.hpp
index bf501dc23..3ae3aa152 100644
--- a/src/ai/ai_instance.hpp
+++ b/src/ai/ai_instance.hpp
@@ -30,6 +30,7 @@ private:
class AIInstance {
public:
+ friend class AIObject;
AIInstance(class AIInfo *info);
~AIInstance();
diff --git a/src/ai/api/ai_object.cpp b/src/ai/api/ai_object.cpp
index 7e531ac47..bb17e58f8 100644
--- a/src/ai/api/ai_object.cpp
+++ b/src/ai/api/ai_object.cpp
@@ -2,6 +2,11 @@
/** @file ai_object.cpp Implementation of AIObject. */
+#include "../../stdafx.h"
+#include <squirrel.h>
+#include "../../script/squirrel.hpp"
+#include "../../company_base.h"
+
#include "ai_log.hpp"
#include "table/strings.h"
#include "../ai.hpp"
@@ -158,7 +163,8 @@ void AIObject::SetAllowDoCommand(bool allow)
bool AIObject::GetAllowDoCommand()
{
- return GetStorage()->allow_do_command;
+ Squirrel *squirrel = Company::Get(_current_company)->ai_instance->engine;
+ return GetStorage()->allow_do_command && squirrel->CanSuspend();
}
void *&AIObject::GetEventPointer()