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)) {