Definition at line 34881 of file Projectile.cs.
34882 {
34884 if ((int)Main.timeForVisualEffects % 120 == 0)
34885 {
34887 }
34888 if (!player.active)
34889 {
34891 return;
34892 }
34893 bool num =
type == 625;
34896 if (flag)
34897 {
34898 if (player.dead)
34899 {
34900 player.stardustDragon = false;
34901 }
34902 if (player.stardustDragon)
34903 {
34905 }
34907 if (Main.rand.Next(30) == 0)
34908 {
34910 Main.dust[
num3].noGravity =
true;
34911 Main.dust[
num3].fadeIn = 2f;
34912 Point point = Main.dust[
num3].position.ToTileCoordinates();
34914 {
34915 Main.dust[
num3].noLight =
true;
34916 }
34917 }
34918 }
34919 if (num)
34920 {
34923 float num5 = 1000f;
34926 {
34929 }
34930 if (true)
34931 {
34934 {
34937 {
34940 {
34942 }
34943 else
34944 {
34946 }
34947 }
34948 }
34950 {
34951 for (
int i = 0;
i < 200;
i++)
34952 {
34954 if (
nPC.CanBeChasedBy(
this) && player.Distance(
nPC.Center) <
num5)
34955 {
34958 {
34961 }
34962 }
34963 }
34964 }
34965 }
34967 {
34970 (vector.X > 0f).ToDirectionInt();
34971 (vector.Y > 0f).ToDirectionInt();
34973 if (
vector.Length() < 600f)
34974 {
34976 }
34977 if (
vector.Length() < 300f)
34978 {
34980 }
34981 if (
vector.Length() >
nPC2.Size.Length() * 0.75f)
34982 {
34985 {
34987 }
34988 }
34991 {
34993 }
34994 }
34995 else
34996 {
34997 float num11 = 0.2f;
35000 {
35002 }
35004 {
35006 }
35008 {
35010 {
35012 }
35014 {
35016 }
35017 }
35019 {
35021 }
35023 {
35024 velocity.Y -= 0.1f;
35025 }
35028 {
35030 }
35031 }
35036 {
35038 }
35045 {
35046 for (
int j = 0;
j < 2;
j++)
35047 {
35049 Main.dust[
num15].noGravity =
true;
35050 Main.dust[
num15].noLight =
true;
35051 }
35054 {
35056 }
35057 }
35058 }
35059 else
35060 {
35061 bool flag2 =
false;
35068 {
35071 }
35073 if (Main.projectile.IndexInRange(
byUUID))
35074 {
35075 Projectile projectile = Main.projectile[
byUUID];
35076 if (flag && projectile.active && (projectile.type == 625 || projectile.type == 626 || projectile.type == 627))
35077 {
35080 _ = projectile.velocity;
35081 num16 = projectile.rotation;
35084 _ = projectile.alpha;
35085 projectile.localAI[0] =
localAI[0] + 1f;
35086 if (projectile.type != 625)
35087 {
35088 projectile.localAI[1] =
whoAmI;
35089 }
35090 if (
owner == Main.myPlayer &&
type == 628 && projectile.type == 625)
35091 {
35092 projectile.Kill();
35094 return;
35095 }
35096 }
35097 }
35099 {
35100 for (
int k = 0;
k < 1000;
k++)
35101 {
35104 {
35108 }
35109 }
35110 return;
35111 }
35113 {
35114 for (
int l = 0;
l < 2;
l++)
35115 {
35117 Main.dust[
num19].noGravity =
true;
35118 Main.dust[
num19].noLight =
true;
35119 }
35120 }
35123 {
35125 }
35129 {
35132 }
35139 {
35141 }
35143 }
35146 }
static float WrapAngle(float angle)
static float Clamp(float value, float min, float max)
static double Abs(double value)
static int Sign(decimal value)
float Distance(Vector2 Other)
static bool[] StardustDragon
static int GetByUUID(int owner, float uuid)
NPC OwnerMinionAttackTargetNPC
static float Dot(Vector2 value1, Vector2 value2)
References System.Math.Abs(), Terraria.Entity.active, Terraria.Projectile.alpha, Terraria.Entity.Center, Microsoft.Xna.Framework.MathHelper.Clamp(), Terraria.Player.dead, Terraria.Entity.Distance(), Microsoft.Xna.Framework.Vector2.Dot(), Terraria.Main.dust, Terraria.WorldGen.InWorld(), Terraria.Projectile.Kill(), Terraria.Projectile.localAI, Terraria.Main.maxTilesX, Terraria.Main.maxTilesY, Terraria.Main.myPlayer, Terraria.Dust.NewDust(), Microsoft.Xna.Framework.Vector2.Normalize(), Terraria.Main.npc, System.Math.PI, Terraria.Main.player, Terraria.Main.projectile, Terraria.Main.rand, Terraria.Projectile.rotation, Terraria.Projectile.scale, System.Math.Sign(), Terraria.WorldGen.SolidTile(), Terraria.ID.ProjectileID.Sets.StardustDragon, Terraria.Player.stardustDragon, Terraria.Main.timeForVisualEffects, System.type, Terraria.Projectile.type, Terraria.Entity.velocity, Microsoft.Xna.Framework.MathHelper.WrapAngle(), Microsoft.Xna.Framework.Point.X, Microsoft.Xna.Framework.Vector2.X, Microsoft.Xna.Framework.Point.Y, Microsoft.Xna.Framework.Vector2.Y, and Microsoft.Xna.Framework.Vector2.Zero.