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

◆ DrawSuperSpecialProjectiles()

void Terraria.Main.DrawSuperSpecialProjectiles ( List< int > projCache,
bool startSpriteBatch = true )
inlineprotected

Definition at line 34880 of file Main.cs.

34881 {
34882 if (startSpriteBatch)
34883 {
34885 }
34886 for (int i = 0; i < projCache.Count; i++)
34887 {
34888 try
34889 {
34890 int num = projCache[i];
34891 Projectile projectile = Main.projectile[num];
34892 int owner = projectile.owner;
34893 Player other = Main.player[owner];
34894 if (playerVisualClone[owner] == null)
34895 {
34896 playerVisualClone[owner] = new Player();
34897 }
34899 player.CopyVisuals(other);
34900 player.isFirstFractalAfterImage = true;
34901 player.firstFractalAfterImageOpacity = projectile.Opacity * 1f;
34902 player.ResetEffects();
34903 player.ResetVisibleAccessories();
34904 player.UpdateDyes();
34905 player.DisplayDollUpdate();
34906 player.UpdateSocialShadow();
34907 player.itemAnimationMax = 60;
34908 player.itemAnimation = (int)projectile.localAI[0];
34909 player.itemRotation = projectile.velocity.ToRotation();
34910 player.heldProj = num;
34911 player.Center = projectile.Center - projectile.velocity.SafeNormalize(Vector2.Zero) * 42f;
34912 player.direction = ((projectile.velocity.X > 0f) ? 1 : (-1));
34913 player.itemRotation = (float)Math.Atan2(projectile.velocity.Y * (float)player.direction, projectile.velocity.X * (float)player.direction);
34914 player.velocity.Y = 0.01f;
34915 player.wingFrame = 2;
34916 player.PlayerFrame();
34917 player.socialIgnoreLight = true;
34918 PlayerRenderer.DrawPlayer(Camera, player, player.position, 0f, player.fullRotationOrigin);
34919 }
34920 catch (Exception e)
34921 {
34922 TimeLogger.DrawException(e);
34923 Main.projectile[projCache[i]].active = false;
34924 }
34925 }
34926 if (startSpriteBatch)
34927 {
34928 spriteBatch.End();
34929 }
34930 }
static readonly BlendState AlphaBlend
Definition BlendState.cs:36
static double Atan2(double y, double x)
static SpriteBatch spriteBatch
Definition Main.cs:974
static IPlayerRenderer PlayerRenderer
Definition Main.cs:291
static Matrix Transform
Definition Main.cs:2771
static Projectile[] projectile
Definition Main.cs:1691
static SamplerState DefaultSamplerState
Definition Main.cs:2814
static RasterizerState Rasterizer
Definition Main.cs:552
static Player[] player
Definition Main.cs:1803
static Player[] playerVisualClone
Definition Main.cs:1805

References Microsoft.Xna.Framework.Graphics.BlendState.AlphaBlend, System.Math.Atan2(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, Terraria.Main.DefaultSamplerState, Terraria.TimeLogger.DrawException(), System.Text.RegularExpressions.i, Microsoft.Xna.Framework.Graphics.DepthStencilState.None, System.other, Terraria.Enums.Player, Terraria.Main.player, Terraria.Main.PlayerRenderer, Terraria.Main.playerVisualClone, Terraria.Main.projectile, Terraria.Main.Rasterizer, Terraria.Main.spriteBatch, Terraria.Main.Transform, and Microsoft.Xna.Framework.Vector2.Zero.

Referenced by Terraria.Main.DoDraw(), and Terraria.Main.DrawCapture().