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

◆ DrawProj_FairyQueenRangedItemShot()

void Terraria.Main.DrawProj_FairyQueenRangedItemShot ( Projectile proj)
inlineprivate

Definition at line 33098 of file Main.cs.

33099 {
33100 Vector2 vector = proj.Center - screenPosition;
33101 Microsoft.Xna.Framework.Color fairyQueenWeaponsColor = proj.GetFairyQueenWeaponsColor(0f);
33102 Microsoft.Xna.Framework.Color fairyQueenWeaponsColor2 = proj.GetFairyQueenWeaponsColor(0.5f);
33104 Vector2 origin = value.Frame().Size() / 2f;
33105 Microsoft.Xna.Framework.Color color = Microsoft.Xna.Framework.Color.White * proj.Opacity;
33106 color.A /= 2;
33107 float num = MathHelper.Lerp(0.7f, 1f, Utils.GetLerpValue(0f, 5f, proj.ai[0], clamped: true));
33108 float opacity = proj.Opacity;
33109 if (opacity > 0f)
33110 {
33111 float lerpValue = Utils.GetLerpValue(0f, 1f, proj.velocity.Length(), clamped: true);
33112 for (float num2 = 0f; num2 < 1f; num2 += 1f / 6f)
33113 {
33114 Vector2 vector2 = proj.rotation.ToRotationVector2() * -120f * num2 * lerpValue;
33115 spriteBatch.Draw(value, vector + vector2, null, fairyQueenWeaponsColor * opacity * (1f - num2), proj.rotation, origin, num, SpriteEffects.None, 0f);
33116 }
33117 for (float num3 = 0f; num3 < 1f; num3 += 0.25f)
33118 {
33119 Vector2 vector3 = (num3 * ((float)Math.PI * 2f) + proj.rotation).ToRotationVector2() * 4f * num;
33120 spriteBatch.Draw(value, vector + vector3, null, fairyQueenWeaponsColor2 * opacity, proj.rotation, origin, num, SpriteEffects.None, 0f);
33121 }
33122 }
33123 spriteBatch.Draw(value, vector, null, color, proj.rotation, origin, num, SpriteEffects.None, 0f);
33124 }
static float Lerp(float value1, float value2, float amount)
Definition MathHelper.cs:53
const double PI
Definition Math.cs:16
static Asset< Texture2D >[] Projectile
static SpriteBatch spriteBatch
Definition Main.cs:974
static Vector2 screenPosition
Definition Main.cs:1715

References Terraria.Utils.GetLerpValue(), Microsoft.Xna.Framework.MathHelper.Lerp(), System.Math.PI, Terraria.GameContent.TextureAssets.Projectile, Terraria.Main.screenPosition, Terraria.Main.spriteBatch, and System.value.

Referenced by Terraria.Main.DrawProjDirect().