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

◆ DoubleJumpVisuals()

void Terraria.Player.DoubleJumpVisuals ( )
inline

Definition at line 20921 of file Player.cs.

20922 {
20924 {
20925 int num = height;
20926 if (gravDir == -1f)
20927 {
20928 num = -6;
20929 }
20930 int num2 = Dust.NewDust(new Vector2(position.X - 4f, position.Y + (float)num), width + 8, 4, 16, (0f - velocity.X) * 0.5f, velocity.Y * 0.5f, 100, default(Color), 1.5f);
20931 Main.dust[num2].velocity.X = Main.dust[num2].velocity.X * 0.5f - velocity.X * 0.1f;
20932 Main.dust[num2].velocity.Y = Main.dust[num2].velocity.Y * 0.5f - velocity.Y * 0.3f;
20933 }
20935 {
20936 int num3 = height;
20937 if (gravDir == -1f)
20938 {
20939 num3 = -6;
20940 }
20941 float num4 = ((float)jump / 75f + 1f) / 2f;
20942 for (int i = 0; i < 3; i++)
20943 {
20944 int num5 = Dust.NewDust(new Vector2(position.X, position.Y + (float)(num3 / 2)), width, 32, 124, velocity.X * 0.3f, velocity.Y * 0.3f, 150, default(Color), 1f * num4);
20945 Main.dust[num5].velocity *= 0.5f * num4;
20946 Main.dust[num5].fadeIn = 1.5f * num4;
20947 }
20948 sandStorm = true;
20949 if (miscCounter % 3 == 0)
20950 {
20951 int num6 = Gore.NewGore(new Vector2(position.X + (float)(width / 2) - 18f, position.Y + (float)(num3 / 2)), new Vector2(0f - velocity.X, 0f - velocity.Y), Main.rand.Next(220, 223), num4);
20952 Main.gore[num6].velocity = velocity * 0.3f * num4;
20953 Main.gore[num6].alpha = 100;
20954 }
20955 }
20956 if (isPerformingJump_Fart && hasJumpOption_Fart && !canJumpAgain_Fart && ((gravDir == 1f && velocity.Y < 0f) || (gravDir == -1f && velocity.Y > 0f)))
20957 {
20958 int num7 = height;
20959 if (gravDir == -1f)
20960 {
20961 num7 = -6;
20962 }
20963 int num8 = Dust.NewDust(new Vector2(position.X - 4f, position.Y + (float)num7), width + 8, 4, 188, (0f - velocity.X) * 0.5f, velocity.Y * 0.5f, 100, default(Color), 1.5f);
20964 Main.dust[num8].velocity.X = Main.dust[num8].velocity.X * 0.5f - velocity.X * 0.1f;
20965 Main.dust[num8].velocity.Y = Main.dust[num8].velocity.Y * 0.5f - velocity.Y * 0.3f;
20966 Main.dust[num8].velocity *= 0.5f;
20967 }
20968 if (isPerformingJump_Unicorn && hasJumpOption_Unicorn && !canJumpAgain_Unicorn && ((gravDir == 1f && velocity.Y < 0f) || (gravDir == -1f && velocity.Y > 0f)))
20969 {
20970 Dust obj = Main.dust[Dust.NewDust(position, width, height, Utils.SelectRandom<int>(Main.rand, 176, 177, 179))];
20971 obj.velocity = Vector2.Zero;
20972 obj.noGravity = true;
20973 obj.scale = 0.5f + Main.rand.NextFloat() * 0.8f;
20974 obj.fadeIn = 1f + Main.rand.NextFloat() * 2f;
20975 obj.shader = GameShaders.Armor.GetSecondaryShader(cMount, this);
20976 }
20977 if (isPerformingJump_Sail && hasJumpOption_Sail && !canJumpAgain_Sail && ((gravDir == 1f && velocity.Y < 1f) || (gravDir == -1f && velocity.Y > 1f)))
20978 {
20979 int num9 = 1;
20980 if (jump > 0)
20981 {
20982 num9 = 2;
20983 }
20984 int num10 = height - 6;
20985 if (gravDir == -1f)
20986 {
20987 num10 = 6;
20988 }
20989 for (int j = 0; j < num9; j++)
20990 {
20991 int num11 = Dust.NewDust(new Vector2(position.X, position.Y + (float)num10), width, 12, 253, velocity.X * 0.3f, velocity.Y * 0.3f, 100, default(Color), 1.5f);
20992 Main.dust[num11].scale += (float)Main.rand.Next(-5, 3) * 0.1f;
20993 if (jump <= 0)
20994 {
20995 Main.dust[num11].scale *= 0.8f;
20996 }
20997 else
20998 {
20999 Main.dust[num11].velocity -= velocity / 5f;
21000 }
21001 Main.dust[num11].noGravity = true;
21002 Vector2 vector = new Vector2(Main.rand.Next(-100, 101), Main.rand.Next(-100, 101));
21003 vector.Normalize();
21004 vector *= (float)Main.rand.Next(81) * 0.1f;
21005 }
21006 }
21007 if (!isPerformingJump_Blizzard || !hasJumpOption_Blizzard || canJumpAgain_Blizzard || ((gravDir != 1f || !(velocity.Y < 0f)) && (gravDir != -1f || !(velocity.Y > 0f))))
21008 {
21009 return;
21010 }
21011 int num12 = height - 6;
21012 if (gravDir == -1f)
21013 {
21014 num12 = 6;
21015 }
21016 for (int k = 0; k < 2; k++)
21017 {
21018 int num13 = Dust.NewDust(new Vector2(position.X, position.Y + (float)num12), width, 12, 76, velocity.X * 0.3f, velocity.Y * 0.3f);
21019 Main.dust[num13].velocity *= 0.1f;
21020 if (k == 0)
21021 {
21022 Main.dust[num13].velocity += velocity * 0.03f;
21023 }
21024 else
21025 {
21026 Main.dust[num13].velocity -= velocity * 0.03f;
21027 }
21028 Main.dust[num13].velocity -= velocity * 0.1f;
21029 Main.dust[num13].noGravity = true;
21030 Main.dust[num13].noLight = true;
21031 }
21032 for (int l = 0; l < 3; l++)
21033 {
21034 int num14 = Dust.NewDust(new Vector2(position.X, position.Y + (float)num12), width, 12, 76, velocity.X * 0.3f, velocity.Y * 0.3f);
21035 Main.dust[num14].fadeIn = 1.5f;
21036 Main.dust[num14].velocity *= 0.6f;
21037 Main.dust[num14].velocity += velocity * 0.8f;
21038 Main.dust[num14].noGravity = true;
21039 Main.dust[num14].noLight = true;
21040 }
21041 for (int m = 0; m < 3; m++)
21042 {
21043 int num15 = Dust.NewDust(new Vector2(position.X, position.Y + (float)num12), width, 12, 76, velocity.X * 0.3f, velocity.Y * 0.3f);
21044 Main.dust[num15].fadeIn = 1.5f;
21045 Main.dust[num15].velocity *= 0.6f;
21046 Main.dust[num15].velocity -= velocity * 0.8f;
21047 Main.dust[num15].noGravity = true;
21048 Main.dust[num15].noLight = true;
21049 }
21050 }
Vector2 velocity
Definition Entity.cs:16
Vector2 position
Definition Entity.cs:14
static ArmorShaderDataSet Armor
Definition GameShaders.cs:7
bool isPerformingJump_Sandstorm
Definition Player.cs:2239
bool canJumpAgain_Sandstorm
Definition Player.cs:2237
bool hasJumpOption_Sandstorm
Definition Player.cs:2235
bool canJumpAgain_Fart
Definition Player.cs:2249
bool canJumpAgain_Sail
Definition Player.cs:2255
bool isPerformingJump_Blizzard
Definition Player.cs:2245
bool hasJumpOption_Fart
Definition Player.cs:2247
bool canJumpAgain_Blizzard
Definition Player.cs:2243
bool canJumpAgain_Cloud
Definition Player.cs:2231
bool isPerformingJump_Cloud
Definition Player.cs:2233
bool hasJumpOption_Unicorn
Definition Player.cs:2259
bool isPerformingJump_Fart
Definition Player.cs:2251
bool canJumpAgain_Unicorn
Definition Player.cs:2261
bool isPerformingJump_Sail
Definition Player.cs:2257
bool hasJumpOption_Sail
Definition Player.cs:2253
bool hasJumpOption_Cloud
Definition Player.cs:2229
bool hasJumpOption_Blizzard
Definition Player.cs:2241
bool isPerformingJump_Unicorn
Definition Player.cs:2263

References Terraria.Graphics.Shaders.GameShaders.Armor, Terraria.Main.dust, Terraria.Main.gore, Terraria.Dust.NewDust(), Terraria.Gore.NewGore(), System.obj, Terraria.Main.rand, Microsoft.Xna.Framework.Vector2.X, Microsoft.Xna.Framework.Vector2.Y, and Microsoft.Xna.Framework.Vector2.Zero.