21537 {
21544 {
21546 }
21547 for (
int k = 0;
k < 2;
k++)
21548 {
21551 {
21552 for (
int l = i + 5;
l < i +
num6;
l++)
21553 {
21555 {
21556 return false;
21557 }
21558 if ((
double)
j < Main.worldSurface)
21559 {
21560 for (
int m =
j - 7;
m <=
j + 7 && Main.tile[
l,
m].wall != 0;
m++)
21561 {
21562 }
21563 }
21564 if (Main.tile[
l,
j].type == 48)
21565 {
21567 break;
21568 }
21569 if (Main.tile[
l,
j].type == 191)
21570 {
21571 for (
int n =
j - 2;
n <=
j;
n++)
21572 {
21573 if (Main.tile[
l + 2,
n].wall != 244)
21574 {
21576 }
21577 }
21579 {
21582 }
21583 break;
21584 }
21585 if (Main.tile[
l,
j].active())
21586 {
21587 continue;
21588 }
21591 {
21592 if ((
double)
j < Main.worldSurface + 3.0 && (Main.tile[
l + 1,
num8].wall == 0 || Main.tile[
l + 2,
num8].wall == 0 || Main.tile[
l + 3,
num8].wall == 0))
21593 {
21594 return false;
21595 }
21596 if (Main.tile[
l,
num8].active() || Main.tile[
l + 1,
num8].active() || Main.tile[
l + 2,
num8].active())
21597 {
21599 }
21600 }
21602 {
21605 break;
21606 }
21607 }
21608 }
21611 {
21613 {
21615 {
21616 return false;
21617 }
21618 if ((
double)
j < Main.worldSurface)
21619 {
21621 {
21622 }
21623 }
21624 if (Main.tile[
num9,
j].type == 48)
21625 {
21627 break;
21628 }
21629 if (Main.tile[
num9,
j].type == 191)
21630 {
21632 {
21633 if (Main.tile[
num9 - 3,
num11].wall != 244)
21634 {
21636 }
21637 }
21639 {
21642 }
21643 break;
21644 }
21645 if (!Main.tile[
num9,
j].active())
21646 {
21649 {
21650 if ((
double)
j < Main.worldSurface + 3.0 && (Main.tile[
num9 - 1,
num12].wall == 0 || Main.tile[
num9 - 2,
num12].wall == 0 || Main.tile[
num9 - 3,
num12].wall == 0))
21651 {
21652 return false;
21653 }
21655 {
21657 }
21658 }
21660 {
21663 break;
21664 }
21665 }
21666 }
21667 }
21669 }
21671 {
21672 return false;
21673 }
21674 bool flag4 =
false;
21675 bool flag5 =
false;
21677 {
21679 {
21682 {
21684 }
21686 {
21687 if (!Main.wallDungeon[Main.tile[
num3,
num2].wall] && (!Main.tile[
num3,
num2].active() || (!Main.wallDungeon[Main.tile[
num3,
num2 - 1].wall] && !Main.wallDungeon[Main.tile[
num3,
num2 + 1].wall])))
21688 {
21692 }
21693 if (Main.tile[
num3,
num2 - 1].type == 40)
21694 {
21695 Main.tile[
num3,
num2 - 1].type = 0;
21696 }
21697 if (Main.tile[
num3,
num2 + 1].type == 40)
21698 {
21699 Main.tile[
num3,
num2 + 1].type = 0;
21700 }
21701 }
21702 if (
num2 >=
j -
num4 &&
num2 <=
j && Main.tile[
num3,
num2].type != 19 && Main.tile[
num3,
num2].type != 15 && Main.tile[
num3,
num2].type != 304 && Main.tile[
num3,
num2].type != 21 && Main.tile[
num3,
num2].type != 10 && Main.tile[
num3,
num2 - 1].type != 15 && Main.tile[
num3,
num2 - 1].type != 304 && Main.tile[
num3,
num2 - 1].type != 21 && Main.tile[
num3,
num2 - 1].type != 10 && Main.tile[
num3,
num2 + 1].type != 10)
21703 {
21704 if (!Main.wallDungeon[Main.tile[
num3,
num2].wall])
21705 {
21707 }
21710 }
21712 {
21713 continue;
21714 }
21715 int style = 7;
21716 if (Main.wallDungeon[Main.tile[
num3,
num2].wall] || Main.wallDungeon[Main.tile[
num3,
num2 - 1].wall] || Main.wallDungeon[Main.tile[
num3,
num2 - 2].wall])
21717 {
21718 style = 13;
21719 }
21721 {
21722 if (Main.tile[
num3 - 1,
num2].type == 10 || Main.tile[
num3 + 1,
num2].type == 10)
21723 {
21725 }
21726 else if (
genRand.Next(3) == 0)
21727 {
21729 if (Main.tile[
num3,
num2].type == 10)
21730 {
21732 }
21733 }
21734 }
21736 {
21737 continue;
21738 }
21739 if (Main.tile[
num3 - 1,
num2].type == 10 || Main.tile[
num3 + 1,
num2].type == 10)
21740 {
21742 }
21743 else if (
genRand.Next(3) == 0)
21744 {
21746 if (Main.tile[
num3,
num2].type == 10)
21747 {
21749 }
21750 }
21751 }
21752 }
21753 return true;
21754 }
static bool PlaceTile(int i, int j, int Type, bool mute=false, bool forced=false, int plr=-1, int style=0)
static UnifiedRandom genRand
static bool InWorld(int x, int y, int fluff=0)