anchor.diff:                      // Since we did not occupy entrance tile other units inside house could do that already
                       if fHouse.IsDestroyed then
                         Exit(arActCanNotStart)
  +                    else
  +                    // There could be a unit walking in the house already,
  +                    // f.e. if serf was added at point below entrance by script and he went straight into the same house
  +                    if TileHasUnitOnHouseEntrance then
  +                      Exit
                       else
                         WalkIn;
         gdGoOutside:  begin
  
positive.code: end;
  
  
  procedure TKMUnitActionGoInOut.WalkIn;
  begin
    fUnit.Direction := dirN;  //one cell up
  
negative.code:     procedure DecDoorway;
      function FindBestExit(const aLoc: TKMPoint): TKMBestExit;
      function TileHasIdleUnit(X,Y: Word): TKMUnit;
      function TileHasUnitOnHouseEntrance: Boolean;
      procedure WalkIn;
      procedure WalkOut;
      function GetIsStarted: Boolean;
  