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

◆ DrawPlayer_28_ArmOverItem()

static void Terraria.DataStructures.PlayerDrawLayers.DrawPlayer_28_ArmOverItem ( ref PlayerDrawSet drawinfo)
inlinestatic

Definition at line 2869 of file PlayerDrawLayers.cs.

2870 {
2871 if (drawinfo.usesCompositeTorso)
2872 {
2874 }
2875 else if (drawinfo.drawPlayer.body > 0 && drawinfo.drawPlayer.body < ArmorIDs.Body.Count)
2876 {
2877 Rectangle bodyFrame = drawinfo.drawPlayer.bodyFrame;
2878 int num = drawinfo.armorAdjust;
2879 bodyFrame.X += num;
2880 bodyFrame.Width -= num;
2881 if (drawinfo.drawPlayer.direction == -1)
2882 {
2883 num = 0;
2884 }
2885 if (drawinfo.drawPlayer.invis && (drawinfo.drawPlayer.body == 21 || drawinfo.drawPlayer.body == 22))
2886 {
2887 return;
2888 }
2889 DrawData item;
2890 if (drawinfo.missingHand && !drawinfo.drawPlayer.invis)
2891 {
2892 _ = drawinfo.drawPlayer.body;
2893 DrawData drawData;
2894 if (drawinfo.missingArm)
2895 {
2896 drawData = new DrawData(TextureAssets.Players[drawinfo.skinVar, 7].Value, new Vector2((int)(drawinfo.Position.X - Main.screenPosition.X - (float)(drawinfo.drawPlayer.bodyFrame.Width / 2) + (float)(drawinfo.drawPlayer.width / 2)), (int)(drawinfo.Position.Y - Main.screenPosition.Y + (float)drawinfo.drawPlayer.height - (float)drawinfo.drawPlayer.bodyFrame.Height + 4f)) + drawinfo.drawPlayer.bodyPosition + new Vector2(drawinfo.drawPlayer.bodyFrame.Width / 2, drawinfo.drawPlayer.bodyFrame.Height / 2), drawinfo.drawPlayer.bodyFrame, drawinfo.colorBodySkin, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
2897 drawData.shader = drawinfo.skinDyePacked;
2898 item = drawData;
2899 drawinfo.DrawDataCache.Add(item);
2900 }
2901 drawData = new DrawData(TextureAssets.Players[drawinfo.skinVar, 9].Value, new Vector2((int)(drawinfo.Position.X - Main.screenPosition.X - (float)(drawinfo.drawPlayer.bodyFrame.Width / 2) + (float)(drawinfo.drawPlayer.width / 2)), (int)(drawinfo.Position.Y - Main.screenPosition.Y + (float)drawinfo.drawPlayer.height - (float)drawinfo.drawPlayer.bodyFrame.Height + 4f)) + drawinfo.drawPlayer.bodyPosition + new Vector2(drawinfo.drawPlayer.bodyFrame.Width / 2, drawinfo.drawPlayer.bodyFrame.Height / 2), drawinfo.drawPlayer.bodyFrame, drawinfo.colorBodySkin, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
2902 drawData.shader = drawinfo.skinDyePacked;
2903 item = drawData;
2904 drawinfo.DrawDataCache.Add(item);
2905 }
2906 item = new DrawData(TextureAssets.ArmorArm[drawinfo.drawPlayer.body].Value, new Vector2((int)(drawinfo.Position.X - Main.screenPosition.X - (float)(drawinfo.drawPlayer.bodyFrame.Width / 2) + (float)(drawinfo.drawPlayer.width / 2)) + num, (int)(drawinfo.Position.Y - Main.screenPosition.Y + (float)drawinfo.drawPlayer.height - (float)drawinfo.drawPlayer.bodyFrame.Height + 4f)) + drawinfo.drawPlayer.bodyPosition + new Vector2(drawinfo.drawPlayer.bodyFrame.Width / 2, drawinfo.drawPlayer.bodyFrame.Height / 2), bodyFrame, drawinfo.colorArmorBody, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
2907 item.shader = drawinfo.cBody;
2908 drawinfo.DrawDataCache.Add(item);
2909 if (drawinfo.armGlowMask != -1)
2910 {
2911 item = new DrawData(TextureAssets.GlowMask[drawinfo.armGlowMask].Value, new Vector2((int)(drawinfo.Position.X - Main.screenPosition.X - (float)(drawinfo.drawPlayer.bodyFrame.Width / 2) + (float)(drawinfo.drawPlayer.width / 2)) + num, (int)(drawinfo.Position.Y - Main.screenPosition.Y + (float)drawinfo.drawPlayer.height - (float)drawinfo.drawPlayer.bodyFrame.Height + 4f)) + drawinfo.drawPlayer.bodyPosition + new Vector2(drawinfo.drawPlayer.bodyFrame.Width / 2, drawinfo.drawPlayer.bodyFrame.Height / 2), bodyFrame, drawinfo.armGlowColor, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
2912 item.shader = drawinfo.cBody;
2913 drawinfo.DrawDataCache.Add(item);
2914 }
2915 if (drawinfo.drawPlayer.body == 205)
2916 {
2917 Color color = new Color(100, 100, 100, 0);
2918 ulong seed = (ulong)(drawinfo.drawPlayer.miscCounter / 4);
2919 int num2 = 4;
2920 for (int i = 0; i < num2; i++)
2921 {
2922 float num3 = (float)Utils.RandomInt(ref seed, -10, 11) * 0.2f;
2923 float num4 = (float)Utils.RandomInt(ref seed, -10, 1) * 0.15f;
2924 item = new DrawData(TextureAssets.GlowMask[240].Value, new Vector2((int)(drawinfo.Position.X - Main.screenPosition.X - (float)(drawinfo.drawPlayer.bodyFrame.Width / 2) + (float)(drawinfo.drawPlayer.width / 2)) + num, (int)(drawinfo.Position.Y - Main.screenPosition.Y + (float)drawinfo.drawPlayer.height - (float)drawinfo.drawPlayer.bodyFrame.Height + 4f)) + drawinfo.drawPlayer.bodyPosition + new Vector2((float)(drawinfo.drawPlayer.bodyFrame.Width / 2) + num3, (float)(drawinfo.drawPlayer.bodyFrame.Height / 2) + num4), bodyFrame, color, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
2925 item.shader = drawinfo.cBody;
2926 drawinfo.DrawDataCache.Add(item);
2927 }
2928 }
2929 }
2930 else if (!drawinfo.drawPlayer.invis)
2931 {
2932 DrawData drawData = new DrawData(TextureAssets.Players[drawinfo.skinVar, 7].Value, new Vector2((int)(drawinfo.Position.X - Main.screenPosition.X - (float)(drawinfo.drawPlayer.bodyFrame.Width / 2) + (float)(drawinfo.drawPlayer.width / 2)), (int)(drawinfo.Position.Y - Main.screenPosition.Y + (float)drawinfo.drawPlayer.height - (float)drawinfo.drawPlayer.bodyFrame.Height + 4f)) + drawinfo.drawPlayer.bodyPosition + new Vector2(drawinfo.drawPlayer.bodyFrame.Width / 2, drawinfo.drawPlayer.bodyFrame.Height / 2), drawinfo.drawPlayer.bodyFrame, drawinfo.colorBodySkin, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
2933 drawData.shader = drawinfo.skinDyePacked;
2934 DrawData item = drawData;
2935 drawinfo.DrawDataCache.Add(item);
2936 item = new DrawData(TextureAssets.Players[drawinfo.skinVar, 8].Value, new Vector2((int)(drawinfo.Position.X - Main.screenPosition.X - (float)(drawinfo.drawPlayer.bodyFrame.Width / 2) + (float)(drawinfo.drawPlayer.width / 2)), (int)(drawinfo.Position.Y - Main.screenPosition.Y + (float)drawinfo.drawPlayer.height - (float)drawinfo.drawPlayer.bodyFrame.Height + 4f)) + drawinfo.drawPlayer.bodyPosition + new Vector2(drawinfo.drawPlayer.bodyFrame.Width / 2, drawinfo.drawPlayer.bodyFrame.Height / 2), drawinfo.drawPlayer.bodyFrame, drawinfo.colorUnderShirt, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
2937 drawinfo.DrawDataCache.Add(item);
2938 item = new DrawData(TextureAssets.Players[drawinfo.skinVar, 13].Value, new Vector2((int)(drawinfo.Position.X - Main.screenPosition.X - (float)(drawinfo.drawPlayer.bodyFrame.Width / 2) + (float)(drawinfo.drawPlayer.width / 2)), (int)(drawinfo.Position.Y - Main.screenPosition.Y + (float)drawinfo.drawPlayer.height - (float)drawinfo.drawPlayer.bodyFrame.Height + 4f)) + drawinfo.drawPlayer.bodyPosition + new Vector2(drawinfo.drawPlayer.bodyFrame.Width / 2, drawinfo.drawPlayer.bodyFrame.Height / 2), drawinfo.drawPlayer.bodyFrame, drawinfo.colorShirt, drawinfo.drawPlayer.bodyRotation, drawinfo.bodyVect, 1f, drawinfo.playerEffect);
2939 drawinfo.DrawDataCache.Add(item);
2940 }
2941 }
void Add(TKey key, TValue value)
static void DrawPlayer_28_ArmOverItemComposite(ref PlayerDrawSet drawinfo)
static Asset< Texture2D >[] GlowMask
static Asset< Texture2D >[,] Players
static Asset< Texture2D >[] ArmorArm
static readonly int Count
Definition ArmorIDs.cs:1032

References System.Collections.Generic.Dictionary< TKey, TValue >.Add(), Terraria.GameContent.TextureAssets.ArmorArm, Microsoft.Xna.Framework.Graphics.Color, Terraria.ID.ArmorIDs.Body.Count, Terraria.DataStructures.PlayerDrawLayers.DrawPlayer_28_ArmOverItemComposite(), Terraria.GameContent.TextureAssets.GlowMask, System.item, Terraria.GameContent.TextureAssets.Players, Terraria.Utils.RandomInt(), and Terraria.Main.screenPosition.

Referenced by Terraria.Graphics.Renderers.LegacyPlayerRenderer.DrawPlayer_UseNormalLayers().