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

◆ DrawProj_LightsBane()

void Terraria.Main.DrawProj_LightsBane ( Projectile proj)
inlineprivate

Definition at line 25765 of file Main.cs.

25766 {
25767 spriteBatch.End();
25768 if (_multiplyBlendState == null)
25769 {
25773 {
25774 ColorBlendFunction = BlendFunction.ReverseSubtract,
25775 ColorDestinationBlend = Blend.One,
25776 ColorSourceBlend = Blend.SourceAlpha,
25777 AlphaBlendFunction = BlendFunction.ReverseSubtract,
25778 AlphaDestinationBlend = Blend.One,
25779 AlphaSourceBlend = Blend.SourceAlpha
25780 };
25781 }
25784 Vector2 position = proj.Center - screenPosition;
25785 LoadProjectile(proj.type);
25787 Microsoft.Xna.Framework.Rectangle rectangle = val.Frame(1, 13, 0, proj.frame);
25788 Vector2 vector = rectangle.Size() / 2f;
25789 Vector2 vector2 = new Vector2(0.7f, 0.7f) * proj.scale;
25790 float num = Utils.Remap(proj.frame, 0f, 3f, 0f, 1f) * Utils.Remap(proj.frame, 4f, 12f, 1f, 0f);
25791 Microsoft.Xna.Framework.Rectangle value = val.Frame(1, 13, 0, 12);
25792 Vector2 origin = vector + new Vector2(0f, 0f);
25793 spriteBatch.Draw(val.Value, position, value, Microsoft.Xna.Framework.Color.White * 0.3f * num, proj.rotation, origin, new Vector2(1f, 6f) * vector2, SpriteEffects.None, 0f);
25794 spriteBatch.Draw(val.Value, position, value, Microsoft.Xna.Framework.Color.White * 0.3f * num, proj.rotation, origin, new Vector2(2f, 2f) * vector2, SpriteEffects.None, 0f);
25795 spriteBatch.Draw(val.Value, position, rectangle, Microsoft.Xna.Framework.Color.White, proj.rotation, vector, vector2, SpriteEffects.None, 0f);
25796 spriteBatch.Draw(val.Value, position, rectangle, Microsoft.Xna.Framework.Color.White, proj.rotation, vector, vector2, SpriteEffects.None, 0f);
25797 spriteBatch.Draw(val.Value, position, rectangle, Microsoft.Xna.Framework.Color.White, proj.rotation, vector, vector2, SpriteEffects.None, 0f);
25798 spriteBatch.Draw(val.Value, position, rectangle, Microsoft.Xna.Framework.Color.White, proj.rotation, vector, vector2, SpriteEffects.None, 0f);
25799 spriteBatch.End();
25801 spriteBatch.Draw(val.Value, position, rectangle, Microsoft.Xna.Framework.Color.Magenta, proj.rotation, vector, vector2, SpriteEffects.None, 0f);
25802 spriteBatch.Draw(val.Value, position, rectangle, Microsoft.Xna.Framework.Color.Magenta, proj.rotation, vector, vector2, SpriteEffects.None, 0f);
25803 spriteBatch.End();
25805 }
static readonly BlendState AlphaBlend
Definition BlendState.cs:36
static readonly BlendState Additive
Definition BlendState.cs:38
static Asset< Texture2D >[] Projectile
void LoadProjectile(int i)
Definition Main.cs:56041
static SpriteBatch spriteBatch
Definition Main.cs:974
static Vector2 screenPosition
Definition Main.cs:1715
static Matrix Transform
Definition Main.cs:2771
static BlendState _multiplyBlendState
Definition Main.cs:2419
static SamplerState DefaultSamplerState
Definition Main.cs:2814
static RasterizerState Rasterizer
Definition Main.cs:552

References Terraria.Main._multiplyBlendState, Microsoft.Xna.Framework.Graphics.BlendState.Additive, Microsoft.Xna.Framework.Graphics.BlendState.AlphaBlend, Terraria.Main.DefaultSamplerState, Terraria.Main.LoadProjectile(), Microsoft.Xna.Framework.Color.Magenta, Microsoft.Xna.Framework.Graphics.DepthStencilState.None, Terraria.GameContent.TextureAssets.Projectile, Terraria.Main.Rasterizer, Terraria.Utils.Remap(), Terraria.Main.screenPosition, Terraria.Main.spriteBatch, Terraria.Main.Transform, System.value, Microsoft.Xna.Framework.Graphics.Vector2, and Microsoft.Xna.Framework.Color.White.

Referenced by Terraria.Main.DrawProjDirect().