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

◆ DrawProj_EmpressBlade()

void Terraria.Main.DrawProj_EmpressBlade ( Projectile proj,
float hueOverride )
inlineprivate

Definition at line 33126 of file Main.cs.

33127 {
33130 Vector2 vector = proj.Center - screenPosition;
33131 proj.GetFairyQueenWeaponsColor(0f, 0f, hueOverride);
33132 Microsoft.Xna.Framework.Color fairyQueenWeaponsColor = proj.GetFairyQueenWeaponsColor(0.5f, 0f, hueOverride);
33134 Vector2 origin = value.Frame().Size() / 2f;
33135 Microsoft.Xna.Framework.Color color = Microsoft.Xna.Framework.Color.White * proj.Opacity;
33136 color.A = (byte)((float)(int)color.A * 0.7f);
33137 fairyQueenWeaponsColor.A /= 2;
33138 float scale = proj.scale;
33139 float num = proj.rotation - (float)Math.PI / 2f;
33140 float num2 = proj.Opacity * 0.3f;
33141 if (num2 > 0f)
33142 {
33143 float lerpValue = Utils.GetLerpValue(60f, 50f, proj.ai[0], clamped: true);
33144 float num3 = Utils.GetLerpValue(70f, 50f, proj.ai[0], clamped: true) * Utils.GetLerpValue(40f, 45f, proj.ai[0], clamped: true);
33145 for (float num4 = 0f; num4 < 1f; num4 += 1f / 6f)
33146 {
33147 Vector2 vector2 = num.ToRotationVector2() * -120f * num4 * lerpValue;
33148 EntitySpriteDraw(value, vector + vector2, null, fairyQueenWeaponsColor * num2 * (1f - num4) * num3, num, origin, scale * 1.5f, SpriteEffects.None);
33149 }
33150 for (float num5 = 0f; num5 < 1f; num5 += 0.25f)
33151 {
33152 Vector2 vector3 = (num5 * ((float)Math.PI * 2f) + num).ToRotationVector2() * 4f * scale;
33153 EntitySpriteDraw(value, vector + vector3, null, fairyQueenWeaponsColor * num2, num, origin, scale, SpriteEffects.None);
33154 }
33155 }
33156 EntitySpriteDraw(value, vector, null, color, num, origin, scale, SpriteEffects.None);
33157 EntitySpriteDraw(value, vector, null, fairyQueenWeaponsColor * num2 * 0.5f, num, origin, scale, SpriteEffects.None);
33158 }
const double PI
Definition Math.cs:16
static Asset< Texture2D >[] Projectile
static Vector2 screenPosition
Definition Main.cs:1715
static int CurrentDrawnEntityShader
Definition Main.cs:219
void PrepareDrawnProjectileDrawing(Projectile proj)
Definition Main.cs:34622
static void EntitySpriteDraw(Texture2D texture, Vector2 position, Microsoft.Xna.Framework.Rectangle? sourceRectangle, Microsoft.Xna.Framework.Color color, float rotation, Vector2 origin, float scale, SpriteEffects effects, float worthless=0f)
Definition Main.cs:34658

References Microsoft.Xna.Framework.Color.A, Terraria.Main.CurrentDrawnEntityShader, Terraria.Main.EntitySpriteDraw(), Terraria.Utils.GetLerpValue(), System.Math.PI, Terraria.Main.PrepareDrawnProjectileDrawing(), Terraria.GameContent.TextureAssets.Projectile, Terraria.Main.screenPosition, and System.value.

Referenced by Terraria.Main.DrawProjDirect().