20448 {
20452 bool flag = false;
20455 {
20457 }
20458 for (
int k = 0;
k < 2;
k++)
20459 {
20460 flag = false;
20461 if (num == i &&
num4 > 0)
20462 {
20463 for (
int l = i + 5;
l <
i +
num3;
l++)
20464 {
20466 {
20467 return false;
20468 }
20469 if ((
double)
j < Main.worldSurface)
20470 {
20471 for (
int m =
j - 7;
m <=
j + 7 && Main.tile[
l,
m].wall != 0;
m++)
20472 {
20473 }
20474 }
20475 if (Main.tile[
l,
j].type == 48)
20476 {
20477 flag = true;
20478 break;
20479 }
20480 if (Main.tile[
l,
j].type == 191)
20481 {
20482 for (
int n =
j - 2;
n <=
j;
n++)
20483 {
20484 if (Main.tile[
l + 2,
n].wall != 244)
20485 {
20486 flag = true;
20487 }
20488 }
20489 if (!flag)
20490 {
20493 }
20494 break;
20495 }
20496 if (Main.tile[
l,
j].active())
20497 {
20498 continue;
20499 }
20502 {
20503 if ((
double)
j < Main.worldSurface + 3.0 && (Main.tile[
l + 1,
num5].wall == 0 || Main.tile[
l + 2,
num5].wall == 0 || Main.tile[
l + 3,
num5].wall == 0))
20504 {
20505 return false;
20506 }
20507 if (Main.tile[
l,
num5].active() || Main.tile[
l + 1,
num5].active() || Main.tile[
l + 2,
num5].active())
20508 {
20510 }
20511 }
20513 {
20516 break;
20517 }
20518 }
20519 }
20520 flag = false;
20522 {
20524 {
20526 {
20527 return false;
20528 }
20529 if ((
double)
j < Main.worldSurface)
20530 {
20532 {
20533 }
20534 }
20535 if (Main.tile[
num6,
j].type == 48)
20536 {
20537 flag = true;
20538 break;
20539 }
20540 if (Main.tile[
num6,
j].type == 191)
20541 {
20543 {
20544 if (Main.tile[
num6 - 3,
num8].wall != 244)
20545 {
20546 flag = true;
20547 }
20548 }
20549 if (!flag)
20550 {
20553 }
20554 break;
20555 }
20556 if (!Main.tile[
num6,
j].active())
20557 {
20560 {
20561 if ((
double)
j < Main.worldSurface + 3.0 && (Main.tile[
num6 - 1,
num9].wall == 0 || Main.tile[
num6 - 2,
num9].wall == 0 || Main.tile[
num6 - 3,
num9].wall == 0))
20562 {
20563 return false;
20564 }
20566 {
20568 }
20569 }
20571 {
20574 break;
20575 }
20576 }
20577 }
20578 }
20580 }
20582 {
20583 return false;
20584 }
20585 bool flag4 =
false;
20586 bool flag5 =
false;
20588 {
20590 {
20593 {
20595 }
20597 {
20598 if (!Main.wallDungeon[Main.tile[
num11,
num10].wall] && (!Main.tile[
num11,
num10].active() || (!Main.wallDungeon[Main.tile[
num11,
num10 - 1].wall] && !Main.wallDungeon[Main.tile[
num11,
num10 + 1].wall])))
20599 {
20603 }
20605 {
20607 }
20609 {
20611 }
20612 }
20613 if (
num10 >=
j -
num12 &&
num10 <=
j && Main.tile[
num11,
num10].type != 19 && Main.tile[
num11,
num10].type != 15 && Main.tile[
num11,
num10].type != 304 && Main.tile[
num11,
num10].type != 21 && Main.tile[
num11,
num10].type != 10 && Main.tile[
num11,
num10 - 1].type != 15 && Main.tile[
num11,
num10 - 1].type != 304 && Main.tile[
num11,
num10 - 1].type != 21 && Main.tile[
num11,
num10 - 1].type != 10 && Main.tile[
num11,
num10 + 1].type != 10)
20614 {
20615 if (!Main.wallDungeon[Main.tile[
num11,
num10].wall])
20616 {
20618 }
20621 }
20623 {
20624 continue;
20625 }
20626 int style = 7;
20627 if (Main.wallDungeon[Main.tile[
num11,
num10].wall] || Main.wallDungeon[Main.tile[
num11,
num10 - 1].wall] || Main.wallDungeon[Main.tile[
num11,
num10 - 2].wall])
20628 {
20629 style = 13;
20630 }
20632 {
20634 {
20636 }
20637 else if (
genRand.Next(3) == 0)
20638 {
20641 {
20643 }
20644 }
20645 }
20647 {
20648 continue;
20649 }
20651 {
20653 }
20654 else if (
genRand.Next(3) == 0)
20655 {
20658 {
20660 }
20661 }
20662 }
20663 }
20664 return true;
20665 }
static double Abs(double value)
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)