65792 {
65793
65794
65795
65796
65797
65798
65799
65800
65801
65802
65803
65804
65805
65806
65807
65808
65809
65810
65811
65812
65813
65814
65815
65816
65817
65818
65819
65820
65821
65822
65823
65824
65825
65826
65827 bool flag = false;
65828 bool flag2 =
false;
65829 bool flag3 =
false;
65831 {
65833 }
65834 double num = steps;
65839 val2.X = (double)
genRand.Next(-10, 11) * 0.1;
65840 val2.Y = (double)
genRand.Next(11) * 0.2 + 0.5;
65844 {
65845 if (num > 0.0)
65846 {
65850 {
65852 }
65854 {
65856 }
65857 if (num == 1.0 &&
num3 < 10.0)
65858 {
65860 }
65861 }
65862 else if (val.
Y > Main.worldSurface + 45.0)
65863 {
65865 }
65866 if (val.
Y > Main.rockLayer && num > 0.0)
65867 {
65868 num = 0.0;
65869 }
65870 num -= 1.0;
65871 if (!flag && val.
Y > Main.worldSurface + 20.0)
65872 {
65873 flag = true;
65876 }
65881 if (num > (
double)
num2)
65882 {
65888 {
65890 }
65891 if (
num5 > Main.maxTilesX - 1)
65892 {
65893 num5 = Main.maxTilesX - 1;
65894 }
65896 {
65898 }
65899 if (
num7 > Main.maxTilesY)
65900 {
65901 num7 = Main.maxTilesY;
65902 }
65904 {
65906 {
65907 if (
Math.
Abs((
double)
k - val.
X) +
Math.
Abs((
double)
l - val.
Y) <
num3 * 0.5 * (1.0 + (
double)
genRand.Next(-10, 11) * 0.015) && Main.tile[
k,
l].type != 31 && Main.tile[
k,
l].type != 22)
65908 {
65909 Main.tile[
k,
l].active(active:
false);
65910 }
65911 }
65912 }
65913 }
65914 if (num <= 2.0 && val.
Y < Main.worldSurface + 45.0)
65915 {
65916 num = 2.0;
65917 }
65918 if (num <= 0.0)
65919 {
65921 {
65924 }
65926 {
65928 bool flag4 =
false;
65931 {
65935 {
65937 }
65938 if (
num9 > Main.maxTilesX - 5)
65939 {
65940 num9 = Main.maxTilesX - 5;
65941 }
65943 {
65945 }
65946 if (
num10 > Main.maxTilesY - 5)
65947 {
65948 num10 = Main.maxTilesY - 5;
65949 }
65950 if ((
double)
num10 > Main.worldSurface)
65951 {
65953 {
65955 }
65957 {
65959 continue;
65960 }
65963 {
65965 }
65966 }
65967 else
65968 {
65970 }
65971 }
65972 }
65973 }
65975 val2.X += (double)
genRand.Next(-10, 11) * 0.01;
65977 {
65978 val2.X = 0.3;
65979 }
65981 {
65982 val2.X = -0.3;
65983 }
65989 {
65991 }
65992 if (
num5 > Main.maxTilesX - 1)
65993 {
65994 num5 = Main.maxTilesX - 1;
65995 }
65997 {
65999 }
66000 if (
num7 > Main.maxTilesY)
66001 {
66002 num7 = Main.maxTilesY;
66003 }
66005 {
66007 {
66009 {
66010 if (Main.tile[
m,
n].type != 25 &&
n >
j +
genRand.Next(3, 20))
66011 {
66012 Main.tile[
m,
n].active(active:
true);
66013 }
66015 {
66016 Main.tile[
m,
n].active(active:
true);
66017 }
66018 if (Main.tile[
m,
n].type != 31)
66019 {
66020 Main.tile[
m,
n].type = 25;
66021 }
66022 }
66023 }
66024 }
66026 {
66028 {
66030 {
66032 {
66034 }
66036 {
66038 }
66040 {
66042 }
66043 }
66044 }
66045 }
66046 }
66047 }
static double Abs(double value)
static void AddShadowOrb(int x, int y)
static void Place3x2(int x, int y, ushort type, int style=0)
static UnifiedRandom genRand
static void ChasmRunnerSideways(int i, int j, int direction, int steps)
static bool IsTileNearby(int x, int y, int type, int distance)