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

◆ AttemptToGrowTreeFromSapling()

static bool Terraria.WorldGen.AttemptToGrowTreeFromSapling ( int x,
int y,
bool underground )
inlinestatic

Definition at line 62899 of file WorldGen.cs.

62900 {
62901 if (Main.netMode == 1)
62902 {
62903 return false;
62904 }
62905 if (!InWorld(x, y, 2))
62906 {
62907 return false;
62908 }
62909 Tile tile = Main.tile[x, y];
62910 if (tile == null || !tile.active())
62911 {
62912 return false;
62913 }
62914 bool flag = false;
62915 int num = 0;
62916 int num2 = -1;
62917 switch (tile.type)
62918 {
62919 case 20:
62920 switch (tile.frameX / 54)
62921 {
62922 case 10:
62923 flag = TryGrowingTreeByType(634, x, y);
62924 break;
62925 case 6:
62926 case 7:
62927 case 8:
62928 case 9:
62929 if (underground)
62930 {
62931 return false;
62932 }
62933 flag = GrowPalmTree(x, y);
62934 break;
62935 default:
62936 if (underground)
62937 {
62938 return false;
62939 }
62940 flag = GrowTree(x, y);
62941 break;
62942 }
62943 if (flag && PlayerLOS(x, y))
62944 {
62945 TreeGrowFXCheck(x, y);
62946 }
62947 return flag;
62948 case 595:
62949 num = tile.frameX / 54;
62950 num2 = 596;
62951 if (num == 0)
62952 {
62953 num2 = 596;
62954 }
62955 flag = TryGrowingTreeByType(num2, x, y);
62956 if (flag && PlayerLOS(x, y))
62957 {
62958 TreeGrowFXCheck(x, y);
62959 }
62960 return flag;
62961 case 615:
62962 num = tile.frameX / 54;
62963 num2 = 616;
62964 if (num == 0)
62965 {
62966 num2 = 616;
62967 }
62968 flag = TryGrowingTreeByType(num2, x, y);
62969 if (flag && PlayerLOS(x, y))
62970 {
62971 TreeGrowFXCheck(x, y);
62972 }
62973 return flag;
62974 case 590:
62975 if (!underground)
62976 {
62977 return false;
62978 }
62979 num = tile.frameX / 54;
62980 num2 = 587;
62981 switch (num)
62982 {
62983 case 0:
62984 num2 = 583;
62985 break;
62986 case 1:
62987 num2 = 584;
62988 break;
62989 case 2:
62990 num2 = 585;
62991 break;
62992 case 3:
62993 num2 = 586;
62994 break;
62995 case 4:
62996 num2 = 587;
62997 break;
62998 case 5:
62999 num2 = 588;
63000 break;
63001 case 6:
63002 num2 = 589;
63003 break;
63004 }
63005 flag = TryGrowingTreeByType(num2, x, y);
63006 if (flag && PlayerLOS(x, y))
63007 {
63008 TreeGrowFXCheck(x, y);
63009 }
63010 return flag;
63011 default:
63012 return false;
63013 }
63014 }
static bool GrowPalmTree(int i, int y)
static bool TryGrowingTreeByType(int treeTileType, int checkedX, int checkedY)
static void TreeGrowFXCheck(int x, int y)
static bool PlayerLOS(int x, int y)
static bool GrowTree(int i, int y)
static bool InWorld(int x, int y, int fluff=0)
Definition WorldGen.cs:5816

References Terraria.Tile.active(), Terraria.Tile.frameX, Terraria.Main.netMode, Terraria.Main.tile, and Terraria.Tile.type.