From 584e97b0b7df5273a014e60b6656c16b4ebfa103 Mon Sep 17 00:00:00 2001
From: Allanis <allanis@saracraft.net>
Date: Tue, 31 Dec 2013 04:31:20 +0000
Subject: [PATCH] [Add] Applied some minimum docking requirements.

---
 scripts/ai/tpl/escort.lua | 2 +-
 src/pilot.c               | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/scripts/ai/tpl/escort.lua b/scripts/ai/tpl/escort.lua
index 47f34d5..82f772c 100644
--- a/scripts/ai/tpl/escort.lua
+++ b/scripts/ai/tpl/escort.lua
@@ -74,7 +74,7 @@ function flyback()
     ai.dock(target)
 
   -- Far away, must approach.
-  elseif dir < 10 and dist > 200 then
+  elseif dir < 10 then
     ai.accel()
   end
 end
diff --git a/src/pilot.c b/src/pilot.c
index 593431f..e218983 100644
--- a/src/pilot.c
+++ b/src/pilot.c
@@ -592,6 +592,14 @@ int pilot_dock(Pilot* p, Pilot* target) {
   int i;
   Outfit* o;
 
+  /* Must be close. */
+  if(vect_dist(&p->solid->pos, &target->solid->pos) > 30.)
+    return -1;
+
+  /* Cannot be going much faster. */
+  if(vect_dist(&p->solid->vel, &target->solid->vel) > 2*MIN_VEL_ERR)
+    return -1;
+
   /* Check to see if target has an available bay. */
   for(i = 0; i < target->noutfits; i++) {
     if(outfit_isFighterBay(target->outfits[i].outfit)) {