Definition at line 56861 of file Projectile.cs.
56862 {
56864 bool flag = true;
56865 float num = 250f;
56869 num *= 0.5f;
56872 if (
owner == Main.myPlayer)
56873 {
56874 bool flag2 =
false;
56875 for (
int i = 0;
i < 1000;
i++)
56876 {
56877 if (Main.projectile[i].active && Main.projectile[i].owner ==
owner && Main.projectile[i].aiStyle == 99 && (Main.projectile[i].type < 556 || Main.projectile[i].type > 561))
56878 {
56880 }
56881 }
56883 {
56886 }
56887 }
56888 if (Main.player[
owner].yoyoString)
56889 {
56890 num += num * 0.25f + 10f;
56891 }
56893 if (Main.player[
owner].dead)
56894 {
56896 return;
56897 }
56898 if (!flag)
56899 {
56901 Main.player[
owner].SetDummyItemTime(2);
56903 {
56904 Main.player[
owner].ChangeDir(1);
56906 }
56907 else
56908 {
56909 Main.player[
owner].ChangeDir(-1);
56911 }
56912 }
56913 if (
ai[0] == 0f ||
ai[0] == 1f)
56914 {
56916 {
56917 num *= 0.75f;
56918 }
56920 bool flag3 =
false;
56922 if ((
double)
vector.Length() > (
double)num * 0.9)
56923 {
56925 }
56926 if (
vector.Length() > num)
56927 {
56935 position.X -=
width / 2;
56936 position.Y -=
height / 2;
56940 {
56942 }
56948 {
56950 }
56952 {
56954 }
56956 {
56958 }
56960 {
56962 }
56967 {
56973 {
56975 }
56976 else
56977 {
56979 }
56980 }
56981 else
56982 {
56988 {
56990 }
56991 else
56992 {
56994 }
56995 }
56996 }
56997 if (Main.myPlayer ==
owner)
56998 {
56999 if (Main.player[
owner].channel)
57000 {
57003 {
57004 if (flag)
57005 {
57007 }
57009 {
57011 {
57012 vector7.X = 0f;
57013 }
57015 {
57016 vector7.X = 0f;
57017 }
57019 {
57020 vector7.Y = 0f;
57021 }
57023 {
57024 vector7.Y = 0f;
57025 }
57026 }
57029 }
57030 }
57031 else
57032 {
57035 }
57036 }
57038 {
57041 bool flag4 =
false;
57043 {
57045 }
57047 {
57049 }
57051 {
57053 }
57055 {
57057 }
57058 for (
int j = 0;
j < 200;
j++)
57059 {
57060 if (Main.npc[
j].CanBeChasedBy(
this))
57061 {
57062 float num8 = Main.npc[
j].position.X + (float)(Main.npc[
j].width / 2);
57063 float num9 = Main.npc[
j].position.Y + (float)(Main.npc[
j].height / 2);
57065 if (
num10 <
num7 && (
type != 563 || !(
num10 < 200f)) && Collision.CanHit(
position,
width,
height, Main.npc[
j].position, Main.npc[
j].width, Main.npc[
j].height) && (double)(Main.npc[
j].Center - Main.player[
owner].Center).Length() < (double)num * 0.9)
57066 {
57071 }
57072 }
57073 }
57075 {
57079 {
57082 }
57083 else if (
type == 553)
57084 {
57087 }
57088 else if (
type == 603)
57089 {
57092 }
57093 else if (
type == 554)
57094 {
57097 }
57098 else
57099 {
57102 }
57103 }
57104 }
57106 {
57109 }
57111 {
57114 }
57115 return;
57116 }
57121 {
57123 return;
57124 }
57127 {
57129 }
57131 {
57133 }
57135 {
57137 }
57139 {
57141 }
57146 }
static double Abs(double value)
References System.Math.Abs(), Terraria.Collision.CanHit(), Terraria.Main.lastMouseX, Terraria.Main.lastMouseY, Terraria.Main.mouseX, Terraria.Main.mouseY, Terraria.Main.myPlayer, Terraria.Main.npc, Terraria.Main.player, Terraria.Main.projectile, System.type, Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.