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

◆ DrawProj_StardustGuardianPunching()

void Terraria.Main.DrawProj_StardustGuardianPunching ( Projectile proj)
inlineprivate

Definition at line 32951 of file Main.cs.

32952 {
32953 if (!gamePaused)
32954 {
32955 int num = 6;
32956 Texture2D value = TextureAssets.Extra[46].Value;
32957 int num2 = 20;
32958 Vector2 vector = proj.Center - proj.rotation.ToRotationVector2() * num2 * proj.spriteDirection;
32959 for (int i = 0; i < num; i++)
32960 {
32961 float num3 = rand.NextFloat();
32962 float num4 = Utils.GetLerpValue(0f, 0.3f, num3, clamped: true) * Utils.GetLerpValue(1f, 0.5f, num3, clamped: true);
32963 float amount = Utils.GetLerpValue(0f, 0.3f, num3, clamped: true) * Utils.GetLerpValue(1f, 0.5f, num3, clamped: true);
32964 float num5 = MathHelper.Lerp(0.6f, 1f, amount);
32965 Microsoft.Xna.Framework.Color color = new Microsoft.Xna.Framework.Color(255, 255, 255, 127);
32966 color *= num4 * 0.5f;
32967 Vector2 origin = value.Size() / 2f;
32968 Microsoft.Xna.Framework.Color color2 = Microsoft.Xna.Framework.Color.White * num4;
32969 color2.A /= 2;
32971 float num6 = 1f;
32972 float num7 = 1f + rand.NextFloat() * 0.5f;
32973 float num8 = rand.NextFloatDirection();
32974 Vector2 vector2 = new Vector2(0.8f) * num7 * num6 * num5;
32975 float num9 = 20f + MathHelper.Lerp(0f, 20f, num3) + num7 * 16f;
32976 float num10 = proj.rotation + ((proj.direction == 1) ? 0f : ((float)Math.PI)) + num8 * ((float)Math.PI * 2f) * 0.04f;
32977 float rotation = num10 + (float)Math.PI / 2f;
32978 Vector2 position = vector + num10.ToRotationVector2() * num9 + rand.NextVector2Circular(20f, 20f) - screenPosition;
32979 color *= num6;
32980 color3 *= num6;
32981 SpriteEffects effects = SpriteEffects.None;
32982 spriteBatch.Draw(value, position, null, color, rotation, origin, vector2, effects, 0f);
32983 spriteBatch.Draw(value, position, null, color3, rotation, origin, vector2 * 0.8f, effects, 0f);
32984 }
32985 }
32986 }
static float Lerp(float value1, float value2, float amount)
Definition MathHelper.cs:53
const double PI
Definition Math.cs:16
static Asset< Texture2D >[] Extra
static SpriteBatch spriteBatch
Definition Main.cs:974
static Vector2 screenPosition
Definition Main.cs:1715
static UnifiedRandom rand
Definition Main.cs:1387
static bool gamePaused
Definition Main.cs:1072

References Terraria.GameContent.TextureAssets.Extra, Terraria.Main.gamePaused, Terraria.Utils.GetLerpValue(), System.Text.RegularExpressions.i, Microsoft.Xna.Framework.MathHelper.Lerp(), System.Math.PI, Terraria.Main.rand, Terraria.Main.screenPosition, Terraria.Main.spriteBatch, System.value, and Microsoft.Xna.Framework.Graphics.Vector2.

Referenced by Terraria.Main.DrawProjDirect().