49561 {
49565 {
49566 return result;
49567 }
49568 if ((Main.tile[x, num].active() && Main.tile[x, num].type != 71) || Main.tile[x, num].liquid == 0 || Main.tile[x, num].liquidType() != 0)
49569 {
49570 return result;
49571 }
49572 while (Main.tile[x, num].liquid > 0 && num > 50)
49573 {
49574 num--;
49575 }
49576 num++;
49577 if (Main.tile[x, num].active() || Main.tile[x, num - 1].active() || Main.tile[x, num].liquid == 0 || Main.tile[x, num].liquidType() != 0)
49578 {
49579 return result;
49580 }
49581 if (Main.tile[x, num].wall != 0 && Main.tile[x, num].wall != 80 && Main.tile[x, num].wall != 81 && Main.tile[x, num].wall != 69 && (Main.tile[x, num].wall < 63 || Main.tile[x, num].wall > 68))
49582 {
49583 return result;
49584 }
49588 {
49590 {
49591 if (Main.tile[i,
k].active() && Main.tile[i,
k].type == 519)
49592 {
49594 break;
49595 }
49596 }
49597 }
49599 {
49600 return result;
49601 }
49603 for (
l = num; (!Main.tile[x,
l].active() || !Main.tileSolid[Main.tile[x,
l].type] || Main.tileSolidTop[Main.tile[x,
l].type]) &&
l < Main.maxTilesY - 50;
l++)
49604 {
49605 if (Main.tile[x,
l].active() && Main.tile[x,
l].type != 71)
49606 {
49607 return result;
49608 }
49609 }
49611 if (
l - num >
num4)
49612 {
49613 return result;
49614 }
49616 {
49617 return result;
49618 }
49619 int type = Main.tile[x,
l].type;
49620 if (!Main.tile[x,
l].nactive())
49621 {
49622 return result;
49623 }
49626 {
49627 case 2:
49628 case 477:
49630 break;
49631 case 53:
49633 {
49634 return result;
49635 }
49637 break;
49638 case 199:
49639 case 234:
49640 case 662:
49642 break;
49643 case 23:
49644 case 112:
49645 case 661:
49647 break;
49648 case 70:
49650 break;
49651 }
49653 {
49654 return result;
49655 }
49656 if (Main.tile[x,
l].topSlope() &&
gen &&
genRand.Next(3) != 0)
49657 {
49658 Main.tile[x,
l].slope(0);
49659 }
49660 else if (Main.tile[x,
l].topSlope() || Main.tile[x,
l].halfBrick())
49661 {
49662 return result;
49663 }
49665 Main.tile[x, num].active(active:
true);
49666 Main.tile[x, num].type = 519;
49667 Main.tile[x, num].frameX = 0;
49668 Main.tile[x, num].frameY = (
short)
num5;
49669 Main.tile[x, num].halfBrick(halfBrick:
false);
49670 Main.tile[x, num].slope(0);
49671 Main.tile[x, num].CopyPaintAndCoating(Main.tile[x, num + 1]);
49673 return new Point(x, num);
49674 }
static UnifiedRandom genRand
static readonly int beachDistance
static void SquareTileFrame(int i, int j, bool resetFrame=true)
static int catTailDistance