Definition at line 48716 of file Item.cs.
48717 {
48719 {
48720 velocity.X *= 0.95f;
48722 {
48723 velocity.X = 0f;
48724 }
48725 velocity.Y *= 0.95f;
48727 {
48728 velocity.Y = 0f;
48729 }
48730 }
48731 else
48732 {
48733 bool flag = false;
48735 {
48736 int num = 50;
48737 for (
int j = 0;
j < 400;
j++)
48738 {
48739 if (i ==
j || !Main.item[
j].active || !Main.item[
j].shimmered)
48740 {
48741 continue;
48742 }
48743 if (num-- <= 0)
48744 {
48745 break;
48746 }
48747 float num2 = (
width + Main.item[
j].width) / 2;
48749 {
48750 continue;
48751 }
48752 flag = true;
48756 {
48758 }
48759 if (
base.Center.X < Main.item[
j].Center.X)
48760 {
48762 {
48763 velocity.X -= 0.1f *
num2;
48764 }
48765 if (Main.item[
j].velocity.X < 3f)
48766 {
48767 Main.item[
j].velocity.X += 0.1f *
num2;
48768 }
48769 }
48770 else if (
base.Center.X > Main.item[
j].Center.X)
48771 {
48773 {
48774 velocity.X += 0.1f *
num2;
48775 }
48776 if (Main.item[
j].velocity.X > -3f)
48777 {
48778 Main.item[
j].velocity.X -= 0.1f *
num2;
48779 }
48780 }
48782 {
48784 {
48785 velocity.X -= 0.1f *
num2;
48786 }
48787 if (Main.item[
j].velocity.X < 3f *
num2)
48788 {
48789 Main.item[
j].velocity.X += 0.1f *
num2;
48790 }
48791 }
48792 }
48793 }
48794 velocity.Y += gravity;
48796 {
48797 velocity.Y = maxFallSpeed;
48798 }
48799 velocity.X *= 0.95f;
48800 if ((
double)velocity.X < 0.1 && (double)
velocity.
X > -0.1)
48801 {
48802 velocity.X = 0f;
48803 }
48804 if (flag)
48805 {
48806 velocity.X *= 0.8f;
48807 }
48808 }
48811 {
48813 }
48815 if (Collision.honey)
48816 {
48818 }
48819 if (Collision.shimmer)
48820 {
48822 }
48824 {
48826 {
48828 {
48831 {
48833 {
48834 for (
int k = 0;
k < 10;
k++)
48835 {
48837 Main.dust[
num5].velocity.Y -= 4f;
48838 Main.dust[
num5].velocity.X *= 2.5f;
48839 Main.dust[
num5].scale = 0.8f;
48840 Main.dust[
num5].noGravity =
true;
48841 switch (Main.rand.Next(6))
48842 {
48843 case 0:
48844 Main.dust[
num5].color =
new Color(255, 255, 210);
48845 break;
48846 case 1:
48847 Main.dust[
num5].color =
new Color(190, 245, 255);
48848 break;
48849 case 2:
48850 Main.dust[
num5].color =
new Color(255, 150, 255);
48851 break;
48852 default:
48853 Main.dust[
num5].color =
new Color(190, 175, 255);
48854 break;
48855 }
48856 }
48858 }
48860 {
48861 for (
int l = 0;
l < 5;
l++)
48862 {
48864 Main.dust[
num6].velocity.Y -= 1f;
48865 Main.dust[
num6].velocity.X *= 2.5f;
48866 Main.dust[
num6].scale = 1.3f;
48867 Main.dust[
num6].alpha = 100;
48868 Main.dust[
num6].noGravity =
true;
48869 }
48871 }
48872 else
48873 {
48874 for (
int m = 0;
m < 10;
m++)
48875 {
48877 Main.dust[
num7].velocity.Y -= 4f;
48878 Main.dust[
num7].velocity.X *= 2.5f;
48879 Main.dust[
num7].scale *= 0.8f;
48880 Main.dust[
num7].alpha = 100;
48881 Main.dust[
num7].noGravity =
true;
48882 }
48884 }
48885 }
48886 else
48887 {
48888 for (
int n = 0;
n < 5;
n++)
48889 {
48891 Main.dust[
num8].velocity.Y -= 1.5f;
48892 Main.dust[
num8].velocity.X *= 2.5f;
48893 Main.dust[
num8].scale = 1.3f;
48894 Main.dust[
num8].alpha = 100;
48895 Main.dust[
num8].noGravity =
true;
48896 }
48898 }
48899 }
48901 }
48902 }
48904 {
48907 {
48910 {
48912 {
48914 {
48916 Main.dust[
num10].velocity.Y -= 4f;
48917 Main.dust[
num10].velocity.X *= 2.5f;
48918 Main.dust[
num10].scale = 0.8f;
48919 Main.dust[
num10].noGravity =
true;
48920 switch (Main.rand.Next(6))
48921 {
48922 case 0:
48923 Main.dust[
num10].color =
new Color(255, 255, 210);
48924 break;
48925 case 1:
48926 Main.dust[
num10].color =
new Color(190, 245, 255);
48927 break;
48928 case 2:
48929 Main.dust[
num10].color =
new Color(255, 150, 255);
48930 break;
48931 default:
48932 Main.dust[
num10].color =
new Color(190, 175, 255);
48933 break;
48934 }
48935 }
48937 }
48939 {
48941 {
48943 Main.dust[
num12].velocity.Y -= 1f;
48944 Main.dust[
num12].velocity.X *= 2.5f;
48945 Main.dust[
num12].scale = 1.3f;
48946 Main.dust[
num12].alpha = 100;
48947 Main.dust[
num12].noGravity =
true;
48948 }
48950 }
48951 else
48952 {
48954 {
48956 Main.dust[
num14].velocity.Y -= 4f;
48957 Main.dust[
num14].velocity.X *= 2.5f;
48958 Main.dust[
num14].scale *= 0.8f;
48959 Main.dust[
num14].alpha = 100;
48960 Main.dust[
num14].noGravity =
true;
48961 }
48963 }
48964 }
48965 else
48966 {
48968 {
48970 Main.dust[
num16].velocity.Y -= 1.5f;
48971 Main.dust[
num16].velocity.X *= 2.5f;
48972 Main.dust[
num16].scale = 1.3f;
48973 Main.dust[
num16].alpha = 100;
48974 Main.dust[
num16].noGravity =
true;
48975 }
48977 }
48978 }
48979 }
48981 {
48985 }
48987 {
48989 }
48991 {
48993 {
48997 {
48999 }
49001 {
49003 }
49004 }
49005 }
49006 else
49007 {
49009 }
49015 Collision.StepConveyorBelt(this, 1f);
49016 }
static double Abs(double value)
static void PlaySound(int type, Vector2 position, int style=1)
static bool[] ItemNoGravity
static float Distance(Vector2 value1, Vector2 value2)
References System.Math.Abs(), Terraria.Entity.active, Microsoft.Xna.Framework.Vector2.Distance(), Terraria.Main.dust, Terraria.Dust.dustWater(), Terraria.Entity.height, Terraria.Collision.honey, Terraria.Entity.honeyWet, Terraria.Main.item, Terraria.ID.ItemID.Sets.ItemNoGravity, Terraria.Collision.LavaCollision(), Terraria.Entity.lavaWet, Terraria.Dust.NewDust(), Terraria.Audio.SoundEngine.PlaySound(), Terraria.Entity.position, Terraria.Main.rand, Terraria.Collision.shimmer, Terraria.Item.shimmered, Terraria.Entity.shimmerWet, Terraria.Collision.SlopeCollision(), Terraria.Collision.StepConveyorBelt(), Terraria.Collision.TileCollision(), Terraria.Item.type, Terraria.Entity.velocity, Terraria.Entity.wet, Terraria.Collision.WetCollision(), Terraria.Entity.wetCount, Terraria.Entity.width, Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.
Referenced by Terraria.Item.UpdateItem().