anchor.diff:    else
       fWalkTo     := fTerrain.GetClosestTile(LocB,KMUnit.GetPosition,fPass);
   
  -  ExplanationLog := TStringList.Create;
  -  if FileExists(ExeDir+'ExpLog'+inttostr(fWalker.ID)+'.txt') then
  -    ExplanationLog.LoadFromFile(ExeDir+'ExpLog'+inttostr(fWalker.ID)+'.txt');
  +  if WRITE_DETAILED_LOG then begin
  +    ExplanationLog := TStringList.Create;
  +    if FileExists(ExeDir+'ExpLog'+inttostr(fWalker.ID)+'.txt') then
  +      ExplanationLog.LoadFromFile(ExeDir+'ExpLog'+inttostr(fWalker.ID)+'.txt');
  +  end;
   
     Explanation := 'Walk action created';
     ExplanationLogAdd;
  
positive.code: 
  destructor TUnitActionWalkTo.Destroy;
  begin
    Explanation := 'Walkto destroyed at'+floattostr(fWalker.PositionF.X)+':'+floattostr(fWalker.PositionF.Y);
    ExplanationLogAdd;
    ExplanationLog.SaveToFile(ExeDir+'ExpLog'+inttostr(fWalker.ID)+'.txt');
  
    FreeAndNil(NodeList);
  
    if not KMSamePoint(fVertexOccupied,KMPoint(0,0)) then
  
negative.code: 
  procedure TUnitActionWalkTo.ExplanationLogAdd;
  begin
    if not WRITE_DETAILED_LOG then exit;
    ExplanationLog.Add(Format(
    '%d'+#9+'%d:%d > %d:%d > %d:%d'+#9+Explanation+'',
    [
  