anchor.diff:      procedure DecDoorway;
       function FindBestExit(const aLoc: TKMPoint): TKMBestExit;
       function TileHasIdleUnit(X,Y: Word): TKMUnit;
  +    function TileHasUnitOnHouseEntrance: Boolean;
       procedure WalkIn;
       procedure WalkOut;
       function GetIsStarted: Boolean;
  
positive.code: end;
  
  
  procedure TKMUnitActionGoInOut.WalkIn;
  begin
    fUnit.Direction := dirN;  //one cell up
  
negative.code:                     // 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
  