Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ PlaceThing_Tiles_PlaceIt_StaffOfRegrowthCheck()

bool Terraria.Player.PlaceThing_Tiles_PlaceIt_StaffOfRegrowthCheck ( bool placed)
inlineprivate

Definition at line 38626 of file Player.cs.

38627 {
38628 bool flag = inventory[selectedItem].type == 213 || inventory[selectedItem].type == 5295;
38629 if (flag && !placed && Main.tile[tileTargetX, tileTargetY].type == 1 && Main.tile[tileTargetX, tileTargetY].active())
38630 {
38631 int num = 0;
38632 int num2 = 0;
38633 Point point = base.Center.ToTileCoordinates();
38635 WorldUtils.Gen(new Point(point.X - 25, point.Y - 25), new Shapes.Rectangle(50, 50), new Actions.TileScanner(182, 515, 180, 513, 179, 512, 183, 516, 181, 514, 381, 517, 534, 535, 536, 537, 539, 540, 625, 626, 627, 628).Output(dictionary));
38637 {
38638 if (item.Value > num2)
38639 {
38640 num2 = item.Value;
38641 num = item.Key;
38642 }
38643 }
38644 switch (num)
38645 {
38646 case 515:
38647 num = 182;
38648 break;
38649 case 513:
38650 num = 180;
38651 break;
38652 case 512:
38653 num = 179;
38654 break;
38655 case 516:
38656 num = 183;
38657 break;
38658 case 514:
38659 num = 181;
38660 break;
38661 case 517:
38662 num = 381;
38663 break;
38664 case 535:
38665 num = 534;
38666 break;
38667 case 537:
38668 num = 536;
38669 break;
38670 case 540:
38671 num = 539;
38672 break;
38673 case 626:
38674 num = 625;
38675 break;
38676 case 628:
38677 num = 627;
38678 break;
38679 }
38680 if (num2 == 0)
38681 {
38682 num = Utils.SelectRandom<int>(Main.rand, 182, 180, 179, 183, 181);
38683 }
38684 if (num != 0)
38685 {
38686 Main.tile[tileTargetX, tileTargetY].type = (ushort)num;
38687 WorldGen.SquareTileFrame(tileTargetX, tileTargetY);
38688 NetMessage.SendTileSquare(-1, tileTargetX, tileTargetY);
38689 placed = true;
38690 }
38691 }
38692 if (flag && !placed && Main.tile[tileTargetX, tileTargetY].type == 38 && Main.tile[tileTargetX, tileTargetY].active())
38693 {
38694 int num3 = 0;
38695 int num4 = 0;
38696 Point point2 = base.Center.ToTileCoordinates();
38698 WorldUtils.Gen(new Point(point2.X - 25, point2.Y - 25), new Shapes.Rectangle(50, 50), new Actions.TileScanner(182, 515, 180, 513, 179, 512, 183, 516, 181, 514, 381, 517, 534, 535, 536, 537, 539, 540, 625, 626, 627, 628).Output(dictionary2));
38700 {
38701 if (item2.Value > num4)
38702 {
38703 num4 = item2.Value;
38704 num3 = item2.Key;
38705 }
38706 }
38707 switch (num3)
38708 {
38709 case 182:
38710 num3 = 515;
38711 break;
38712 case 180:
38713 num3 = 513;
38714 break;
38715 case 179:
38716 num3 = 512;
38717 break;
38718 case 183:
38719 num3 = 516;
38720 break;
38721 case 181:
38722 num3 = 514;
38723 break;
38724 case 381:
38725 num3 = 517;
38726 break;
38727 case 534:
38728 num3 = 535;
38729 break;
38730 case 536:
38731 num3 = 537;
38732 break;
38733 case 539:
38734 num3 = 540;
38735 break;
38736 case 625:
38737 num3 = 626;
38738 break;
38739 case 627:
38740 num3 = 628;
38741 break;
38742 }
38743 if (num4 == 0)
38744 {
38745 num3 = Utils.SelectRandom<int>(Main.rand, 515, 513, 512, 516, 514);
38746 }
38747 if (num3 != 0)
38748 {
38749 Main.tile[tileTargetX, tileTargetY].type = (ushort)num3;
38750 WorldGen.SquareTileFrame(tileTargetX, tileTargetY);
38751 NetMessage.SendTileSquare(-1, tileTargetX, tileTargetY);
38752 placed = true;
38753 }
38754 }
38755 return placed;
38756 }
static int tileTargetY
Definition Player.cs:2085
static int tileTargetX
Definition Player.cs:2083
Item[] inventory
Definition Player.cs:1257
TileScanner Output(Dictionary< ushort, int > resultsOutput)
Definition Actions.cs:86
static bool Gen(Point origin, GenShape shape, GenAction action)
Definition WorldUtils.cs:17

References System.dictionary, Terraria.WorldBuilding.WorldUtils.Gen(), System.item, Terraria.WorldBuilding.Actions.TileScanner.Output(), Terraria.Main.rand, Terraria.NetMessage.SendTileSquare(), Terraria.WorldGen.SquareTileFrame(), Terraria.Main.tile, Terraria.Item.type, Microsoft.Xna.Framework.Point.X, and Microsoft.Xna.Framework.Point.Y.