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

◆ AI_015_Flails()

void Terraria.Projectile.AI_015_Flails ( )
inlineprivate

Definition at line 45614 of file Projectile.cs.

45615 {
45616 //IL_002e: Unknown result type (might be due to invalid IL or missing references)
45617 //IL_0034: Unknown result type (might be due to invalid IL or missing references)
45618 //IL_0097: Unknown result type (might be due to invalid IL or missing references)
45619 //IL_009c: Unknown result type (might be due to invalid IL or missing references)
45620 //IL_046b: Unknown result type (might be due to invalid IL or missing references)
45621 //IL_05e4: Unknown result type (might be due to invalid IL or missing references)
45622 //IL_05e5: Unknown result type (might be due to invalid IL or missing references)
45623 //IL_05ea: Unknown result type (might be due to invalid IL or missing references)
45624 //IL_05ef: Unknown result type (might be due to invalid IL or missing references)
45625 //IL_05f4: Unknown result type (might be due to invalid IL or missing references)
45626 //IL_05f7: Unknown result type (might be due to invalid IL or missing references)
45627 //IL_084d: Unknown result type (might be due to invalid IL or missing references)
45628 //IL_084e: Unknown result type (might be due to invalid IL or missing references)
45629 //IL_0853: Unknown result type (might be due to invalid IL or missing references)
45630 //IL_0858: Unknown result type (might be due to invalid IL or missing references)
45631 //IL_085d: Unknown result type (might be due to invalid IL or missing references)
45632 //IL_0860: Unknown result type (might be due to invalid IL or missing references)
45633 //IL_03a9: Unknown result type (might be due to invalid IL or missing references)
45634 //IL_03cd: Unknown result type (might be due to invalid IL or missing references)
45635 //IL_03d3: Unknown result type (might be due to invalid IL or missing references)
45636 //IL_03d5: Unknown result type (might be due to invalid IL or missing references)
45637 //IL_03da: Unknown result type (might be due to invalid IL or missing references)
45638 //IL_03ec: Unknown result type (might be due to invalid IL or missing references)
45639 //IL_02f1: Unknown result type (might be due to invalid IL or missing references)
45640 //IL_02f2: Unknown result type (might be due to invalid IL or missing references)
45641 //IL_02f7: Unknown result type (might be due to invalid IL or missing references)
45642 //IL_02f9: Unknown result type (might be due to invalid IL or missing references)
45643 //IL_02fb: Unknown result type (might be due to invalid IL or missing references)
45644 //IL_0300: Unknown result type (might be due to invalid IL or missing references)
45645 //IL_030c: Unknown result type (might be due to invalid IL or missing references)
45646 //IL_0311: Unknown result type (might be due to invalid IL or missing references)
45647 //IL_0316: Unknown result type (might be due to invalid IL or missing references)
45648 //IL_0319: Unknown result type (might be due to invalid IL or missing references)
45649 //IL_04a9: Unknown result type (might be due to invalid IL or missing references)
45650 //IL_04b3: Unknown result type (might be due to invalid IL or missing references)
45651 //IL_04b8: Unknown result type (might be due to invalid IL or missing references)
45652 //IL_06d4: Unknown result type (might be due to invalid IL or missing references)
45653 //IL_0873: Unknown result type (might be due to invalid IL or missing references)
45654 //IL_087d: Unknown result type (might be due to invalid IL or missing references)
45655 //IL_0882: Unknown result type (might be due to invalid IL or missing references)
45656 //IL_0889: Unknown result type (might be due to invalid IL or missing references)
45657 //IL_088e: Unknown result type (might be due to invalid IL or missing references)
45658 //IL_0892: Unknown result type (might be due to invalid IL or missing references)
45659 //IL_0899: Unknown result type (might be due to invalid IL or missing references)
45660 //IL_089e: Unknown result type (might be due to invalid IL or missing references)
45661 //IL_08a4: Unknown result type (might be due to invalid IL or missing references)
45662 //IL_08aa: Unknown result type (might be due to invalid IL or missing references)
45663 //IL_08af: Unknown result type (might be due to invalid IL or missing references)
45664 //IL_08b4: Unknown result type (might be due to invalid IL or missing references)
45665 //IL_08b6: Unknown result type (might be due to invalid IL or missing references)
45666 //IL_08b7: Unknown result type (might be due to invalid IL or missing references)
45667 //IL_08b9: Unknown result type (might be due to invalid IL or missing references)
45668 //IL_08be: Unknown result type (might be due to invalid IL or missing references)
45669 //IL_08c3: Unknown result type (might be due to invalid IL or missing references)
45670 //IL_08c8: Unknown result type (might be due to invalid IL or missing references)
45671 //IL_08ca: Unknown result type (might be due to invalid IL or missing references)
45672 //IL_08cc: Unknown result type (might be due to invalid IL or missing references)
45673 //IL_0980: Unknown result type (might be due to invalid IL or missing references)
45674 //IL_098b: Unknown result type (might be due to invalid IL or missing references)
45675 //IL_09ae: Unknown result type (might be due to invalid IL or missing references)
45676 //IL_0412: Unknown result type (might be due to invalid IL or missing references)
45677 //IL_0413: Unknown result type (might be due to invalid IL or missing references)
45678 //IL_041a: Unknown result type (might be due to invalid IL or missing references)
45679 //IL_041f: Unknown result type (might be due to invalid IL or missing references)
45680 //IL_042a: Unknown result type (might be due to invalid IL or missing references)
45681 //IL_042f: Unknown result type (might be due to invalid IL or missing references)
45682 //IL_05b6: Unknown result type (might be due to invalid IL or missing references)
45683 //IL_05c1: Unknown result type (might be due to invalid IL or missing references)
45684 //IL_0549: Unknown result type (might be due to invalid IL or missing references)
45685 //IL_0553: Unknown result type (might be due to invalid IL or missing references)
45686 //IL_0558: Unknown result type (might be due to invalid IL or missing references)
45687 //IL_064e: Unknown result type (might be due to invalid IL or missing references)
45688 //IL_0658: Unknown result type (might be due to invalid IL or missing references)
45689 //IL_065d: Unknown result type (might be due to invalid IL or missing references)
45690 //IL_0664: Unknown result type (might be due to invalid IL or missing references)
45691 //IL_0669: Unknown result type (might be due to invalid IL or missing references)
45692 //IL_066d: Unknown result type (might be due to invalid IL or missing references)
45693 //IL_0674: Unknown result type (might be due to invalid IL or missing references)
45694 //IL_0679: Unknown result type (might be due to invalid IL or missing references)
45695 //IL_0680: Unknown result type (might be due to invalid IL or missing references)
45696 //IL_068b: Unknown result type (might be due to invalid IL or missing references)
45697 //IL_0633: Unknown result type (might be due to invalid IL or missing references)
45698 //IL_063d: Unknown result type (might be due to invalid IL or missing references)
45699 //IL_0642: Unknown result type (might be due to invalid IL or missing references)
45700 //IL_08e3: Unknown result type (might be due to invalid IL or missing references)
45701 //IL_08ee: Unknown result type (might be due to invalid IL or missing references)
45702 //IL_04e4: Unknown result type (might be due to invalid IL or missing references)
45703 //IL_04ea: Unknown result type (might be due to invalid IL or missing references)
45704 //IL_0a0d: Unknown result type (might be due to invalid IL or missing references)
45705 //IL_0a18: Unknown result type (might be due to invalid IL or missing references)
45706 //IL_0353: Unknown result type (might be due to invalid IL or missing references)
45707 //IL_0357: Unknown result type (might be due to invalid IL or missing references)
45708 //IL_035d: Unknown result type (might be due to invalid IL or missing references)
45709 //IL_0362: Unknown result type (might be due to invalid IL or missing references)
45710 //IL_0367: Unknown result type (might be due to invalid IL or missing references)
45711 //IL_036d: Unknown result type (might be due to invalid IL or missing references)
45712 //IL_057e: Unknown result type (might be due to invalid IL or missing references)
45713 //IL_0584: Unknown result type (might be due to invalid IL or missing references)
45714 //IL_077d: Unknown result type (might be due to invalid IL or missing references)
45715 //IL_0787: Unknown result type (might be due to invalid IL or missing references)
45716 //IL_078c: Unknown result type (might be due to invalid IL or missing references)
45717 //IL_0793: Unknown result type (might be due to invalid IL or missing references)
45718 //IL_0799: Unknown result type (might be due to invalid IL or missing references)
45719 //IL_079a: Unknown result type (might be due to invalid IL or missing references)
45720 //IL_079f: Unknown result type (might be due to invalid IL or missing references)
45721 //IL_07a4: Unknown result type (might be due to invalid IL or missing references)
45722 //IL_07ab: Unknown result type (might be due to invalid IL or missing references)
45723 //IL_07b2: Unknown result type (might be due to invalid IL or missing references)
45724 //IL_07b7: Unknown result type (might be due to invalid IL or missing references)
45725 //IL_073c: Unknown result type (might be due to invalid IL or missing references)
45726 //IL_0746: Unknown result type (might be due to invalid IL or missing references)
45727 //IL_074b: Unknown result type (might be due to invalid IL or missing references)
45728 //IL_0752: Unknown result type (might be due to invalid IL or missing references)
45729 //IL_0758: Unknown result type (might be due to invalid IL or missing references)
45730 //IL_0759: Unknown result type (might be due to invalid IL or missing references)
45731 //IL_075e: Unknown result type (might be due to invalid IL or missing references)
45732 //IL_0763: Unknown result type (might be due to invalid IL or missing references)
45733 //IL_076a: Unknown result type (might be due to invalid IL or missing references)
45734 //IL_0771: Unknown result type (might be due to invalid IL or missing references)
45735 //IL_0776: Unknown result type (might be due to invalid IL or missing references)
45736 //IL_0820: Unknown result type (might be due to invalid IL or missing references)
45737 //IL_082b: Unknown result type (might be due to invalid IL or missing references)
45738 //IL_0ca0: Unknown result type (might be due to invalid IL or missing references)
45739 //IL_0ca1: Unknown result type (might be due to invalid IL or missing references)
45740 //IL_0cb1: Unknown result type (might be due to invalid IL or missing references)
45741 //IL_0cbb: Unknown result type (might be due to invalid IL or missing references)
45742 //IL_0c43: Unknown result type (might be due to invalid IL or missing references)
45743 //IL_0b97: Unknown result type (might be due to invalid IL or missing references)
45744 //IL_0b9c: Unknown result type (might be due to invalid IL or missing references)
45745 //IL_0b9e: Unknown result type (might be due to invalid IL or missing references)
45746 //IL_0ba2: Unknown result type (might be due to invalid IL or missing references)
45747 //IL_0ba7: Unknown result type (might be due to invalid IL or missing references)
45748 //IL_0bae: Unknown result type (might be due to invalid IL or missing references)
45749 //IL_0bb3: Unknown result type (might be due to invalid IL or missing references)
45750 //IL_0bbb: Unknown result type (might be due to invalid IL or missing references)
45751 //IL_0bbd: Unknown result type (might be due to invalid IL or missing references)
45752 //IL_0b27: Unknown result type (might be due to invalid IL or missing references)
45753 //IL_0b3a: Unknown result type (might be due to invalid IL or missing references)
45754 //IL_0b4d: Unknown result type (might be due to invalid IL or missing references)
45755 Player player = Main.player[owner];
45756 if (!player.active || player.dead || player.noItems || player.CCed || Vector2.Distance(base.Center, player.Center) > 900f)
45757 {
45758 Kill();
45759 return;
45760 }
45761 if (Main.myPlayer == owner && Main.mapFullscreen)
45762 {
45763 Kill();
45764 return;
45765 }
45766 if (type == 948 && wet && !lavaWet)
45767 {
45768 type = 947;
45769 netUpdate = true;
45770 }
45771 Vector2 mountedCenter = player.MountedCenter;
45772 bool doFastThrowDust = false;
45773 bool flag = true;
45774 bool flag2 = false;
45775 int num = 10;
45776 float num11 = 24f;
45777 float num16 = 800f;
45778 float num17 = 3f;
45779 float num18 = 16f;
45780 float num19 = 6f;
45781 float num20 = 48f;
45782 float num21 = 1f;
45783 float num22 = 14f;
45784 int num2 = 60;
45785 int num3 = 10;
45786 int num4 = 15;
45787 int num5 = 10;
45788 int num6 = num + 5;
45789 switch (type)
45790 {
45791 case 947:
45792 case 948:
45793 num = 13;
45794 num11 = 12f;
45795 num18 = 8f;
45796 num20 = 13f;
45797 break;
45798 case 25:
45799 num = 15;
45800 num11 = 14f;
45801 num18 = 10f;
45802 num20 = 15f;
45803 break;
45804 case 154:
45805 num = 15;
45806 num11 = 15f;
45807 num18 = 11f;
45808 num20 = 16f;
45809 break;
45810 case 26:
45811 num = 15;
45812 num11 = 16f;
45813 num18 = 12f;
45814 num20 = 16f;
45815 break;
45816 case 35:
45817 num = 15;
45818 num11 = 17f;
45819 num18 = 14f;
45820 num20 = 18f;
45821 break;
45822 case 63:
45823 num = 13;
45824 num11 = 21f;
45825 num18 = 20f;
45826 num20 = 24f;
45827 num4 = 12;
45828 break;
45829 case 757:
45830 num = 13;
45831 num11 = 22f;
45832 num18 = 22f;
45833 num20 = 26f;
45834 num4 = 12;
45835 break;
45836 case 247:
45837 num = 13;
45838 num11 = 23f;
45839 num4 = 12;
45840 break;
45841 }
45842 float num7 = 1f / player.inverseMeleeSpeed;
45843 num11 *= num7;
45844 num21 *= num7;
45845 num22 *= num7;
45846 num17 *= num7;
45847 num18 *= num7;
45848 num19 *= num7;
45849 num20 *= num7;
45850 float num8 = num11 * (float)num;
45851 float num9 = num8 + 160f;
45853 switch ((int)ai[0])
45854 {
45855 case 0:
45856 {
45857 flag2 = true;
45858 if (owner == Main.myPlayer)
45859 {
45860 Vector2 mouseWorld = Main.MouseWorld;
45861 Vector2 vector3 = mountedCenter.DirectionTo(mouseWorld).SafeNormalize(Vector2.UnitX * (float)player.direction);
45862 player.ChangeDir((vector3.X > 0f) ? 1 : (-1));
45863 if (!player.channel)
45864 {
45865 ai[0] = 1f;
45866 ai[1] = 0f;
45867 velocity = vector3 * num11 + player.velocity;
45868 base.Center = mountedCenter;
45869 netUpdate = true;
45872 break;
45873 }
45874 }
45875 localAI[1] += 1f;
45876 Vector2 vector4 = Utils.RotatedBy(new Vector2((float)player.direction), (float)Math.PI * 10f * (localAI[1] / 60f) * (float)player.direction);
45877 vector4.Y *= 0.8f;
45878 if (vector4.Y * player.gravDir > 0f)
45879 {
45880 vector4.Y *= 0.5f;
45881 }
45882 base.Center = mountedCenter + vector4 * 30f;
45883 velocity = Vector2.Zero;
45885 break;
45886 }
45887 case 1:
45888 {
45889 doFastThrowDust = true;
45890 bool flag3 = ai[1]++ >= (float)num;
45892 if (player.controlUseItem)
45893 {
45894 ai[0] = 6f;
45895 ai[1] = 0f;
45896 netUpdate = true;
45897 velocity *= 0.2f;
45898 if (Main.myPlayer == owner && type == 757)
45899 {
45900 NewProjectile(GetProjectileSource_FromThis(), base.Center, velocity, 928, damage, knockBack, Main.myPlayer);
45901 }
45902 break;
45903 }
45904 if (flag3)
45905 {
45906 ai[0] = 2f;
45907 ai[1] = 0f;
45908 netUpdate = true;
45909 velocity *= 0.3f;
45910 if (Main.myPlayer == owner && type == 757)
45911 {
45912 NewProjectile(GetProjectileSource_FromThis(), base.Center, velocity, 928, damage, knockBack, Main.myPlayer);
45913 }
45914 }
45915 player.ChangeDir((player.Center.X < base.Center.X) ? 1 : (-1));
45917 break;
45918 }
45919 case 2:
45920 {
45921 Vector2 vector = DirectionTo(mountedCenter).SafeNormalize(Vector2.Zero);
45923 {
45924 Kill();
45925 return;
45926 }
45927 if (player.controlUseItem)
45928 {
45929 ai[0] = 6f;
45930 ai[1] = 0f;
45931 netUpdate = true;
45932 velocity *= 0.2f;
45933 }
45934 else
45935 {
45936 velocity *= 0.98f;
45937 velocity = velocity.MoveTowards(vector * num18, num17);
45938 player.ChangeDir((player.Center.X < base.Center.X) ? 1 : (-1));
45939 }
45940 break;
45941 }
45942 case 3:
45943 {
45944 if (!player.controlUseItem)
45945 {
45946 ai[0] = 4f;
45947 ai[1] = 0f;
45948 netUpdate = true;
45949 break;
45950 }
45951 float num10 = Distance(mountedCenter);
45952 tileCollide = ai[1] == 1f;
45953 bool flag4 = num10 <= num8;
45954 if (flag4 != tileCollide)
45955 {
45957 ai[1] = (tileCollide ? 1 : 0);
45958 netUpdate = true;
45959 }
45960 if (num10 > (float)num2)
45961 {
45962 if (num10 >= num8)
45963 {
45964 velocity *= 0.5f;
45965 velocity = velocity.MoveTowards(DirectionTo(mountedCenter).SafeNormalize(Vector2.Zero) * num22, num22);
45966 }
45967 velocity *= 0.98f;
45968 velocity = velocity.MoveTowards(DirectionTo(mountedCenter).SafeNormalize(Vector2.Zero) * num22, num21);
45969 }
45970 else
45971 {
45972 if (((Vector2)(ref velocity)).Length() < 6f)
45973 {
45974 velocity.X *= 0.96f;
45975 velocity.Y += 0.2f;
45976 }
45977 if (player.velocity.X == 0f)
45978 {
45979 velocity.X *= 0.96f;
45980 }
45981 }
45982 player.ChangeDir((player.Center.X < base.Center.X) ? 1 : (-1));
45983 break;
45984 }
45985 case 4:
45986 {
45987 tileCollide = false;
45988 Vector2 vector2 = DirectionTo(mountedCenter).SafeNormalize(Vector2.Zero);
45990 {
45991 Kill();
45992 return;
45993 }
45994 velocity *= 0.98f;
45995 velocity = velocity.MoveTowards(vector2 * num20, num19);
45996 Vector2 target = base.Center + velocity;
45997 Vector2 value = mountedCenter.DirectionFrom(target).SafeNormalize(Vector2.Zero);
45998 if (Vector2.Dot(vector2, value) < 0f)
45999 {
46000 Kill();
46001 return;
46002 }
46003 player.ChangeDir((player.Center.X < base.Center.X) ? 1 : (-1));
46004 break;
46005 }
46006 case 5:
46007 if (ai[1]++ >= (float)num6)
46008 {
46009 ai[0] = 6f;
46010 ai[1] = 0f;
46011 netUpdate = true;
46012 }
46013 else
46014 {
46016 velocity.Y += 0.6f;
46017 velocity.X *= 0.95f;
46018 player.ChangeDir((player.Center.X < base.Center.X) ? 1 : (-1));
46019 }
46020 break;
46021 case 6:
46022 if (!player.controlUseItem || Distance(mountedCenter) > num9)
46023 {
46024 ai[0] = 4f;
46025 ai[1] = 0f;
46026 netUpdate = true;
46027 break;
46028 }
46029 if (!shimmerWet)
46030 {
46031 velocity.Y += 0.8f;
46032 }
46033 velocity.X *= 0.95f;
46034 player.ChangeDir((player.Center.X < base.Center.X) ? 1 : (-1));
46035 break;
46036 }
46037 if (type == 247)
46038 {
46039 flag = false;
46040 float num12 = (Math.Abs(velocity.X) + Math.Abs(velocity.Y)) * 0.01f;
46041 rotation += ((velocity.X > 0f) ? num12 : (0f - num12));
46042 if (ai[0] == 0f)
46043 {
46044 rotation += (float)Math.PI * 2f / 15f * (float)player.direction;
46045 }
46046 float num13 = 600f;
46047 NPC nPC = null;
46048 if (owner == Main.myPlayer)
46049 {
46050 localAI[0] += 1f;
46051 if (localAI[0] >= 20f)
46052 {
46053 localAI[0] = 17f;
46054 for (int i = 0; i < 200; i++)
46055 {
46056 NPC nPC2 = Main.npc[i];
46057 if (nPC2.CanBeChasedBy(this))
46058 {
46059 float num14 = Distance(nPC2.Center);
46060 if (!(num14 >= num13) && Collision.CanHit(position, width, height, nPC2.position, nPC2.width, nPC2.height))
46061 {
46062 nPC = nPC2;
46063 num13 = num14;
46064 }
46065 }
46066 }
46067 }
46068 if (nPC != null)
46069 {
46070 localAI[0] = 0f;
46071 float num15 = 14f;
46072 Vector2 center = base.Center;
46073 Vector2 vector5 = center.DirectionTo(nPC.Center) * num15;
46074 NewProjectile(GetProjectileSource_FromThis(), center, vector5, 248, (int)((double)damage / 1.5), knockBack / 2f, Main.myPlayer);
46075 }
46076 }
46077 }
46078 direction = ((velocity.X > 0f) ? 1 : (-1));
46081 if (flag)
46082 {
46083 if (((Vector2)(ref velocity)).Length() > 1f)
46084 {
46085 rotation = velocity.ToRotation() + velocity.X * 0.1f;
46086 }
46087 else
46088 {
46089 rotation += velocity.X * 0.1f;
46090 }
46091 }
46092 timeLeft = 2;
46093 player.heldProj = whoAmI;
46094 player.SetDummyItemTime(2);
46095 player.itemRotation = DirectionFrom(mountedCenter).ToRotation();
46096 if (base.Center.X < mountedCenter.X)
46097 {
46098 player.itemRotation += (float)Math.PI;
46099 }
46100 player.itemRotation = MathHelper.WrapAngle(player.itemRotation);
46102 }
bool wet
The Entity is currently in water. Projectile: Affects movement speed and some projectiles die when ...
Definition Entity.cs:57
Vector2 DirectionFrom(Vector2 Source)
Definition Entity.cs:298
bool shimmerWet
Definition Entity.cs:59
int whoAmI
The index of this Entity within its specific array. These arrays track the entities in the world....
Definition Entity.cs:16
Vector2 velocity
The velocity of this Entity in world coordinates per tick.
Definition Entity.cs:33
float Distance(Vector2 Other)
Definition Entity.cs:275
Vector2 position
The position of this Entity in world coordinates.
Definition Entity.cs:28
int width
The width of this Entity's hitbox, in pixels.
Definition Entity.cs:46
Vector2 DirectionTo(Vector2 Destination)
Definition Entity.cs:289
int height
The height of this Entity's hitbox, in pixels.
Definition Entity.cs:51
int owner
The index of the player who owns this projectile. In Multiplayer, Clients "own" projectiles that they...
int damage
This will always be set in Projectile.NewProjectile based on the weapons damage and player stat modif...
float[] ai
An array with 3 slots used for any sort of data storage, which is occasionally synced to the server....
bool netUpdate
Set manually to true in M:Terraria.ModLoader.ModProjectile.AI once to make it sync its current F:Terr...
IEntitySource GetProjectileSource_FromThis()
float[] localAI
Acts like F:Terraria.Projectile.ai, but does not sync to the server. Many vanilla T:Terraria....
float knockBack
This will always be set in Projectile.NewProjectile based on the weapons knockback and player stat mo...
int type
The Projectile ID of this projectile. The Projectile ID is a unique number assigned to each Projectil...
bool tileCollide
If true, the projectile will collide with tiles, usually bouncing or killing the tile depending on M:...
bool ownerHitCheck
If true, then this projectile will only deal damage if its owner has line of sight to the hit....
int timeLeft
Time in ticks before this projectile will naturally despawn. Each update timeLeft is decreased by 1...
float rotation
Rotation of the projectile. Radians not Degrees. Use T:Microsoft.Xna.Framework.MathHelper if you want...
void ResetLocalNPCHitImmunity()
void AI_015_Flails_Dust(bool doFastThrowDust)
int localNPCHitCooldown
When used in conjunction with F:Terraria.Projectile.usesLocalNPCImmunity, determines how many ticks m...
static int NewProjectile(IEntitySource spawnSource, Vector2 position, Vector2 velocity, int Type, int Damage, float KnockBack, int Owner=-1, float ai0=0f, float ai1=0f, float ai2=0f)
This particular overload uses a Vector2 instead of X and Y to determine the actual spawn position and...

References Terraria.Entity.active, Terraria.Collision.CanHit(), Terraria.Player.CCed, Terraria.Entity.Center, Terraria.Player.ChangeDir(), Terraria.Player.channel, Terraria.Player.controlUseItem, Terraria.Player.dead, Terraria.Entity.direction, Terraria.Player.gravDir, Terraria.Player.inverseMeleeSpeed, Terraria.Player.itemRotation, Terraria.Main.mapFullscreen, Terraria.Player.MountedCenter, Terraria.Main.MouseWorld, Terraria.Main.myPlayer, Terraria.Player.noItems, Terraria.Main.npc, Terraria.Main.player, Terraria.Utils.RotatedBy(), Terraria.Player.SetDummyItemTime(), and Terraria.Entity.velocity.

+ Here is the call graph for this function: