protected void drawPlayer(Player drawPlayer)
        {
            SpriteEffects effects = SpriteEffects.None;
            SpriteEffects effects2 = SpriteEffects.FlipHorizontally;
            Color color = drawPlayer.GetImmuneAlpha(GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.25) / 16.0), Color.White, 1));
            Color color2 = drawPlayer.GetImmuneAlpha(GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.25) / 16.0), drawPlayer.eyeColor, 1));
            Color color3 = drawPlayer.GetImmuneAlpha(GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.25) / 16.0), drawPlayer.hairColor, 1));
            Color color4 = drawPlayer.GetImmuneAlpha(GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.25) / 16.0), drawPlayer.skinColor, 1));
            Color color5 = drawPlayer.GetImmuneAlpha(GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16.0), drawPlayer.skinColor, 1));
            Color immuneAlpha = drawPlayer.GetImmuneAlpha(GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.75) / 16.0), drawPlayer.skinColor, 1));
            Color color6 = drawPlayer.GetImmuneAlpha2(GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16.0), drawPlayer.shirtColor, 1));
            Color color7 = drawPlayer.GetImmuneAlpha2(GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16.0), drawPlayer.underShirtColor, 1));
            Color color8 = drawPlayer.GetImmuneAlpha2(GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.75) / 16.0), drawPlayer.pantsColor, 1));
            Color color9 = drawPlayer.GetImmuneAlpha2(GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.75) / 16.0), drawPlayer.shoeColor, 1));
            Color color10 = drawPlayer.GetImmuneAlpha2(GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.25) / 16, Color.White, 1));
            Color color11 = drawPlayer.GetImmuneAlpha2(GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16, Color.White, 1));
            Color color12 = drawPlayer.GetImmuneAlpha2(GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.75) / 16, Color.White, 1));

            float num = 1f;
            float num2 = 1f;
            float num3 = 1f;
            float num4 = 1f;
            if (drawPlayer.poisoned)
            {
                if (Main.rand.Next(50) == 0)
                {
                    int num5 = Dust.NewDust(drawPlayer.position, drawPlayer.width, drawPlayer.height, 46, 0f, 0f, 150, default(Color), 0.2f);
                    Main.dust[num5].noGravity = true;
                    Main.dust[num5].fadeIn = 1.9f;
                }
                num *= 0.65f;
                num3 *= 0.75f;
            }
            if (drawPlayer.onFire)
            {
                if (Main.rand.Next(4) == 0)
                {
                    int num6 = Dust.NewDust(new Vector2(drawPlayer.position.X - 2f, drawPlayer.position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 6, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 3f);
                    Main.dust[num6].noGravity = true;
                    Dust expr_640 = Main.dust[num6];
                    expr_640.velocity *= 1.8f;
                    Dust expr_662_cp_0 = Main.dust[num6];
                    expr_662_cp_0.velocity.Y = expr_662_cp_0.velocity.Y - 0.5f;
                }
                num3 *= 0.6f;
                num2 *= 0.7f;
            }
            if (drawPlayer.onFire2)
            {
                if (Main.rand.Next(4) == 0)
                {
                    int num7 = Dust.NewDust(new Vector2(drawPlayer.position.X - 2f, drawPlayer.position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 75, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 3f);
                    Main.dust[num7].noGravity = true;
                    Dust expr_72B = Main.dust[num7];
                    expr_72B.velocity *= 1.8f;
                    Dust expr_74D_cp_0 = Main.dust[num7];
                    expr_74D_cp_0.velocity.Y = expr_74D_cp_0.velocity.Y - 0.5f;
                }
                num3 *= 0.6f;
                num2 *= 0.7f;
            }
            if (drawPlayer.noItems)
            {
                num2 *= 0.8f;
                num *= 0.65f;
            }
            if (drawPlayer.blind)
            {
                num2 *= 0.65f;
                num *= 0.7f;
            }
            if (drawPlayer.bleed)
            {
                num2 *= 0.9f;
                num3 *= 0.9f;
                if (!drawPlayer.dead && Main.rand.Next(30) == 0)
                {
                    int num8 = Dust.NewDust(drawPlayer.position, drawPlayer.width, drawPlayer.height, 5, 0f, 0f, 0, default(Color), 1f);
                    Dust expr_820_cp_0 = Main.dust[num8];
                    expr_820_cp_0.velocity.Y = expr_820_cp_0.velocity.Y + 0.5f;
                    Dust expr_839 = Main.dust[num8];
                    expr_839.velocity *= 0.25f;
                }
            }
            if (num != 1f || num2 != 1f || num3 != 1f || num4 != 1f)
            {
                if (drawPlayer.onFire || drawPlayer.onFire2)
                {
                    color = drawPlayer.GetImmuneAlpha(Color.White);
                    color2 = drawPlayer.GetImmuneAlpha(drawPlayer.eyeColor);
                    color3 = drawPlayer.GetImmuneAlpha(drawPlayer.hairColor);
                    color4 = drawPlayer.GetImmuneAlpha(drawPlayer.skinColor);
                    color5 = drawPlayer.GetImmuneAlpha(drawPlayer.skinColor);
                    color6 = drawPlayer.GetImmuneAlpha(drawPlayer.shirtColor);
                    color7 = drawPlayer.GetImmuneAlpha(drawPlayer.underShirtColor);
                    color8 = drawPlayer.GetImmuneAlpha(drawPlayer.pantsColor);
                    color9 = drawPlayer.GetImmuneAlpha(drawPlayer.shoeColor);
                    color10 = drawPlayer.GetImmuneAlpha(Color.White);
                    color11 = drawPlayer.GetImmuneAlpha(Color.White);
                    color12 = drawPlayer.GetImmuneAlpha(Color.White);
                }
                else
                {
                    color = BuffColor(color, num, num2, num3, num4);
                    color2 = BuffColor(color2, num, num2, num3, num4);
                    color3 = BuffColor(color3, num, num2, num3, num4);
                    color4 = BuffColor(color4, num, num2, num3, num4);
                    color5 = BuffColor(color5, num, num2, num3, num4);
                    color6 = BuffColor(color6, num, num2, num3, num4);
                    color7 = BuffColor(color7, num, num2, num3, num4);
                    color8 = BuffColor(color8, num, num2, num3, num4);
                    color9 = BuffColor(color9, num, num2, num3, num4);
                    color10 = BuffColor(color10, num, num2, num3, num4);
                    color11 = BuffColor(color11, num, num2, num3, num4);
                    color12 = BuffColor(color12, num, num2, num3, num4);
                }
            }
            if (drawPlayer.gravDir == 1f)
            {
                if (drawPlayer.direction == 1)
                {
                    effects = SpriteEffects.None;
                    effects2 = SpriteEffects.None;
                }
                else
                {
                    effects = SpriteEffects.FlipHorizontally;
                    effects2 = SpriteEffects.FlipHorizontally;
                }
                if (!drawPlayer.dead)
                {
                    drawPlayer.legPosition.Y = 0f;
                    drawPlayer.headPosition.Y = 0f;
                    drawPlayer.bodyPosition.Y = 0f;
                }
            }
            else
            {
                if (drawPlayer.direction == 1)
                {
                    effects = SpriteEffects.FlipVertically;
                    effects2 = SpriteEffects.FlipVertically;
                }
                else
                {
                    effects = (SpriteEffects.FlipHorizontally | SpriteEffects.FlipVertically);
                    effects2 = (SpriteEffects.FlipHorizontally | SpriteEffects.FlipVertically);
                }
                if (!drawPlayer.dead)
                {
                    drawPlayer.legPosition.Y = 6f;
                    drawPlayer.headPosition.Y = 6f;
                    drawPlayer.bodyPosition.Y = 6f;
                }
            }
            Vector2 vector = new Vector2((float)drawPlayer.legFrame.Width * 0.5f, (float)drawPlayer.legFrame.Height * 0.75f);
            Vector2 origin = new Vector2((float)drawPlayer.legFrame.Width * 0.5f, (float)drawPlayer.legFrame.Height * 0.5f);
            Vector2 vector2 = new Vector2((float)drawPlayer.legFrame.Width * 0.5f, (float)drawPlayer.legFrame.Height * 0.4f);
            if (drawPlayer.merman)
            {
                drawPlayer.headRotation = drawPlayer.velocity.Y * (float)drawPlayer.direction * 0.1f;
                if ((double)drawPlayer.headRotation < -0.3)
                {
                    drawPlayer.headRotation = -0.3f;
                }
                if ((double)drawPlayer.headRotation > 0.3)
                {
                    drawPlayer.headRotation = 0.3f;
                }
            }
            else
            {
                if (!drawPlayer.dead)
                {
                    drawPlayer.headRotation = 0f;
                }
            }
            if (drawPlayer.wings > 0)
            {
                this.spriteBatch.Draw(Main.wingsTexture[drawPlayer.wings], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) - (float)(9 * drawPlayer.direction))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + 2f * drawPlayer.gravDir))), new Rectangle?(new Rectangle(0, Main.wingsTexture[drawPlayer.wings].Height / 4 * drawPlayer.wingFrame, Main.wingsTexture[drawPlayer.wings].Width, Main.wingsTexture[drawPlayer.wings].Height / 4)), color11, drawPlayer.bodyRotation, new Vector2((float)(Main.wingsTexture[drawPlayer.wings].Width / 2), (float)(Main.wingsTexture[drawPlayer.wings].Height / 8)), 1f, effects, 0f);
            }
            if (!drawPlayer.invis)
            {
                this.spriteBatch.Draw(Main.skinBodyTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                this.spriteBatch.Draw(Main.skinLegsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.legFrame), immuneAlpha, drawPlayer.legRotation, origin, 1f, effects, 0f);
            }
            if (drawPlayer.legs > 0 && drawPlayer.legs < 25)
            {
                this.spriteBatch.Draw(Main.armorLegTexture[drawPlayer.legs], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color12, drawPlayer.legRotation, vector, 1f, effects, 0f);
            }
            else
            {
                if (!drawPlayer.invis)
                {
                    if (!drawPlayer.male)
                    {
                        this.spriteBatch.Draw(Main.femalePantsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color8, drawPlayer.legRotation, vector, 1f, effects, 0f);
                        this.spriteBatch.Draw(Main.femaleShoesTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color9, drawPlayer.legRotation, vector, 1f, effects, 0f);
                    }
                    else
                    {
                        this.spriteBatch.Draw(Main.playerPantsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color8, drawPlayer.legRotation, vector, 1f, effects, 0f);
                        this.spriteBatch.Draw(Main.playerShoesTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color9, drawPlayer.legRotation, vector, 1f, effects, 0f);
                    }
                }
            }
            if (drawPlayer.body > 0 && drawPlayer.body < 26)
            {
                if (!drawPlayer.male)
                {
                    this.spriteBatch.Draw(Main.femaleBodyTexture[drawPlayer.body], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                }
                else
                {
                    this.spriteBatch.Draw(Main.armorBodyTexture[drawPlayer.body], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                }
                if ((drawPlayer.body == 10 || drawPlayer.body == 11 || drawPlayer.body == 12 || drawPlayer.body == 13 || drawPlayer.body == 14 || drawPlayer.body == 15 || drawPlayer.body == 16 || drawPlayer.body == 20) && !drawPlayer.invis)
                {
                    this.spriteBatch.Draw(Main.playerHandsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                }
            }
            else
            {
                if (!drawPlayer.invis)
                {
                    if (!drawPlayer.male)
                    {
                        this.spriteBatch.Draw(Main.femaleUnderShirtTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                        this.spriteBatch.Draw(Main.femaleShirtTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color6, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                    }
                    else
                    {
                        this.spriteBatch.Draw(Main.playerUnderShirtTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                        this.spriteBatch.Draw(Main.playerShirtTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color6, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                    }
                    this.spriteBatch.Draw(Main.playerHandsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                }
            }
            if (!drawPlayer.invis && drawPlayer.head != 38)
            {
                this.spriteBatch.Draw(Main.playerHeadTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color4, drawPlayer.headRotation, vector2, 1f, effects, 0f);
                this.spriteBatch.Draw(Main.playerEyeWhitesTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color, drawPlayer.headRotation, vector2, 1f, effects, 0f);
                this.spriteBatch.Draw(Main.playerEyesTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color2, drawPlayer.headRotation, vector2, 1f, effects, 0f);
            }
            if (drawPlayer.head == 10 || drawPlayer.head == 12 || drawPlayer.head == 28)
            {
                this.spriteBatch.Draw(Main.armorHeadTexture[drawPlayer.head], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color10, drawPlayer.headRotation, vector2, 1f, effects, 0f);
                if (!drawPlayer.invis)
                {
                    Rectangle bodyFrame = drawPlayer.bodyFrame;
                    bodyFrame.Y -= 336;
                    if (bodyFrame.Y < 0)
                    {
                        bodyFrame.Y = 0;
                    }
                    this.spriteBatch.Draw(Main.playerHairTexture[drawPlayer.hair], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame), color3, drawPlayer.headRotation, vector2, 1f, effects, 0f);
                }
            }
            if (drawPlayer.head == 14 || drawPlayer.head == 15 || drawPlayer.head == 16 || drawPlayer.head == 18 || drawPlayer.head == 21 || drawPlayer.head == 24 || drawPlayer.head == 25 || drawPlayer.head == 26 || drawPlayer.head == 40 || drawPlayer.head == 44)
            {
                Rectangle bodyFrame2 = drawPlayer.bodyFrame;
                bodyFrame2.Y -= 336;
                if (bodyFrame2.Y < 0)
                {
                    bodyFrame2.Y = 0;
                }
                if (!drawPlayer.invis)
                {
                    this.spriteBatch.Draw(Main.playerHairAltTexture[drawPlayer.hair], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame2), color3, drawPlayer.headRotation, vector2, 1f, effects, 0f);
                }
            }
            if (drawPlayer.head == 23)
            {
                Rectangle bodyFrame3 = drawPlayer.bodyFrame;
                bodyFrame3.Y -= 336;
                if (bodyFrame3.Y < 0)
                {
                    bodyFrame3.Y = 0;
                }
                if (!drawPlayer.invis)
                {
                    this.spriteBatch.Draw(Main.playerHairTexture[drawPlayer.hair], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame3), color3, drawPlayer.headRotation, vector2, 1f, effects, 0f);
                }
                this.spriteBatch.Draw(Main.armorHeadTexture[drawPlayer.head], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color10, drawPlayer.headRotation, vector2, 1f, effects, 0f);
            }
            else
            {
                if (drawPlayer.head == 14)
                {
                    Rectangle bodyFrame4 = drawPlayer.bodyFrame;
                    int num9 = 0;
                    if (bodyFrame4.Y == bodyFrame4.Height * 6)
                    {
                        bodyFrame4.Height -= 2;
                    }
                    else
                    {
                        if (bodyFrame4.Y == bodyFrame4.Height * 7)
                        {
                            num9 = -2;
                        }
                        else
                        {
                            if (bodyFrame4.Y == bodyFrame4.Height * 8)
                            {
                                num9 = -2;
                            }
                            else
                            {
                                if (bodyFrame4.Y == bodyFrame4.Height * 9)
                                {
                                    num9 = -2;
                                }
                                else
                                {
                                    if (bodyFrame4.Y == bodyFrame4.Height * 10)
                                    {
                                        num9 = -2;
                                    }
                                    else
                                    {
                                        if (bodyFrame4.Y == bodyFrame4.Height * 13)
                                        {
                                            bodyFrame4.Height -= 2;
                                        }
                                        else
                                        {
                                            if (bodyFrame4.Y == bodyFrame4.Height * 14)
                                            {
                                                num9 = -2;
                                            }
                                            else
                                            {
                                                if (bodyFrame4.Y == bodyFrame4.Height * 15)
                                                {
                                                    num9 = -2;
                                                }
                                                else
                                                {
                                                    if (bodyFrame4.Y == bodyFrame4.Height * 16)
                                                    {
                                                        num9 = -2;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    bodyFrame4.Y += num9;
                    this.spriteBatch.Draw(Main.armorHeadTexture[drawPlayer.head], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f + (float)num9))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame4), color10, drawPlayer.headRotation, vector2, 1f, effects, 0f);
                }
                else
                {
                    if (drawPlayer.head > 0 && drawPlayer.head < 45 && drawPlayer.head != 28)
                    {
                        this.spriteBatch.Draw(Main.armorHeadTexture[drawPlayer.head], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color10, drawPlayer.headRotation, vector2, 1f, effects, 0f);
                    }
                    else
                    {
                        if (!drawPlayer.invis)
                        {
                            Rectangle bodyFrame5 = drawPlayer.bodyFrame;
                            bodyFrame5.Y -= 336;
                            if (bodyFrame5.Y < 0)
                            {
                                bodyFrame5.Y = 0;
                            }
                            this.spriteBatch.Draw(Main.playerHairTexture[drawPlayer.hair], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame5), color3, drawPlayer.headRotation, vector2, 1f, effects, 0f);
                        }
                    }
                }
            }
            if (drawPlayer.heldProj >= 0)
            {
                //  spriteBatch.Begin();
                //    this.DrawProj(drawPlayer.heldProj);
                //   spriteBatch.End();
            }
            Color color13 = Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16.0));
            if ((drawPlayer.itemAnimation > 0 || drawPlayer.inventory[drawPlayer.selectedItem].holdStyle > 0) && drawPlayer.inventory[drawPlayer.selectedItem].type > 0 && !drawPlayer.dead && !drawPlayer.inventory[drawPlayer.selectedItem].noUseGraphic && (!drawPlayer.wet || !drawPlayer.inventory[drawPlayer.selectedItem].noWet))
            {
                if (drawPlayer.inventory[drawPlayer.selectedItem].useStyle == 5)
                {
                    int num10 = 10;
                    Vector2 vector3 = new Vector2((float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width / 2), (float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height / 2));
                    if (drawPlayer.inventory[drawPlayer.selectedItem].type == 95)
                    {
                        num10 = 10;
                        vector3.Y += 2f * drawPlayer.gravDir;
                    }
                    else
                    {
                        if (drawPlayer.inventory[drawPlayer.selectedItem].type == 96)
                        {
                            num10 = -5;
                        }
                        else
                        {
                            if (drawPlayer.inventory[drawPlayer.selectedItem].type == 98)
                            {
                                num10 = -5;
                                vector3.Y -= 2f * drawPlayer.gravDir;
                            }
                            else
                            {
                                if (drawPlayer.inventory[drawPlayer.selectedItem].type == 534)
                                {
                                    num10 = -2;
                                    vector3.Y += 1f * drawPlayer.gravDir;
                                }
                                else
                                {
                                    if (drawPlayer.inventory[drawPlayer.selectedItem].type == 533)
                                    {
                                        num10 = -7;
                                        vector3.Y -= 2f * drawPlayer.gravDir;
                                    }
                                    else
                                    {
                                        if (drawPlayer.inventory[drawPlayer.selectedItem].type == 506)
                                        {
                                            num10 = 0;
                                            vector3.Y -= 2f * drawPlayer.gravDir;
                                        }
                                        else
                                        {
                                            if (drawPlayer.inventory[drawPlayer.selectedItem].type == 494 || drawPlayer.inventory[drawPlayer.selectedItem].type == 508)
                                            {
                                                num10 = -2;
                                            }
                                            else
                                            {
                                                if (drawPlayer.inventory[drawPlayer.selectedItem].type == 434)
                                                {
                                                    num10 = 0;
                                                    vector3.Y -= 2f * drawPlayer.gravDir;
                                                }
                                                else
                                                {
                                                    if (drawPlayer.inventory[drawPlayer.selectedItem].type == 514)
                                                    {
                                                        num10 = 0;
                                                        vector3.Y += 3f * drawPlayer.gravDir;
                                                    }
                                                    else
                                                    {
                                                        if (drawPlayer.inventory[drawPlayer.selectedItem].type == 435 || drawPlayer.inventory[drawPlayer.selectedItem].type == 436 || drawPlayer.inventory[drawPlayer.selectedItem].type == 481 || drawPlayer.inventory[drawPlayer.selectedItem].type == 578)
                                                        {
                                                            num10 = -2;
                                                            vector3.Y -= 2f * drawPlayer.gravDir;
                                                        }
                                                        else
                                                        {
                                                            if (drawPlayer.inventory[drawPlayer.selectedItem].type == 197)
                                                            {
                                                                num10 = -5;
                                                                vector3.Y += 4f * drawPlayer.gravDir;
                                                            }
                                                            else
                                                            {
                                                                if (drawPlayer.inventory[drawPlayer.selectedItem].type == 126)
                                                                {
                                                                    num10 = 4;
                                                                    vector3.Y += 4f * drawPlayer.gravDir;
                                                                }
                                                                else
                                                                {
                                                                    if (drawPlayer.inventory[drawPlayer.selectedItem].type == 127)
                                                                    {
                                                                        num10 = 4;
                                                                        vector3.Y += 2f * drawPlayer.gravDir;
                                                                    }
                                                                    else
                                                                    {
                                                                        if (drawPlayer.inventory[drawPlayer.selectedItem].type == 157)
                                                                        {
                                                                            num10 = 6;
                                                                            vector3.Y += 2f * drawPlayer.gravDir;
                                                                        }
                                                                        else
                                                                        {
                                                                            if (drawPlayer.inventory[drawPlayer.selectedItem].type == 160)
                                                                            {
                                                                                num10 = -8;
                                                                            }
                                                                            else
                                                                            {
                                                                                if (drawPlayer.inventory[drawPlayer.selectedItem].type == 164 || drawPlayer.inventory[drawPlayer.selectedItem].type == 219)
                                                                                {
                                                                                    num10 = 2;
                                                                                    vector3.Y += 4f * drawPlayer.gravDir;
                                                                                }
                                                                                else
                                                                                {
                                                                                    if (drawPlayer.inventory[drawPlayer.selectedItem].type == 165 || drawPlayer.inventory[drawPlayer.selectedItem].type == 272)
                                                                                    {
                                                                                        num10 = 4;
                                                                                        vector3.Y += 4f * drawPlayer.gravDir;
                                                                                    }
                                                                                    else
                                                                                    {
                                                                                        if (drawPlayer.inventory[drawPlayer.selectedItem].type == 266)
                                                                                        {
                                                                                            num10 = 0;
                                                                                            vector3.Y += 2f * drawPlayer.gravDir;
                                                                                        }
                                                                                        else
                                                                                        {
                                                                                            if (drawPlayer.inventory[drawPlayer.selectedItem].type == 281)
                                                                                            {
                                                                                                num10 = 6;
                                                                                                vector3.Y -= 6f * drawPlayer.gravDir;
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    Vector2 origin2 = new Vector2((float)(-(float)num10), (float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height / 2));
                    if (drawPlayer.direction == -1)
                    {
                        origin2 = new Vector2((float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width + num10), (float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height / 2));
                    }
                    this.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X + vector3.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y + vector3.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(color13), drawPlayer.itemRotation, origin2, drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                    if (drawPlayer.inventory[drawPlayer.selectedItem].color != default(Color))
                    {
                        this.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X + vector3.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y + vector3.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetColor(color13), drawPlayer.itemRotation, origin2, drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                    }
                }
                else
                {
                    if (drawPlayer.gravDir == -1f)
                    {
                        this.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(color13), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f - (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f * (float)drawPlayer.direction, 0f), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                        if (drawPlayer.inventory[drawPlayer.selectedItem].color != default(Color))
                        {
                            this.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetColor(color13), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f - (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f * (float)drawPlayer.direction, 0f), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                        }
                    }
                    else
                    {
                        if (drawPlayer.inventory[drawPlayer.selectedItem].type == 425 || drawPlayer.inventory[drawPlayer.selectedItem].type == 507)
                        {
                            if (drawPlayer.gravDir == 1f)
                            {
                                if (drawPlayer.direction == 1)
                                {
                                    effects2 = SpriteEffects.FlipVertically;
                                }
                                else
                                {
                                    effects2 = (SpriteEffects.FlipHorizontally | SpriteEffects.FlipVertically);
                                }
                            }
                            else
                            {
                                if (drawPlayer.direction == 1)
                                {
                                    effects2 = SpriteEffects.None;
                                }
                                else
                                {
                                    effects2 = SpriteEffects.FlipHorizontally;
                                }
                            }
                        }
                        this.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(color13), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f - (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f * (float)drawPlayer.direction, (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                        if (drawPlayer.inventory[drawPlayer.selectedItem].color != default(Color))
                        {
                            this.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetColor(color13), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f - (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f * (float)drawPlayer.direction, (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                        }
                    }
                }
            }
            if (drawPlayer.body > 0 && drawPlayer.body < 26)
            {
                this.spriteBatch.Draw(Main.armorArmTexture[drawPlayer.body], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                if ((drawPlayer.body == 10 || drawPlayer.body == 11 || drawPlayer.body == 12 || drawPlayer.body == 13 || drawPlayer.body == 14 || drawPlayer.body == 15 || drawPlayer.body == 16 || drawPlayer.body == 20) && !drawPlayer.invis)
                {
                    this.spriteBatch.Draw(Main.playerHands2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                    return;
                }
            }
            else
            {
                if (!drawPlayer.invis)
                {
                    if (!drawPlayer.male)
                    {
                        this.spriteBatch.Draw(Main.femaleUnderShirt2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                        this.spriteBatch.Draw(Main.femaleShirt2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color6, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                    }
                    else
                    {
                        this.spriteBatch.Draw(Main.playerUnderShirt2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                    }
                    this.spriteBatch.Draw(Main.playerHands2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                }
            }
        }
 protected void DrawPlayer(Player drawPlayer)
 {
     int index = 0;
     int index2 = 0;
     int index3 = 0;
     if (drawPlayer.dye[0] != null)
     {
         index = (int)drawPlayer.dye[0].dye;
     }
     if (drawPlayer.dye[1] != null)
     {
         index2 = (int)drawPlayer.dye[1].dye;
     }
     if (drawPlayer.dye[2] != null)
     {
         index3 = (int)drawPlayer.dye[2].dye;
     }
     if (drawPlayer.shadow == 0f)
     {
         drawPlayer.position.Y = drawPlayer.position.Y + drawPlayer.gfxOffY;
     }
     drawPlayer.itemLocation.Y = drawPlayer.itemLocation.Y + drawPlayer.gfxOffY;
     SpriteEffects effects = SpriteEffects.None;
     Color color = drawPlayer.GetImmuneAlpha(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.25) / 16.0), Color.White));
     Color color2 = drawPlayer.GetImmuneAlpha(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.25) / 16.0), drawPlayer.eyeColor));
     Color color3 = drawPlayer.GetImmuneAlpha(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.25) / 16.0), drawPlayer.hairColor));
     Color color4 = drawPlayer.GetImmuneAlpha(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.25) / 16.0), drawPlayer.skinColor));
     Color color5 = drawPlayer.GetImmuneAlpha(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16.0), drawPlayer.skinColor));
     Color immuneAlpha = drawPlayer.GetImmuneAlpha(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.75) / 16.0), drawPlayer.skinColor));
     Color color6 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16.0), drawPlayer.shirtColor));
     Color color7 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16.0), drawPlayer.underShirtColor));
     Color color8 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.75) / 16.0), drawPlayer.pantsColor));
     Color color9 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.75) / 16.0), drawPlayer.shoeColor));
     Color color10 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.25) / 16, Color.White));
     Color color11 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16, Color.White));
     Color color12 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.75) / 16, Color.White));
     if (drawPlayer.head > 0 && drawPlayer.head < 112)
     {
         this.LoadArmorHead(drawPlayer.head);
     }
     if (drawPlayer.body > 0 && drawPlayer.body < 75)
     {
         this.LoadArmorBody(drawPlayer.body);
     }
     if (drawPlayer.legs > 0 && drawPlayer.legs < 64)
     {
         this.LoadArmorLegs(drawPlayer.legs);
     }
     this.LoadHair(drawPlayer.hair);
     if ((drawPlayer.head == 78 || drawPlayer.head == 79 || drawPlayer.head == 80) && drawPlayer.body == 51 && drawPlayer.legs == 47)
     {
         float num = (float)Main.mouseTextColor / 200f - 0.3f;
         if (drawPlayer.shadow != 0f)
         {
             num = 0f;
         }
         color10.G = (byte)((float)color10.G * num);
         color11.G = (byte)((float)color11.G * num);
         color12.G = (byte)((float)color12.G * num);
         color10.B = (byte)((float)color10.B * num);
         color10.R = (byte)((float)color10.R * num);
         color11.B = (byte)((float)color11.B * num);
         color11.R = (byte)((float)color11.R * num);
         color12.B = (byte)((float)color12.B * num);
         color12.R = (byte)((float)color12.R * num);
     }
     if (drawPlayer.shadow > 0f)
     {
         immuneAlpha = new Color(0, 0, 0, 0);
         color5 = new Color(0, 0, 0, 0);
         color4 = new Color(0, 0, 0, 0);
         color3 = new Color(0, 0, 0, 0);
         color2 = new Color(0, 0, 0, 0);
         color = new Color(0, 0, 0, 0);
     }
     float num2 = 1f;
     float num3 = 1f;
     float num4 = 1f;
     float num5 = 1f;
     if (drawPlayer.honey && Main.rand.Next(30) == 0)
     {
         int num6 = Dust.NewDust(drawPlayer.position, drawPlayer.width, drawPlayer.height, 152, 0f, 0f, 150, default(Color), 1f);
         Main.dust[num6].velocity.Y = 0.3f;
         Dust expr_79B_cp_0 = Main.dust[num6];
         expr_79B_cp_0.velocity.X = expr_79B_cp_0.velocity.X * 0.1f;
         Main.dust[num6].scale += (float)Main.rand.Next(3, 4) * 0.1f;
         Main.dust[num6].alpha = 100;
         Main.dust[num6].noGravity = true;
         Main.dust[num6].velocity += drawPlayer.velocity * 0.1f;
     }
     if (drawPlayer.poisoned)
     {
         if (Main.rand.Next(50) == 0)
         {
             int num7 = Dust.NewDust(drawPlayer.position, drawPlayer.width, drawPlayer.height, 46, 0f, 0f, 150, default(Color), 0.2f);
             Main.dust[num7].noGravity = true;
             Main.dust[num7].fadeIn = 1.9f;
         }
         num2 *= 0.65f;
         num4 *= 0.75f;
     }
     if (drawPlayer.venom)
     {
         if (Main.rand.Next(10) == 0)
         {
             int num8 = Dust.NewDust(drawPlayer.position, drawPlayer.width, drawPlayer.height, 171, 0f, 0f, 100, default(Color), 0.5f);
             Main.dust[num8].noGravity = true;
             Main.dust[num8].fadeIn = 1.5f;
         }
         num3 *= 0.45f;
         num2 *= 0.75f;
     }
     if (drawPlayer.onFire)
     {
         if (Main.rand.Next(4) == 0)
         {
             int num9 = Dust.NewDust(new Vector2(drawPlayer.position.X - 2f, drawPlayer.position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 6, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 3f);
             Main.dust[num9].noGravity = true;
             Main.dust[num9].velocity *= 1.8f;
             Dust expr_9E3_cp_0 = Main.dust[num9];
             expr_9E3_cp_0.velocity.Y = expr_9E3_cp_0.velocity.Y - 0.5f;
         }
         num4 *= 0.6f;
         num3 *= 0.7f;
     }
     if (drawPlayer.ichor)
     {
         num4 = 0f;
     }
     if (drawPlayer.burned)
     {
         int num10 = Dust.NewDust(new Vector2(drawPlayer.position.X - 2f, drawPlayer.position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 6, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 2f);
         Main.dust[num10].noGravity = true;
         Main.dust[num10].velocity *= 1.8f;
         Dust expr_ACC_cp_0 = Main.dust[num10];
         expr_ACC_cp_0.velocity.Y = expr_ACC_cp_0.velocity.Y - 0.75f;
         num2 = 1f;
         num4 *= 0.6f;
         num3 *= 0.7f;
     }
     if (drawPlayer.onFrostBurn)
     {
         if (Main.rand.Next(4) == 0)
         {
             int num11 = Dust.NewDust(new Vector2(drawPlayer.position.X - 2f, drawPlayer.position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 135, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 3f);
             Main.dust[num11].noGravity = true;
             Main.dust[num11].velocity *= 1.8f;
             Dust expr_BC1_cp_0 = Main.dust[num11];
             expr_BC1_cp_0.velocity.Y = expr_BC1_cp_0.velocity.Y - 0.5f;
         }
         num2 *= 0.5f;
         num3 *= 0.7f;
     }
     if (drawPlayer.onFire2)
     {
         if (Main.rand.Next(4) == 0)
         {
             int num12 = Dust.NewDust(new Vector2(drawPlayer.position.X - 2f, drawPlayer.position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 75, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 3f);
             Main.dust[num12].noGravity = true;
             Main.dust[num12].velocity *= 1.8f;
             Dust expr_CAC_cp_0 = Main.dust[num12];
             expr_CAC_cp_0.velocity.Y = expr_CAC_cp_0.velocity.Y - 0.5f;
         }
         num4 *= 0.6f;
         num3 *= 0.7f;
     }
     if (drawPlayer.noItems)
     {
         num3 *= 0.8f;
         num2 *= 0.65f;
     }
     if (drawPlayer.blind)
     {
         num3 *= 0.65f;
         num2 *= 0.7f;
     }
     if (drawPlayer.bleed)
     {
         num3 *= 0.9f;
         num4 *= 0.9f;
         if (!drawPlayer.dead && Main.rand.Next(30) == 0)
         {
             int num13 = Dust.NewDust(drawPlayer.position, drawPlayer.width, drawPlayer.height, 5, 0f, 0f, 0, default(Color), 1f);
             Dust expr_D7F_cp_0 = Main.dust[num13];
             expr_D7F_cp_0.velocity.Y = expr_D7F_cp_0.velocity.Y + 0.5f;
             Main.dust[num13].velocity *= 0.25f;
         }
     }
     if (drawPlayer.shadow == 0f && drawPlayer.palladiumRegen && drawPlayer.statLife < drawPlayer.statLifeMax && base.IsActive && !Main.gamePaused && drawPlayer.miscCounter % 10 == 0)
     {
         Vector2 position;
         position.X = drawPlayer.position.X + (float)Main.rand.Next(drawPlayer.width);
         position.Y = drawPlayer.position.Y + (float)Main.rand.Next(drawPlayer.height);
         position.X = drawPlayer.position.X + (float)(drawPlayer.width / 2) - 6f;
         position.Y = drawPlayer.position.Y + (float)(drawPlayer.height / 2) - 6f;
         position.X -= (float)Main.rand.Next(-10, 11);
         position.Y -= (float)Main.rand.Next(-20, 21);
         Gore.NewGore(position, new Vector2((float)Main.rand.Next(-10, 11) * 0.1f, (float)Main.rand.Next(-20, -10) * 0.1f), 331, (float)Main.rand.Next(80, 120) * 0.01f);
     }
     if (num2 != 1f || num3 != 1f || num4 != 1f || num5 != 1f)
     {
         if (drawPlayer.onFire || drawPlayer.onFire2 || drawPlayer.onFrostBurn)
         {
             color = drawPlayer.GetImmuneAlpha(Color.White);
             color2 = drawPlayer.GetImmuneAlpha(drawPlayer.eyeColor);
             color3 = drawPlayer.GetImmuneAlpha(drawPlayer.hairColor);
             color4 = drawPlayer.GetImmuneAlpha(drawPlayer.skinColor);
             color5 = drawPlayer.GetImmuneAlpha(drawPlayer.skinColor);
             color6 = drawPlayer.GetImmuneAlpha(drawPlayer.shirtColor);
             color7 = drawPlayer.GetImmuneAlpha(drawPlayer.underShirtColor);
             color8 = drawPlayer.GetImmuneAlpha(drawPlayer.pantsColor);
             color9 = drawPlayer.GetImmuneAlpha(drawPlayer.shoeColor);
             color10 = drawPlayer.GetImmuneAlpha(Color.White);
             color11 = drawPlayer.GetImmuneAlpha(Color.White);
             color12 = drawPlayer.GetImmuneAlpha(Color.White);
         }
         else
         {
             color = Main.buffColor(color, num2, num3, num4, num5);
             color2 = Main.buffColor(color2, num2, num3, num4, num5);
             color3 = Main.buffColor(color3, num2, num3, num4, num5);
             color4 = Main.buffColor(color4, num2, num3, num4, num5);
             color5 = Main.buffColor(color5, num2, num3, num4, num5);
             color6 = Main.buffColor(color6, num2, num3, num4, num5);
             color7 = Main.buffColor(color7, num2, num3, num4, num5);
             color8 = Main.buffColor(color8, num2, num3, num4, num5);
             color9 = Main.buffColor(color9, num2, num3, num4, num5);
             color10 = Main.buffColor(color10, num2, num3, num4, num5);
             color11 = Main.buffColor(color11, num2, num3, num4, num5);
             color12 = Main.buffColor(color12, num2, num3, num4, num5);
         }
     }
     if (drawPlayer.socialGhost)
     {
         color = new Color(0, 0, 0, 0);
         color2 = new Color(0, 0, 0, 0);
         color3 = new Color(0, 0, 0, 0);
         color4 = new Color(0, 0, 0, 0);
         color5 = new Color(0, 0, 0, 0);
         color6 = new Color(0, 0, 0, 0);
         color7 = new Color(0, 0, 0, 0);
         color8 = new Color(0, 0, 0, 0);
         color9 = new Color(0, 0, 0, 0);
         immuneAlpha = new Color(0, 0, 0, 0);
         if (color10.A > Main.gFade)
         {
             color10.A = Main.gFade;
         }
         if (color11.A > Main.gFade)
         {
             color11.A = Main.gFade;
         }
         if (color12.A > Main.gFade)
         {
             color12.A = Main.gFade;
         }
     }
     if (drawPlayer.armorSteath)
     {
         float num14 = drawPlayer.stealth;
         if ((double)num14 < 0.03)
         {
             num14 = 0.03f;
         }
         float num15 = (1f + num14 * 10f) / 11f;
         if (num14 < 0f)
         {
             num14 = 0f;
         }
         if (num14 >= 1f - drawPlayer.shadow && drawPlayer.shadow > 0f)
         {
             num14 = drawPlayer.shadow * 0.5f;
         }
         color10 = new Color((int)((byte)((float)color10.R * num14)), (int)((byte)((float)color10.G * num14)), (int)((byte)((float)color10.B * num15)), (int)((byte)((float)color10.A * num14)));
         color11 = new Color((int)((byte)((float)color11.R * num14)), (int)((byte)((float)color11.G * num14)), (int)((byte)((float)color11.B * num15)), (int)((byte)((float)color11.A * num14)));
         color12 = new Color((int)((byte)((float)color12.R * num14)), (int)((byte)((float)color12.G * num14)), (int)((byte)((float)color12.B * num15)), (int)((byte)((float)color12.A * num14)));
         num14 *= num14;
         color = new Color((int)((byte)((float)color.R * num14)), (int)((byte)((float)color.G * num14)), (int)((byte)((float)color.B * num14)), (int)((byte)((float)color.A * num14)));
         color2 = new Color((int)((byte)((float)color2.R * num14)), (int)((byte)((float)color2.G * num14)), (int)((byte)((float)color2.B * num14)), (int)((byte)((float)color2.A * num14)));
         color3 = new Color((int)((byte)((float)color3.R * num14)), (int)((byte)((float)color3.G * num14)), (int)((byte)((float)color3.B * num14)), (int)((byte)((float)color3.A * num14)));
         color4 = new Color((int)((byte)((float)color4.R * num14)), (int)((byte)((float)color4.G * num14)), (int)((byte)((float)color4.B * num14)), (int)((byte)((float)color4.A * num14)));
         color5 = new Color((int)((byte)((float)color5.R * num14)), (int)((byte)((float)color5.G * num14)), (int)((byte)((float)color5.B * num14)), (int)((byte)((float)color5.A * num14)));
         color6 = new Color((int)((byte)((float)color6.R * num14)), (int)((byte)((float)color6.G * num14)), (int)((byte)((float)color6.B * num14)), (int)((byte)((float)color6.A * num14)));
         color7 = new Color((int)((byte)((float)color7.R * num14)), (int)((byte)((float)color7.G * num14)), (int)((byte)((float)color7.B * num14)), (int)((byte)((float)color7.A * num14)));
         color8 = new Color((int)((byte)((float)color8.R * num14)), (int)((byte)((float)color8.G * num14)), (int)((byte)((float)color8.B * num14)), (int)((byte)((float)color8.A * num14)));
         color9 = new Color((int)((byte)((float)color9.R * num14)), (int)((byte)((float)color9.G * num14)), (int)((byte)((float)color9.B * num14)), (int)((byte)((float)color9.A * num14)));
         immuneAlpha = new Color((int)((byte)((float)immuneAlpha.R * num14)), (int)((byte)((float)immuneAlpha.G * num14)), (int)((byte)((float)immuneAlpha.B * num14)), (int)((byte)((float)immuneAlpha.A * num14)));
     }
     SpriteEffects effects2;
     if (drawPlayer.gravDir == 1f)
     {
         if (drawPlayer.direction == 1)
         {
             effects = SpriteEffects.None;
             effects2 = SpriteEffects.None;
         }
         else
         {
             effects = SpriteEffects.FlipHorizontally;
             effects2 = SpriteEffects.FlipHorizontally;
         }
         if (!drawPlayer.dead)
         {
             drawPlayer.legPosition.Y = 0f;
             drawPlayer.headPosition.Y = 0f;
             drawPlayer.bodyPosition.Y = 0f;
         }
     }
     else
     {
         if (drawPlayer.direction == 1)
         {
             effects = SpriteEffects.FlipVertically;
             effects2 = SpriteEffects.FlipVertically;
         }
         else
         {
             effects = (SpriteEffects.FlipHorizontally | SpriteEffects.FlipVertically);
             effects2 = (SpriteEffects.FlipHorizontally | SpriteEffects.FlipVertically);
         }
         if (!drawPlayer.dead)
         {
             drawPlayer.legPosition.Y = 6f;
             drawPlayer.headPosition.Y = 6f;
             drawPlayer.bodyPosition.Y = 6f;
         }
     }
     Vector2 vector = new Vector2((float)drawPlayer.legFrame.Width * 0.5f, (float)drawPlayer.legFrame.Height * 0.75f);
     Vector2 origin = new Vector2((float)drawPlayer.legFrame.Width * 0.5f, (float)drawPlayer.legFrame.Height * 0.5f);
     Vector2 vector2 = new Vector2((float)drawPlayer.legFrame.Width * 0.5f, (float)drawPlayer.legFrame.Height * 0.4f);
     if (drawPlayer.merman)
     {
         drawPlayer.headRotation = drawPlayer.velocity.Y * (float)drawPlayer.direction * 0.1f;
         if ((double)drawPlayer.headRotation < -0.3)
         {
             drawPlayer.headRotation = -0.3f;
         }
         if ((double)drawPlayer.headRotation > 0.3)
         {
             drawPlayer.headRotation = 0.3f;
         }
     }
     else
     {
         if (!drawPlayer.dead)
         {
             drawPlayer.headRotation = 0f;
         }
     }
     if (drawPlayer.carpetFrame >= 0)
     {
         Color color13 = color12;
         float num16 = 0f;
         if (drawPlayer.gravDir == -1f)
         {
             num16 = 10f;
         }
         this.spriteBatch.Draw(Main.flyingCarpetTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + 28f * drawPlayer.gravDir + num16))), new Rectangle?(new Rectangle(0, Main.flyingCarpetTexture.Height / 6 * drawPlayer.carpetFrame, Main.flyingCarpetTexture.Width, Main.flyingCarpetTexture.Height / 6)), color13, drawPlayer.bodyRotation, new Vector2((float)(Main.flyingCarpetTexture.Width / 2), (float)(Main.flyingCarpetTexture.Height / 8)), 1f, effects, 0f);
     }
     bool flag = false;
     if ((drawPlayer.wings == 0 || drawPlayer.velocity.Y == 0f) && (drawPlayer.inventory[drawPlayer.selectedItem].type == 1178 || drawPlayer.inventory[drawPlayer.selectedItem].type == 779 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1295 || drawPlayer.turtleArmor))
     {
         flag = true;
         int type = drawPlayer.inventory[drawPlayer.selectedItem].type;
         int num17 = 1;
         float num18 = -4f;
         float num19 = -8f;
         if (drawPlayer.turtleArmor)
         {
             num17 = 4;
         }
         else
         {
             if (type == 1178)
             {
                 num17 = 1;
             }
             else
             {
                 if (type == 779)
                 {
                     num17 = 2;
                 }
                 else
                 {
                     if (type == 1295)
                     {
                         num17 = 3;
                     }
                 }
             }
         }
         if (num17 == 4)
         {
             this.spriteBatch.Draw(Main.BackPackTexture[num17], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         }
         else
         {
             this.spriteBatch.Draw(Main.BackPackTexture[num17], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) - (float)(9 * drawPlayer.direction))) + num18 * (float)drawPlayer.direction, (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + 2f * drawPlayer.gravDir + num19 * drawPlayer.gravDir))), new Rectangle?(new Rectangle(0, 0, Main.BackPackTexture[num17].Width, Main.BackPackTexture[num17].Height)), color11, drawPlayer.bodyRotation, new Vector2((float)(Main.BackPackTexture[num17].Width / 2), (float)(Main.BackPackTexture[num17].Height / 2)), 1f, effects, 0f);
         }
     }
     if (!flag && drawPlayer.wings > 0)
     {
         this.LoadWings(drawPlayer.wings);
         int num20 = 0;
         int num21 = 0;
         if (drawPlayer.wings == 5)
         {
             num21 = 4;
             num20 -= 4;
         }
         Color color14 = color11;
         if (drawPlayer.wings == 9)
         {
             color14 = new Color(250, 250, 250, 100);
         }
         if (drawPlayer.wings == 10)
         {
             color14.A = 175;
         }
         if (drawPlayer.wings == 11 && color14.A > Main.gFade)
         {
             color14.A = Main.gFade;
         }
         if (drawPlayer.wings == 3)
         {
             Main.pixelShader.CurrentTechnique.Passes[index2].Apply();
         }
         this.spriteBatch.Draw(Main.wingsTexture[drawPlayer.wings], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) - (float)(9 * drawPlayer.direction)) + num21 * drawPlayer.direction), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + 2f * drawPlayer.gravDir + (float)num20 * drawPlayer.gravDir))), new Rectangle?(new Rectangle(0, Main.wingsTexture[drawPlayer.wings].Height / 4 * drawPlayer.wingFrame, Main.wingsTexture[drawPlayer.wings].Width, Main.wingsTexture[drawPlayer.wings].Height / 4)), color14, drawPlayer.bodyRotation, new Vector2((float)(Main.wingsTexture[drawPlayer.wings].Width / 2), (float)(Main.wingsTexture[drawPlayer.wings].Height / 8)), 1f, effects, 0f);
         if (drawPlayer.wings == 3)
         {
             Main.pixelShader.CurrentTechnique.Passes[0].Apply();
         }
     }
     if (!drawPlayer.invis)
     {
         this.spriteBatch.Draw(Main.skinBodyTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         this.spriteBatch.Draw(Main.skinLegsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.legFrame), immuneAlpha, drawPlayer.legRotation, origin, 1f, effects, 0f);
     }
     if (drawPlayer.legs > 0 && drawPlayer.legs < 64)
     {
         Main.pixelShader.CurrentTechnique.Passes[index3].Apply();
         this.spriteBatch.Draw(Main.armorLegTexture[drawPlayer.legs], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color12, drawPlayer.legRotation, vector, 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
     }
     else
     {
         if (!drawPlayer.invis)
         {
             if (!drawPlayer.male)
             {
                 this.spriteBatch.Draw(Main.femalePantsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color8, drawPlayer.legRotation, vector, 1f, effects, 0f);
                 this.spriteBatch.Draw(Main.femaleShoesTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color9, drawPlayer.legRotation, vector, 1f, effects, 0f);
             }
             else
             {
                 this.spriteBatch.Draw(Main.playerPantsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color8, drawPlayer.legRotation, vector, 1f, effects, 0f);
                 this.spriteBatch.Draw(Main.playerShoesTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color9, drawPlayer.legRotation, vector, 1f, effects, 0f);
             }
         }
     }
     if (drawPlayer.body > 0 && drawPlayer.body < 75)
     {
         Main.pixelShader.CurrentTechnique.Passes[index2].Apply();
         if (!drawPlayer.male)
         {
             this.spriteBatch.Draw(Main.femaleBodyTexture[drawPlayer.body], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         }
         else
         {
             this.spriteBatch.Draw(Main.armorBodyTexture[drawPlayer.body], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         }
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
         if ((drawPlayer.body == 10 || drawPlayer.body == 11 || drawPlayer.body == 12 || drawPlayer.body == 13 || drawPlayer.body == 14 || drawPlayer.body == 43 || drawPlayer.body == 15 || drawPlayer.body == 16 || drawPlayer.body == 20 || drawPlayer.body == 39 || drawPlayer.body == 50 || drawPlayer.body == 38 || drawPlayer.body == 40 || drawPlayer.body == 57 || drawPlayer.body == 44 || drawPlayer.body == 52) && !drawPlayer.invis)
         {
             this.spriteBatch.Draw(Main.playerHandsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         }
     }
     else
     {
         if (!drawPlayer.invis)
         {
             if (!drawPlayer.male)
             {
                 this.spriteBatch.Draw(Main.femaleUnderShirtTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                 this.spriteBatch.Draw(Main.femaleShirtTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color6, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
             }
             else
             {
                 this.spriteBatch.Draw(Main.playerUnderShirtTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                 this.spriteBatch.Draw(Main.playerShirtTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color6, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
             }
             this.spriteBatch.Draw(Main.playerHandsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         }
     }
     if (!drawPlayer.invis && drawPlayer.head != 38)
     {
         this.spriteBatch.Draw(Main.playerHeadTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color4, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         this.spriteBatch.Draw(Main.playerEyeWhitesTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         this.spriteBatch.Draw(Main.playerEyesTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color2, drawPlayer.headRotation, vector2, 1f, effects, 0f);
     }
     if (drawPlayer.head == 10 || drawPlayer.head == 12 || drawPlayer.head == 28 || drawPlayer.head == 62 || drawPlayer.head == 97 || drawPlayer.head == 106)
     {
         Main.pixelShader.CurrentTechnique.Passes[index].Apply();
         this.spriteBatch.Draw(Main.armorHeadTexture[drawPlayer.head], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color10, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
         if (!drawPlayer.invis)
         {
             Rectangle bodyFrame = drawPlayer.bodyFrame;
             bodyFrame.Y -= 336;
             if (bodyFrame.Y < 0)
             {
                 bodyFrame.Y = 0;
             }
             this.spriteBatch.Draw(Main.playerHairTexture[drawPlayer.hair], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame), color3, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         }
     }
     if (drawPlayer.head == 14 || drawPlayer.head == 15 || drawPlayer.head == 16 || drawPlayer.head == 18 || drawPlayer.head == 21 || drawPlayer.head == 24 || drawPlayer.head == 25 || drawPlayer.head == 26 || drawPlayer.head == 40 || drawPlayer.head == 44 || drawPlayer.head == 51 || drawPlayer.head == 56 || drawPlayer.head == 59 || drawPlayer.head == 60 || drawPlayer.head == 67 || drawPlayer.head == 68 || drawPlayer.head == 69)
     {
         Rectangle bodyFrame2 = drawPlayer.bodyFrame;
         bodyFrame2.Y -= 336;
         if (bodyFrame2.Y < 0)
         {
             bodyFrame2.Y = 0;
         }
         if (!drawPlayer.invis)
         {
             this.spriteBatch.Draw(Main.playerHairAltTexture[drawPlayer.hair], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame2), color3, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         }
     }
     if (drawPlayer.head == 23)
     {
         Rectangle bodyFrame3 = drawPlayer.bodyFrame;
         bodyFrame3.Y -= 336;
         if (bodyFrame3.Y < 0)
         {
             bodyFrame3.Y = 0;
         }
         if (!drawPlayer.invis)
         {
             this.spriteBatch.Draw(Main.playerHairTexture[drawPlayer.hair], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame3), color3, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         }
         Main.pixelShader.CurrentTechnique.Passes[index].Apply();
         this.spriteBatch.Draw(Main.armorHeadTexture[drawPlayer.head], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color10, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
     }
     else
     {
         if (drawPlayer.head == 14 || drawPlayer.head == 56)
         {
             Rectangle bodyFrame4 = drawPlayer.bodyFrame;
             int num22 = 0;
             if (bodyFrame4.Y == bodyFrame4.Height * 6)
             {
                 bodyFrame4.Height -= 2;
             }
             else
             {
                 if (bodyFrame4.Y == bodyFrame4.Height * 7)
                 {
                     num22 = -2;
                 }
                 else
                 {
                     if (bodyFrame4.Y == bodyFrame4.Height * 8)
                     {
                         num22 = -2;
                     }
                     else
                     {
                         if (bodyFrame4.Y == bodyFrame4.Height * 9)
                         {
                             num22 = -2;
                         }
                         else
                         {
                             if (bodyFrame4.Y == bodyFrame4.Height * 10)
                             {
                                 num22 = -2;
                             }
                             else
                             {
                                 if (bodyFrame4.Y == bodyFrame4.Height * 13)
                                 {
                                     bodyFrame4.Height -= 2;
                                 }
                                 else
                                 {
                                     if (bodyFrame4.Y == bodyFrame4.Height * 14)
                                     {
                                         num22 = -2;
                                     }
                                     else
                                     {
                                         if (bodyFrame4.Y == bodyFrame4.Height * 15)
                                         {
                                             num22 = -2;
                                         }
                                         else
                                         {
                                             if (bodyFrame4.Y == bodyFrame4.Height * 16)
                                             {
                                                 num22 = -2;
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
             bodyFrame4.Y += num22;
             Main.pixelShader.CurrentTechnique.Passes[index].Apply();
             this.spriteBatch.Draw(Main.armorHeadTexture[drawPlayer.head], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f + (float)num22))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame4), color10, drawPlayer.headRotation, vector2, 1f, effects, 0f);
             Main.pixelShader.CurrentTechnique.Passes[0].Apply();
         }
         else
         {
             if (drawPlayer.head > 0 && drawPlayer.head < 112 && drawPlayer.head != 28)
             {
                 Main.pixelShader.CurrentTechnique.Passes[index].Apply();
                 if (drawPlayer.head > 0 && drawPlayer.head < 112)
                 {
                     this.LoadArmorHead(drawPlayer.head);
                 }
                 this.spriteBatch.Draw(Main.armorHeadTexture[drawPlayer.head], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color10, drawPlayer.headRotation, vector2, 1f, effects, 0f);
                 Main.pixelShader.CurrentTechnique.Passes[0].Apply();
             }
             else
             {
                 if (!drawPlayer.invis)
                 {
                     Rectangle bodyFrame5 = drawPlayer.bodyFrame;
                     bodyFrame5.Y -= 336;
                     if (bodyFrame5.Y < 0)
                     {
                         bodyFrame5.Y = 0;
                     }
                     this.spriteBatch.Draw(Main.playerHairTexture[drawPlayer.hair], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame5), color3, drawPlayer.headRotation, vector2, 1f, effects, 0f);
                 }
             }
         }
     }
     if (drawPlayer.pulley && drawPlayer.itemAnimation == 0)
     {
         if (drawPlayer.pulleyDir == 2)
         {
             int num23 = -26;
             int num24 = 0;
             float rotation = 0f;
             this.spriteBatch.Draw(Main.pulleyTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) - (float)(9 * drawPlayer.direction)) + num24 * drawPlayer.direction), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + 2f * drawPlayer.gravDir + (float)num23 * drawPlayer.gravDir))), new Rectangle?(new Rectangle(0, Main.pulleyTexture.Height / 2 * drawPlayer.pulleyFrame, Main.pulleyTexture.Width, Main.pulleyTexture.Height / 2)), color10, rotation, new Vector2((float)(Main.pulleyTexture.Width / 2), (float)(Main.pulleyTexture.Height / 4)), 1f, effects, 0f);
         }
         else
         {
             int num25 = -26;
             int num26 = 10;
             float rotation2 = 0.35f * (float)(-(float)drawPlayer.direction);
             this.spriteBatch.Draw(Main.pulleyTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) - (float)(9 * drawPlayer.direction)) + num26 * drawPlayer.direction), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + 2f * drawPlayer.gravDir + (float)num25 * drawPlayer.gravDir))), new Rectangle?(new Rectangle(0, Main.pulleyTexture.Height / 2 * drawPlayer.pulleyFrame, Main.pulleyTexture.Width, Main.pulleyTexture.Height / 2)), color10, rotation2, new Vector2((float)(Main.pulleyTexture.Width / 2), (float)(Main.pulleyTexture.Height / 4)), 1f, effects, 0f);
         }
     }
     if (drawPlayer.heldProj >= 0)
     {
         Main.projectile[drawPlayer.heldProj].gfxOffY = drawPlayer.gfxOffY;
         this.DrawProj(drawPlayer.heldProj);
     }
     Color newColor = Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16.0));
     if (drawPlayer.inventory[drawPlayer.selectedItem].type == 678)
     {
         newColor = Color.White;
     }
     if (drawPlayer.armorSteath && drawPlayer.inventory[drawPlayer.selectedItem].ranged)
     {
         float num27 = drawPlayer.stealth;
         if ((double)num27 < 0.03)
         {
             num27 = 0.03f;
         }
         float num28 = (1f + num27 * 10f) / 11f;
         newColor = new Color((int)((byte)((float)newColor.R * num27)), (int)((byte)((float)newColor.G * num27)), (int)((byte)((float)newColor.B * num28)), (int)((byte)((float)newColor.A * num27)));
     }
     if (!drawPlayer.frozen && (drawPlayer.itemAnimation > 0 || (drawPlayer.inventory[drawPlayer.selectedItem].holdStyle > 0 && !drawPlayer.pulley)) && drawPlayer.inventory[drawPlayer.selectedItem].type > 0 && !drawPlayer.dead && !drawPlayer.inventory[drawPlayer.selectedItem].noUseGraphic && (!drawPlayer.wet || !drawPlayer.inventory[drawPlayer.selectedItem].noWet))
     {
         string arg_38A2_0 = drawPlayer.name;
         if (drawPlayer.inventory[drawPlayer.selectedItem].type == 662 || drawPlayer.inventory[drawPlayer.selectedItem].type == 663)
         {
             newColor.R = (byte)Main.DiscoR;
             newColor.G = (byte)Main.DiscoG;
             newColor.B = (byte)Main.DiscoB;
             newColor.A = 255;
         }
         if (drawPlayer.inventory[drawPlayer.selectedItem].useStyle == 5)
         {
             if (drawPlayer.inventory[drawPlayer.selectedItem].type == 1308 || drawPlayer.inventory[drawPlayer.selectedItem].type == 683 || drawPlayer.inventory[drawPlayer.selectedItem].type == 723 || drawPlayer.inventory[drawPlayer.selectedItem].type == 726 || (drawPlayer.inventory[drawPlayer.selectedItem].type >= 739 && drawPlayer.inventory[drawPlayer.selectedItem].type <= 744) || drawPlayer.inventory[drawPlayer.selectedItem].type == 788 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1326 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1444 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1445 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1446)
             {
                 float num29 = drawPlayer.itemRotation + 0.785f * (float)drawPlayer.direction;
                 int num30 = 0;
                 int num31 = 0;
                 Vector2 origin2 = new Vector2(0f, (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height);
                 if (drawPlayer.gravDir == -1f)
                 {
                     if (drawPlayer.direction == -1)
                     {
                         num29 += 1.57f;
                         origin2 = new Vector2((float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, 0f);
                         num30 -= Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width;
                     }
                     else
                     {
                         num29 -= 1.57f;
                         origin2 = new Vector2(0f, 0f);
                     }
                 }
                 else
                 {
                     if (drawPlayer.direction == -1)
                     {
                         origin2 = new Vector2((float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height);
                         num30 -= Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width;
                     }
                 }
                 this.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.position.X + (float)(drawPlayer.width / 2) - Main.screenPosition.X + origin2.X + (float)num30)), (float)((int)(drawPlayer.position.Y + (float)(drawPlayer.height / 2) - Main.screenPosition.Y + (float)num31))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(newColor), num29, origin2, drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
             }
             else
             {
                 Vector2 vector3 = new Vector2((float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width / 2), (float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height / 2));
                 Vector2 vector4 = this.DrawPlayerItemPos(drawPlayer);
                 int num32 = (int)vector4.X;
                 vector3.Y = vector4.Y;
                 Vector2 origin3 = new Vector2((float)(-(float)num32), (float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height / 2));
                 if (drawPlayer.direction == -1)
                 {
                     origin3 = new Vector2((float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width + num32), (float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height / 2));
                 }
                 this.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X + vector3.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y + vector3.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(newColor), drawPlayer.itemRotation, origin3, drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                 if (drawPlayer.inventory[drawPlayer.selectedItem].color != default(Color))
                 {
                     this.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X + vector3.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y + vector3.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetColor(newColor), drawPlayer.itemRotation, origin3, drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                 }
             }
         }
         else
         {
             if (drawPlayer.gravDir == -1f)
             {
                 this.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(newColor), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f - (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f * (float)drawPlayer.direction, 0f), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                 if (drawPlayer.inventory[drawPlayer.selectedItem].color != default(Color))
                 {
                     this.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetColor(newColor), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f - (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f * (float)drawPlayer.direction, 0f), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                 }
             }
             else
             {
                 if (drawPlayer.inventory[drawPlayer.selectedItem].type == 425 || drawPlayer.inventory[drawPlayer.selectedItem].type == 507)
                 {
                     if (drawPlayer.gravDir == 1f)
                     {
                         if (drawPlayer.direction == 1)
                         {
                             effects2 = SpriteEffects.FlipVertically;
                         }
                         else
                         {
                             effects2 = (SpriteEffects.FlipHorizontally | SpriteEffects.FlipVertically);
                         }
                     }
                     else
                     {
                         if (drawPlayer.direction == 1)
                         {
                             effects2 = SpriteEffects.None;
                         }
                         else
                         {
                             effects2 = SpriteEffects.FlipHorizontally;
                         }
                     }
                 }
                 int type2 = drawPlayer.inventory[drawPlayer.selectedItem].type;
                 this.spriteBatch.Draw(Main.itemTexture[type2], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[type2].Width, Main.itemTexture[type2].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(newColor), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[type2].Width * 0.5f - (float)Main.itemTexture[type2].Width * 0.5f * (float)drawPlayer.direction, (float)Main.itemTexture[type2].Height), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                 if (drawPlayer.inventory[drawPlayer.selectedItem].color != default(Color))
                 {
                     this.spriteBatch.Draw(Main.itemTexture[type2], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[type2].Width, Main.itemTexture[type2].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetColor(newColor), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[type2].Width * 0.5f - (float)Main.itemTexture[type2].Width * 0.5f * (float)drawPlayer.direction, (float)Main.itemTexture[type2].Height), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                 }
                 if (drawPlayer.inventory[drawPlayer.selectedItem].flame && drawPlayer.shadow == 0f)
                 {
                     try
                     {
                         this.LoadItemFlames(type2);
                         if (Main.itemFlameTexture[type2] != null)
                         {
                             for (int i = 0; i < 7; i++)
                             {
                                 float x = drawPlayer.itemFlamePos[i].X;
                                 float y = drawPlayer.itemFlamePos[i].Y;
                                 this.spriteBatch.Draw(Main.itemFlameTexture[type2], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)) + x, (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y)) + y), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[type2].Width, Main.itemTexture[type2].Height)), new Color(100, 100, 100, 0), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[type2].Width * 0.5f - (float)Main.itemTexture[type2].Width * 0.5f * (float)drawPlayer.direction, (float)Main.itemTexture[type2].Height), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                             }
                         }
                     }
                     catch
                     {
                     }
                 }
             }
         }
     }
     if (drawPlayer.body > 0 && drawPlayer.body < 75)
     {
         Main.pixelShader.CurrentTechnique.Passes[index2].Apply();
         if (drawPlayer.body > 0 && drawPlayer.body < 75)
         {
             this.LoadArmorBody(drawPlayer.body);
         }
         this.spriteBatch.Draw(Main.armorArmTexture[drawPlayer.body], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
         if ((drawPlayer.body == 10 || drawPlayer.body == 11 || drawPlayer.body == 43 || drawPlayer.body == 12 || drawPlayer.body == 13 || drawPlayer.body == 14 || drawPlayer.body == 15 || drawPlayer.body == 16 || drawPlayer.body == 20 || drawPlayer.body == 39 || drawPlayer.body == 50 || drawPlayer.body == 38 || drawPlayer.body == 40 || drawPlayer.body == 57 || drawPlayer.body == 44 || drawPlayer.body == 52 || drawPlayer.body == 53 || drawPlayer.body == 68) && !drawPlayer.invis)
         {
             this.spriteBatch.Draw(Main.playerHands2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         }
     }
     else
     {
         if (!drawPlayer.invis)
         {
             if (!drawPlayer.male)
             {
                 this.spriteBatch.Draw(Main.femaleUnderShirt2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                 this.spriteBatch.Draw(Main.femaleShirt2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color6, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
             }
             else
             {
                 this.spriteBatch.Draw(Main.playerUnderShirt2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
             }
             this.spriteBatch.Draw(Main.playerHands2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         }
     }
     if (drawPlayer.frozen)
     {
         Color color15 = color11;
         color15.R = (byte)((double)color15.R * 0.55);
         color15.G = (byte)((double)color15.G * 0.55);
         color15.B = (byte)((double)color15.B * 0.55);
         color15.A = (byte)((double)color15.A * 0.55);
         this.spriteBatch.Draw(Main.frozenTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(new Rectangle(0, 0, Main.frozenTexture.Width, Main.frozenTexture.Height)), color15, drawPlayer.bodyRotation, new Vector2((float)(Main.frozenTexture.Width / 2), (float)(Main.frozenTexture.Height / 2)), 1f, effects, 0f);
     }
     if (drawPlayer.iceBarrier && drawPlayer.shadow == 0f)
     {
         int num33 = this.iceBarrierTexture.Height / 12;
         Color white = Color.White;
         this.spriteBatch.Draw(this.iceBarrierTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(new Rectangle(0, num33 * (int)drawPlayer.iceBarrierFrame, this.iceBarrierTexture.Width, num33)), white, 0f, new Vector2((float)(Main.frozenTexture.Width / 2), (float)(Main.frozenTexture.Height / 2)), 1f, effects, 0f);
     }
     if (drawPlayer.gem >= 0 && drawPlayer.shadow == 0f)
     {
         this.spriteBatch.Draw(Main.gemTexture[drawPlayer.gem], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - 80f))), new Rectangle?(new Rectangle(0, 0, Main.gemTexture[drawPlayer.gem].Width, Main.gemTexture[drawPlayer.gem].Height)), new Color(250, 250, 250, (int)(Main.mouseTextColor / 2)), 0f, new Vector2((float)(Main.gemTexture[drawPlayer.gem].Width / 2), (float)(Main.gemTexture[drawPlayer.gem].Height / 2)), (float)Main.mouseTextColor / 1000f + 0.8f, SpriteEffects.None, 0f);
     }
     if (drawPlayer.shadow == 0f)
     {
         drawPlayer.position.Y = drawPlayer.position.Y - drawPlayer.gfxOffY;
     }
     drawPlayer.itemLocation.Y = drawPlayer.itemLocation.Y - drawPlayer.gfxOffY;
 }
Example #3
0
 protected void DrawPlayer(Player drawPlayer)
 {
     SpriteEffects none = SpriteEffects.None;
     SpriteEffects flipHorizontally = SpriteEffects.FlipHorizontally;
     Color immuneAlpha = drawPlayer.GetImmuneAlpha(Lighting.GetColor(((int)(drawPlayer.position.X + (drawPlayer.width * 0.5))) / 0x10, (int)((drawPlayer.position.Y + (drawPlayer.height * 0.25)) / 16.0), Color.White));
     Color newColor = drawPlayer.GetImmuneAlpha(Lighting.GetColor(((int)(drawPlayer.position.X + (drawPlayer.width * 0.5))) / 0x10, (int)((drawPlayer.position.Y + (drawPlayer.height * 0.25)) / 16.0), drawPlayer.eyeColor));
     Color color3 = drawPlayer.GetImmuneAlpha(Lighting.GetColor(((int)(drawPlayer.position.X + (drawPlayer.width * 0.5))) / 0x10, (int)((drawPlayer.position.Y + (drawPlayer.height * 0.25)) / 16.0), drawPlayer.hairColor));
     Color color4 = drawPlayer.GetImmuneAlpha(Lighting.GetColor(((int)(drawPlayer.position.X + (drawPlayer.width * 0.5))) / 0x10, (int)((drawPlayer.position.Y + (drawPlayer.height * 0.25)) / 16.0), drawPlayer.skinColor));
     Color color5 = drawPlayer.GetImmuneAlpha(Lighting.GetColor(((int)(drawPlayer.position.X + (drawPlayer.width * 0.5))) / 0x10, (int)((drawPlayer.position.Y + (drawPlayer.height * 0.5)) / 16.0), drawPlayer.skinColor));
     Color color = drawPlayer.GetImmuneAlpha(Lighting.GetColor(((int)(drawPlayer.position.X + (drawPlayer.width * 0.5))) / 0x10, (int)((drawPlayer.position.Y + (drawPlayer.height * 0.75)) / 16.0), drawPlayer.skinColor));
     Color color7 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor(((int)(drawPlayer.position.X + (drawPlayer.width * 0.5))) / 0x10, (int)((drawPlayer.position.Y + (drawPlayer.height * 0.5)) / 16.0), drawPlayer.shirtColor));
     Color color8 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor(((int)(drawPlayer.position.X + (drawPlayer.width * 0.5))) / 0x10, (int)((drawPlayer.position.Y + (drawPlayer.height * 0.5)) / 16.0), drawPlayer.underShirtColor));
     Color color9 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor(((int)(drawPlayer.position.X + (drawPlayer.width * 0.5))) / 0x10, (int)((drawPlayer.position.Y + (drawPlayer.height * 0.75)) / 16.0), drawPlayer.pantsColor));
     Color color10 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor(((int)(drawPlayer.position.X + (drawPlayer.width * 0.5))) / 0x10, (int)((drawPlayer.position.Y + (drawPlayer.height * 0.75)) / 16.0), drawPlayer.shoeColor));
     Color color11 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor(((int)(drawPlayer.position.X + (drawPlayer.width * 0.5))) / 0x10, ((int)(drawPlayer.position.Y + (drawPlayer.height * 0.25))) / 0x10, Color.White));
     Color color12 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor(((int)(drawPlayer.position.X + (drawPlayer.width * 0.5))) / 0x10, ((int)(drawPlayer.position.Y + (drawPlayer.height * 0.5))) / 0x10, Color.White));
     Color color13 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor(((int)(drawPlayer.position.X + (drawPlayer.width * 0.5))) / 0x10, ((int)(drawPlayer.position.Y + (drawPlayer.height * 0.75))) / 0x10, Color.White));
     if (drawPlayer.shadow > 0f)
     {
         color = new Color(0, 0, 0, 0);
         color5 = new Color(0, 0, 0, 0);
         color4 = new Color(0, 0, 0, 0);
         color3 = new Color(0, 0, 0, 0);
         newColor = new Color(0, 0, 0, 0);
         immuneAlpha = new Color(0, 0, 0, 0);
     }
     float r = 1f;
     float g = 1f;
     float b = 1f;
     float a = 1f;
     if (drawPlayer.poisoned)
     {
         if (rand.Next(50) == 0)
         {
             int index = Dust.NewDust(drawPlayer.position, drawPlayer.width, drawPlayer.height, 0x2e, 0f, 0f, 150, new Color(), 0.2f);
             dust[index].noGravity = true;
             dust[index].fadeIn = 1.9f;
         }
         r *= 0.65f;
         b *= 0.75f;
     }
     if (drawPlayer.onFire)
     {
         if (rand.Next(4) == 0)
         {
             int num6 = Dust.NewDust(new Vector2(drawPlayer.position.X - 2f, drawPlayer.position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 6, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, new Color(), 3f);
             dust[num6].noGravity = true;
             Dust dust1 = dust[num6];
             dust1.velocity = (Vector2)(dust1.velocity * 1.8f);
             dust[num6].velocity.Y -= 0.5f;
         }
         b *= 0.6f;
         g *= 0.7f;
     }
     if (drawPlayer.onFire2)
     {
         if (rand.Next(4) == 0)
         {
             int num7 = Dust.NewDust(new Vector2(drawPlayer.position.X - 2f, drawPlayer.position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 0x4b, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, new Color(), 3f);
             dust[num7].noGravity = true;
             Dust dust2 = dust[num7];
             dust2.velocity = (Vector2)(dust2.velocity * 1.8f);
             dust[num7].velocity.Y -= 0.5f;
         }
         b *= 0.6f;
         g *= 0.7f;
     }
     if (drawPlayer.noItems)
     {
         g *= 0.8f;
         r *= 0.65f;
     }
     if (drawPlayer.blind)
     {
         g *= 0.65f;
         r *= 0.7f;
     }
     if (drawPlayer.bleed)
     {
         g *= 0.9f;
         b *= 0.9f;
         if (!drawPlayer.dead && (rand.Next(30) == 0))
         {
             int num8 = Dust.NewDust(drawPlayer.position, drawPlayer.width, drawPlayer.height, 5, 0f, 0f, 0, new Color(), 1f);
             dust[num8].velocity.Y += 0.5f;
             Dust dust3 = dust[num8];
             dust3.velocity = (Vector2)(dust3.velocity * 0.25f);
         }
     }
     if (((r != 1f) || (g != 1f)) || ((b != 1f) || (a != 1f)))
     {
         if (drawPlayer.onFire || drawPlayer.onFire2)
         {
             immuneAlpha = drawPlayer.GetImmuneAlpha(Color.White);
             newColor = drawPlayer.GetImmuneAlpha(drawPlayer.eyeColor);
             color3 = drawPlayer.GetImmuneAlpha(drawPlayer.hairColor);
             color4 = drawPlayer.GetImmuneAlpha(drawPlayer.skinColor);
             color5 = drawPlayer.GetImmuneAlpha(drawPlayer.skinColor);
             color7 = drawPlayer.GetImmuneAlpha(drawPlayer.shirtColor);
             color8 = drawPlayer.GetImmuneAlpha(drawPlayer.underShirtColor);
             color9 = drawPlayer.GetImmuneAlpha(drawPlayer.pantsColor);
             color10 = drawPlayer.GetImmuneAlpha(drawPlayer.shoeColor);
             color11 = drawPlayer.GetImmuneAlpha(Color.White);
             color12 = drawPlayer.GetImmuneAlpha(Color.White);
             color13 = drawPlayer.GetImmuneAlpha(Color.White);
         }
         else
         {
             immuneAlpha = buffColor(immuneAlpha, r, g, b, a);
             newColor = buffColor(newColor, r, g, b, a);
             color3 = buffColor(color3, r, g, b, a);
             color4 = buffColor(color4, r, g, b, a);
             color5 = buffColor(color5, r, g, b, a);
             color7 = buffColor(color7, r, g, b, a);
             color8 = buffColor(color8, r, g, b, a);
             color9 = buffColor(color9, r, g, b, a);
             color10 = buffColor(color10, r, g, b, a);
             color11 = buffColor(color11, r, g, b, a);
             color12 = buffColor(color12, r, g, b, a);
             color13 = buffColor(color13, r, g, b, a);
         }
     }
     if (drawPlayer.gravDir == 1f)
     {
         if (drawPlayer.direction == 1)
         {
             none = SpriteEffects.None;
             flipHorizontally = SpriteEffects.None;
         }
         else
         {
             none = SpriteEffects.FlipHorizontally;
             flipHorizontally = SpriteEffects.FlipHorizontally;
         }
         if (!drawPlayer.dead)
         {
             drawPlayer.legPosition.Y = 0f;
             drawPlayer.headPosition.Y = 0f;
             drawPlayer.bodyPosition.Y = 0f;
         }
     }
     else
     {
         if (drawPlayer.direction == 1)
         {
             none = SpriteEffects.FlipVertically;
             flipHorizontally = SpriteEffects.FlipVertically;
         }
         else
         {
             none = SpriteEffects.FlipVertically | SpriteEffects.FlipHorizontally;
             flipHorizontally = SpriteEffects.FlipVertically | SpriteEffects.FlipHorizontally;
         }
         if (!drawPlayer.dead)
         {
             drawPlayer.legPosition.Y = 6f;
             drawPlayer.headPosition.Y = 6f;
             drawPlayer.bodyPosition.Y = 6f;
         }
     }
     Vector2 origin = new Vector2(drawPlayer.legFrame.Width * 0.5f, drawPlayer.legFrame.Height * 0.75f);
     Vector2 vector2 = new Vector2(drawPlayer.legFrame.Width * 0.5f, drawPlayer.legFrame.Height * 0.5f);
     Vector2 vector3 = new Vector2(drawPlayer.legFrame.Width * 0.5f, drawPlayer.legFrame.Height * 0.4f);
     if (drawPlayer.merman)
     {
         drawPlayer.headRotation = (drawPlayer.velocity.Y * drawPlayer.direction) * 0.1f;
         if (drawPlayer.headRotation < -0.3)
         {
             drawPlayer.headRotation = -0.3f;
         }
         if (drawPlayer.headRotation > 0.3)
         {
             drawPlayer.headRotation = 0.3f;
         }
     }
     else if (!drawPlayer.dead)
     {
         drawPlayer.headRotation = 0f;
     }
     if (drawPlayer.wings > 0)
     {
         this.spriteBatch.Draw(wingsTexture[drawPlayer.wings], new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) + (drawPlayer.width / 2)) - (9 * drawPlayer.direction)), (float)((int)(((drawPlayer.position.Y - screenPosition.Y) + (drawPlayer.height / 2)) + (2f * drawPlayer.gravDir)))), new Rectangle(0, (wingsTexture[drawPlayer.wings].Height / 4) * drawPlayer.wingFrame, wingsTexture[drawPlayer.wings].Width, wingsTexture[drawPlayer.wings].Height / 4), color12, drawPlayer.bodyRotation, new Vector2((float)(wingsTexture[drawPlayer.wings].Width / 2), (float)(wingsTexture[drawPlayer.wings].Height / 8)), (float)1f, none, 0f);
     }
     if (!drawPlayer.invis)
     {
         this.spriteBatch.Draw(skinBodyTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
         this.spriteBatch.Draw(skinLegsTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.legFrame), color, drawPlayer.legRotation, vector2, (float)1f, none, 0f);
     }
     if ((drawPlayer.legs > 0) && (drawPlayer.legs < 0x19))
     {
         this.spriteBatch.Draw(armorLegTexture[drawPlayer.legs], (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.legFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.legFrame.Height) + 4f))) + drawPlayer.legPosition) + origin, new Rectangle?(drawPlayer.legFrame), color13, drawPlayer.legRotation, origin, (float)1f, none, 0f);
     }
     else if (!drawPlayer.invis)
     {
         if (!drawPlayer.male)
         {
             this.spriteBatch.Draw(femalePantsTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.legFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.legFrame.Height) + 4f))) + drawPlayer.legPosition) + origin, new Rectangle?(drawPlayer.legFrame), color9, drawPlayer.legRotation, origin, (float)1f, none, 0f);
             this.spriteBatch.Draw(femaleShoesTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.legFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.legFrame.Height) + 4f))) + drawPlayer.legPosition) + origin, new Rectangle?(drawPlayer.legFrame), color10, drawPlayer.legRotation, origin, (float)1f, none, 0f);
         }
         else
         {
             this.spriteBatch.Draw(playerPantsTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.legFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.legFrame.Height) + 4f))) + drawPlayer.legPosition) + origin, new Rectangle?(drawPlayer.legFrame), color9, drawPlayer.legRotation, origin, (float)1f, none, 0f);
             this.spriteBatch.Draw(playerShoesTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.legFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.legFrame.Height) + 4f))) + drawPlayer.legPosition) + origin, new Rectangle?(drawPlayer.legFrame), color10, drawPlayer.legRotation, origin, (float)1f, none, 0f);
         }
     }
     if ((drawPlayer.body > 0) && (drawPlayer.body < 0x1a))
     {
         if (!drawPlayer.male)
         {
             this.spriteBatch.Draw(femaleBodyTexture[drawPlayer.body], (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color12, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
         }
         else
         {
             this.spriteBatch.Draw(armorBodyTexture[drawPlayer.body], (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color12, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
         }
         if (((((drawPlayer.body == 10) || (drawPlayer.body == 11)) || ((drawPlayer.body == 12) || (drawPlayer.body == 13))) || (((drawPlayer.body == 14) || (drawPlayer.body == 15)) || ((drawPlayer.body == 0x10) || (drawPlayer.body == 20)))) && !drawPlayer.invis)
         {
             this.spriteBatch.Draw(playerHandsTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
         }
     }
     else if (!drawPlayer.invis)
     {
         if (!drawPlayer.male)
         {
             this.spriteBatch.Draw(femaleUnderShirtTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color8, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
             this.spriteBatch.Draw(femaleShirtTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
         }
         else
         {
             this.spriteBatch.Draw(playerUnderShirtTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color8, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
             this.spriteBatch.Draw(playerShirtTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
         }
         this.spriteBatch.Draw(playerHandsTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
     }
     if (!drawPlayer.invis && (drawPlayer.head != 0x26))
     {
         this.spriteBatch.Draw(playerHeadTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.headPosition) + vector3, new Rectangle?(drawPlayer.bodyFrame), color4, drawPlayer.headRotation, vector3, (float)1f, none, 0f);
         this.spriteBatch.Draw(playerEyeWhitesTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.headPosition) + vector3, new Rectangle?(drawPlayer.bodyFrame), immuneAlpha, drawPlayer.headRotation, vector3, (float)1f, none, 0f);
         this.spriteBatch.Draw(playerEyesTexture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.headPosition) + vector3, new Rectangle?(drawPlayer.bodyFrame), newColor, drawPlayer.headRotation, vector3, (float)1f, none, 0f);
     }
     if (((drawPlayer.head == 10) || (drawPlayer.head == 12)) || (drawPlayer.head == 0x1c))
     {
         this.spriteBatch.Draw(armorHeadTexture[drawPlayer.head], (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.headPosition) + vector3, new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.headRotation, vector3, (float)1f, none, 0f);
         if (!drawPlayer.invis)
         {
             Rectangle bodyFrame = drawPlayer.bodyFrame;
             bodyFrame.Y -= 0x150;
             if (bodyFrame.Y < 0)
             {
                 bodyFrame.Y = 0;
             }
             this.spriteBatch.Draw(playerHairTexture[drawPlayer.hair], (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.headPosition) + vector3, new Rectangle?(bodyFrame), color3, drawPlayer.headRotation, vector3, (float)1f, none, 0f);
         }
     }
     if ((((drawPlayer.head == 14) || (drawPlayer.head == 15)) || ((drawPlayer.head == 0x10) || (drawPlayer.head == 0x12))) || ((((drawPlayer.head == 0x15) || (drawPlayer.head == 0x18)) || ((drawPlayer.head == 0x19) || (drawPlayer.head == 0x1a))) || ((drawPlayer.head == 40) || (drawPlayer.head == 0x2c))))
     {
         Rectangle rectangle2 = drawPlayer.bodyFrame;
         rectangle2.Y -= 0x150;
         if (rectangle2.Y < 0)
         {
             rectangle2.Y = 0;
         }
         if (!drawPlayer.invis)
         {
             this.spriteBatch.Draw(playerHairAltTexture[drawPlayer.hair], (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.headPosition) + vector3, new Rectangle?(rectangle2), color3, drawPlayer.headRotation, vector3, (float)1f, none, 0f);
         }
     }
     if (drawPlayer.head == 0x17)
     {
         Rectangle rectangle3 = drawPlayer.bodyFrame;
         rectangle3.Y -= 0x150;
         if (rectangle3.Y < 0)
         {
             rectangle3.Y = 0;
         }
         if (!drawPlayer.invis)
         {
             this.spriteBatch.Draw(playerHairTexture[drawPlayer.hair], (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.headPosition) + vector3, new Rectangle?(rectangle3), color3, drawPlayer.headRotation, vector3, (float)1f, none, 0f);
         }
         this.spriteBatch.Draw(armorHeadTexture[drawPlayer.head], (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.headPosition) + vector3, new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.headRotation, vector3, (float)1f, none, 0f);
     }
     else if (drawPlayer.head == 14)
     {
         Rectangle rectangle4 = drawPlayer.bodyFrame;
         int num9 = 0;
         if (rectangle4.Y == (rectangle4.Height * 6))
         {
             rectangle4.Height -= 2;
         }
         else if (rectangle4.Y == (rectangle4.Height * 7))
         {
             num9 = -2;
         }
         else if (rectangle4.Y == (rectangle4.Height * 8))
         {
             num9 = -2;
         }
         else if (rectangle4.Y == (rectangle4.Height * 9))
         {
             num9 = -2;
         }
         else if (rectangle4.Y == (rectangle4.Height * 10))
         {
             num9 = -2;
         }
         else if (rectangle4.Y == (rectangle4.Height * 13))
         {
             rectangle4.Height -= 2;
         }
         else if (rectangle4.Y == (rectangle4.Height * 14))
         {
             num9 = -2;
         }
         else if (rectangle4.Y == (rectangle4.Height * 15))
         {
             num9 = -2;
         }
         else if (rectangle4.Y == (rectangle4.Height * 0x10))
         {
             num9 = -2;
         }
         rectangle4.Y += num9;
         this.spriteBatch.Draw(armorHeadTexture[drawPlayer.head], (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)(((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f)) + num9)) + drawPlayer.headPosition) + vector3, new Rectangle?(rectangle4), color11, drawPlayer.headRotation, vector3, (float)1f, none, 0f);
     }
     else if (((drawPlayer.head > 0) && (drawPlayer.head < 0x2d)) && (drawPlayer.head != 0x1c))
     {
         this.spriteBatch.Draw(armorHeadTexture[drawPlayer.head], (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.headPosition) + vector3, new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.headRotation, vector3, (float)1f, none, 0f);
     }
     else if (!drawPlayer.invis)
     {
         Rectangle rectangle5 = drawPlayer.bodyFrame;
         rectangle5.Y -= 0x150;
         if (rectangle5.Y < 0)
         {
             rectangle5.Y = 0;
         }
         this.spriteBatch.Draw(playerHairTexture[drawPlayer.hair], (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.headPosition) + vector3, new Rectangle?(rectangle5), color3, drawPlayer.headRotation, vector3, (float)1f, none, 0f);
     }
     if (drawPlayer.heldProj >= 0)
     {
         this.DrawProj(drawPlayer.heldProj);
     }
     Color color14 = Lighting.GetColor(((int)(drawPlayer.position.X + (drawPlayer.width * 0.5))) / 0x10, (int)((drawPlayer.position.Y + (drawPlayer.height * 0.5)) / 16.0));
     if (((drawPlayer.itemAnimation > 0) || (drawPlayer.inventory[drawPlayer.selectedItem].holdStyle > 0)) && ((((drawPlayer.inventory[drawPlayer.selectedItem].type > 0) && !drawPlayer.dead) && !drawPlayer.inventory[drawPlayer.selectedItem].noUseGraphic) && (!drawPlayer.wet || !drawPlayer.inventory[drawPlayer.selectedItem].noWet)))
     {
         if (drawPlayer.inventory[drawPlayer.selectedItem].useStyle == 5)
         {
             int num10 = 10;
             Vector2 vector4 = new Vector2((float)(itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width / 2), (float)(itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height / 2));
             if (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x5f)
             {
                 num10 = 10;
                 vector4.Y += 2f * drawPlayer.gravDir;
             }
             else if (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x60)
             {
                 num10 = -5;
             }
             else if (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x62)
             {
                 num10 = -5;
                 vector4.Y -= 2f * drawPlayer.gravDir;
             }
             else if (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x216)
             {
                 num10 = -2;
                 vector4.Y += 1f * drawPlayer.gravDir;
             }
             else if (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x215)
             {
                 num10 = -7;
                 vector4.Y -= 2f * drawPlayer.gravDir;
             }
             else if (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x1fa)
             {
                 num10 = 0;
                 vector4.Y -= 2f * drawPlayer.gravDir;
             }
             else if ((drawPlayer.inventory[drawPlayer.selectedItem].type == 0x1ee) || (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x1fc))
             {
                 num10 = -2;
             }
             else if (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x1b2)
             {
                 num10 = 0;
                 vector4.Y -= 2f * drawPlayer.gravDir;
             }
             else if (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x202)
             {
                 num10 = 0;
                 vector4.Y += 3f * drawPlayer.gravDir;
             }
             else if (((drawPlayer.inventory[drawPlayer.selectedItem].type == 0x1b3) || (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x1b4)) || ((drawPlayer.inventory[drawPlayer.selectedItem].type == 0x1e1) || (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x242)))
             {
                 num10 = -2;
                 vector4.Y -= 2f * drawPlayer.gravDir;
             }
             else if (drawPlayer.inventory[drawPlayer.selectedItem].type == 0xc5)
             {
                 num10 = -5;
                 vector4.Y += 4f * drawPlayer.gravDir;
             }
             else if (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x7e)
             {
                 num10 = 4;
                 vector4.Y += 4f * drawPlayer.gravDir;
             }
             else if (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x7f)
             {
                 num10 = 4;
                 vector4.Y += 2f * drawPlayer.gravDir;
             }
             else if (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x9d)
             {
                 num10 = 6;
                 vector4.Y += 2f * drawPlayer.gravDir;
             }
             else if (drawPlayer.inventory[drawPlayer.selectedItem].type == 160)
             {
                 num10 = -8;
             }
             else if ((drawPlayer.inventory[drawPlayer.selectedItem].type == 0xa4) || (drawPlayer.inventory[drawPlayer.selectedItem].type == 0xdb))
             {
                 num10 = 2;
                 vector4.Y += 4f * drawPlayer.gravDir;
             }
             else if ((drawPlayer.inventory[drawPlayer.selectedItem].type == 0xa5) || (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x110))
             {
                 num10 = 4;
                 vector4.Y += 4f * drawPlayer.gravDir;
             }
             else if (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x10a)
             {
                 num10 = 0;
                 vector4.Y += 2f * drawPlayer.gravDir;
             }
             else if (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x119)
             {
                 num10 = 6;
                 vector4.Y -= 6f * drawPlayer.gravDir;
             }
             Vector2 vector5 = new Vector2((float)-num10, (float)(itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height / 2));
             if (drawPlayer.direction == -1)
             {
                 vector5 = new Vector2((float)(itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width + num10), (float)(itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height / 2));
             }
             this.spriteBatch.Draw(itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)((drawPlayer.itemLocation.X - screenPosition.X) + vector4.X)), (float)((int)((drawPlayer.itemLocation.Y - screenPosition.Y) + vector4.Y))), new Rectangle(0, 0, itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(color14), drawPlayer.itemRotation, vector5, drawPlayer.inventory[drawPlayer.selectedItem].scale, flipHorizontally, 0f);
             if (drawPlayer.inventory[drawPlayer.selectedItem].color != new Color())
             {
                 this.spriteBatch.Draw(itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)((drawPlayer.itemLocation.X - screenPosition.X) + vector4.X)), (float)((int)((drawPlayer.itemLocation.Y - screenPosition.Y) + vector4.Y))), new Rectangle(0, 0, itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height), drawPlayer.inventory[drawPlayer.selectedItem].GetColor(color14), drawPlayer.itemRotation, vector5, drawPlayer.inventory[drawPlayer.selectedItem].scale, flipHorizontally, 0f);
             }
         }
         else if (drawPlayer.gravDir == -1f)
         {
             this.spriteBatch.Draw(itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - screenPosition.Y))), new Rectangle(0, 0, itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(color14), drawPlayer.itemRotation, new Vector2((itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f) - ((itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f) * drawPlayer.direction), 0f), drawPlayer.inventory[drawPlayer.selectedItem].scale, flipHorizontally, 0f);
             if (drawPlayer.inventory[drawPlayer.selectedItem].color != new Color())
             {
                 this.spriteBatch.Draw(itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - screenPosition.Y))), new Rectangle(0, 0, itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height), drawPlayer.inventory[drawPlayer.selectedItem].GetColor(color14), drawPlayer.itemRotation, new Vector2((itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f) - ((itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f) * drawPlayer.direction), 0f), drawPlayer.inventory[drawPlayer.selectedItem].scale, flipHorizontally, 0f);
             }
         }
         else
         {
             if ((drawPlayer.inventory[drawPlayer.selectedItem].type == 0x1a9) || (drawPlayer.inventory[drawPlayer.selectedItem].type == 0x1fb))
             {
                 if (drawPlayer.gravDir == 1f)
                 {
                     if (drawPlayer.direction == 1)
                     {
                         flipHorizontally = SpriteEffects.FlipVertically;
                     }
                     else
                     {
                         flipHorizontally = SpriteEffects.FlipVertically | SpriteEffects.FlipHorizontally;
                     }
                 }
                 else if (drawPlayer.direction == 1)
                 {
                     flipHorizontally = SpriteEffects.None;
                 }
                 else
                 {
                     flipHorizontally = SpriteEffects.FlipHorizontally;
                 }
             }
             this.spriteBatch.Draw(itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - screenPosition.Y))), new Rectangle(0, 0, itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(color14), drawPlayer.itemRotation, new Vector2((itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f) - ((itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f) * drawPlayer.direction), (float)itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height), drawPlayer.inventory[drawPlayer.selectedItem].scale, flipHorizontally, 0f);
             if (drawPlayer.inventory[drawPlayer.selectedItem].color != new Color())
             {
                 this.spriteBatch.Draw(itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - screenPosition.Y))), new Rectangle(0, 0, itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height), drawPlayer.inventory[drawPlayer.selectedItem].GetColor(color14), drawPlayer.itemRotation, new Vector2((itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f) - ((itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f) * drawPlayer.direction), (float)itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height), drawPlayer.inventory[drawPlayer.selectedItem].scale, flipHorizontally, 0f);
             }
         }
     }
     if ((drawPlayer.body > 0) && (drawPlayer.body < 0x1a))
     {
         this.spriteBatch.Draw(armorArmTexture[drawPlayer.body], (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color12, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
         if (((((drawPlayer.body == 10) || (drawPlayer.body == 11)) || ((drawPlayer.body == 12) || (drawPlayer.body == 13))) || (((drawPlayer.body == 14) || (drawPlayer.body == 15)) || ((drawPlayer.body == 0x10) || (drawPlayer.body == 20)))) && !drawPlayer.invis)
         {
             this.spriteBatch.Draw(playerHands2Texture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
         }
     }
     else if (!drawPlayer.invis)
     {
         if (!drawPlayer.male)
         {
             this.spriteBatch.Draw(femaleUnderShirt2Texture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color8, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
             this.spriteBatch.Draw(femaleShirt2Texture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
         }
         else
         {
             this.spriteBatch.Draw(playerUnderShirt2Texture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color8, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
         }
         this.spriteBatch.Draw(playerHands2Texture, (new Vector2((float)((((int)(drawPlayer.position.X - screenPosition.X)) - (drawPlayer.bodyFrame.Width / 2)) + (drawPlayer.width / 2)), (float)((int)((((drawPlayer.position.Y - screenPosition.Y) + drawPlayer.height) - drawPlayer.bodyFrame.Height) + 4f))) + drawPlayer.bodyPosition) + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, vector2, (float)1f, none, 0f);
     }
 }
Example #4
0
 protected void DrawPlayer(Player drawPlayer)
 {
     int num = 0;
     bool flag = false;
     bool flag2 = false;
     if (drawPlayer.body == 77 || drawPlayer.body == 103 || drawPlayer.body == 41 || drawPlayer.body == 100 || drawPlayer.body == 10 || drawPlayer.body == 11 || drawPlayer.body == 12 || drawPlayer.body == 13 || drawPlayer.body == 14 || drawPlayer.body == 43 || drawPlayer.body == 15 || drawPlayer.body == 16 || drawPlayer.body == 20 || drawPlayer.body == 39 || drawPlayer.body == 50 || drawPlayer.body == 38 || drawPlayer.body == 40 || drawPlayer.body == 57 || drawPlayer.body == 44 || drawPlayer.body == 52 || drawPlayer.body == 53 || drawPlayer.body == 68 || drawPlayer.body == 81 || drawPlayer.body == 85 || drawPlayer.body == 88 || drawPlayer.body == 98 || drawPlayer.body == 86 || drawPlayer.body == 87 || drawPlayer.body == 99 || drawPlayer.body == 165 || drawPlayer.body == 166 || drawPlayer.body == 167)
     {
         flag = true;
     }
     if (drawPlayer.body == 99 || drawPlayer.body == 98 || drawPlayer.body == 100 || drawPlayer.body == 167)
     {
         flag2 = true;
     }
     float num2 = 0f;
     if (drawPlayer.mount == 1)
     {
         num2 = 30f;
         if (drawPlayer.mountFrame == 1)
         {
             num2 += 2f;
         }
         if (drawPlayer.mountFrame == 11)
         {
             num2 += 2f;
         }
     }
     drawPlayer.position.Y = drawPlayer.position.Y - num2;
     int num3 = 0;
     if (drawPlayer.dye[0] != null)
     {
         num3 = (int)drawPlayer.dye[0].dye;
     }
     int num4 = 0;
     if (drawPlayer.dye[1] != null)
     {
         num4 = (int)drawPlayer.dye[1].dye;
     }
     int num5 = 0;
     if (drawPlayer.dye[2] != null)
     {
         num5 = (int)drawPlayer.dye[2].dye;
     }
     if (drawPlayer.wearsRobe)
     {
         num5 = num4;
     }
     int num6 = 0;
     int num7 = 0;
     int num8 = 0;
     int num9 = 0;
     int num10 = 0;
     int num11 = 0;
     int num12 = 0;
     int num13 = 0;
     int num14 = 0;
     int num15 = 0;
     int num16 = 0;
     for (int i = 0; i < 16; i++)
     {
         int num17 = i % 8;
         if (drawPlayer.dye[num17] != null && drawPlayer.armor[i].type > 0 && drawPlayer.armor[i].stack > 0 && (i / 8 >= 1 || !drawPlayer.hideVisual[num17] || (drawPlayer.armor[i].wingSlot > 0 && drawPlayer.velocity.Y != 0f)))
         {
             if (drawPlayer.armor[i].handOnSlot > 0 && drawPlayer.armor[i].handOnSlot < 18)
             {
                 num6 = (int)drawPlayer.dye[num17].dye;
             }
             if (drawPlayer.armor[i].handOffSlot > 0 && drawPlayer.armor[i].handOffSlot < 11)
             {
                 num7 = (int)drawPlayer.dye[num17].dye;
             }
             if (drawPlayer.armor[i].backSlot > 0 && drawPlayer.armor[i].backSlot < 8)
             {
                 num8 = (int)drawPlayer.dye[num17].dye;
             }
             if (drawPlayer.armor[i].frontSlot > 0 && drawPlayer.armor[i].frontSlot < 5)
             {
                 num9 = (int)drawPlayer.dye[num17].dye;
             }
             if (drawPlayer.armor[i].shoeSlot > 0 && drawPlayer.armor[i].shoeSlot < 15)
             {
                 num10 = (int)drawPlayer.dye[num17].dye;
             }
             if (drawPlayer.armor[i].waistSlot > 0 && drawPlayer.armor[i].waistSlot < 11)
             {
                 num11 = (int)drawPlayer.dye[num17].dye;
             }
             if (drawPlayer.armor[i].shieldSlot > 0 && drawPlayer.armor[i].shieldSlot < 5)
             {
                 num12 = (int)drawPlayer.dye[num17].dye;
             }
             if (drawPlayer.armor[i].neckSlot > 0 && drawPlayer.armor[i].neckSlot < 7)
             {
                 num13 = (int)drawPlayer.dye[num17].dye;
             }
             if (drawPlayer.armor[i].faceSlot > 0 && drawPlayer.armor[i].faceSlot < 8)
             {
                 num14 = (int)drawPlayer.dye[num17].dye;
             }
             if (drawPlayer.armor[i].balloonSlot > 0 && drawPlayer.armor[i].balloonSlot < 11)
             {
                 num15 = (int)drawPlayer.dye[num17].dye;
             }
             if (drawPlayer.armor[i].wingSlot > 0 && drawPlayer.armor[i].wingSlot < 25)
             {
                 num16 = (int)drawPlayer.dye[num17].dye;
             }
         }
     }
     int num18 = 0;
     switch (drawPlayer.team)
     {
     case 1:
         num18 = 1;
         break;
     case 2:
         num18 = 5;
         break;
     case 3:
         num18 = 9;
         break;
     case 4:
         num18 = 3;
         break;
     }
     if (num3 == 65)
     {
         num3 = num18;
     }
     if (num4 == 65)
     {
         num4 = num18;
     }
     if (num5 == 65)
     {
         num5 = num18;
     }
     if (num6 == 65)
     {
         num6 = num18;
     }
     if (num7 == 65)
     {
         num7 = num18;
     }
     if (num9 == 65)
     {
         num9 = num18;
     }
     if (num8 == 65)
     {
         num8 = num18;
     }
     if (num10 == 65)
     {
         num10 = num18;
     }
     if (num11 == 65)
     {
         num11 = num18;
     }
     if (num12 == 65)
     {
         num12 = num18;
     }
     if (num13 == 65)
     {
         num13 = num18;
     }
     if (num14 == 65)
     {
         num14 = num18;
     }
     if (num15 == 65)
     {
         num15 = num18;
     }
     if (num16 == 65)
     {
         num16 = num18;
     }
     if (drawPlayer.shadow == 0f)
     {
         drawPlayer.position.Y = drawPlayer.position.Y + drawPlayer.gfxOffY;
     }
     drawPlayer.itemLocation.Y = drawPlayer.itemLocation.Y + drawPlayer.gfxOffY;
     SpriteEffects effects = SpriteEffects.None;
     SpriteEffects effects2 = SpriteEffects.FlipHorizontally;
     Color color = drawPlayer.GetImmuneAlpha(drawPlayer.GetHairColor(true));
     Color color2 = drawPlayer.GetImmuneAlpha(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.25) / 16.0), Color.White));
     Color color3 = drawPlayer.GetImmuneAlpha(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.25) / 16.0), drawPlayer.eyeColor));
     Color color4 = drawPlayer.GetImmuneAlpha(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.25) / 16.0), drawPlayer.skinColor));
     Color color5 = drawPlayer.GetImmuneAlpha(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16.0), drawPlayer.skinColor));
     Color immuneAlpha = drawPlayer.GetImmuneAlpha(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.75) / 16.0), drawPlayer.skinColor));
     Color color6 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16.0), drawPlayer.shirtColor));
     Color color7 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16.0), drawPlayer.underShirtColor));
     Color color8 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.75) / 16.0), drawPlayer.pantsColor));
     Color color9 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.75) / 16.0), drawPlayer.shoeColor));
     Color color10 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.25) / 16, Color.White));
     Color color11 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16, Color.White));
     Color color12 = drawPlayer.GetImmuneAlpha2(Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.75) / 16, Color.White));
     if (drawPlayer.head > 0 && drawPlayer.head < 160)
     {
         this.LoadArmorHead(drawPlayer.head);
     }
     if (drawPlayer.body > 0 && drawPlayer.body < 168)
     {
         this.LoadArmorBody(drawPlayer.body);
     }
     if (drawPlayer.legs > 0 && drawPlayer.legs < 103)
     {
         this.LoadArmorLegs(drawPlayer.legs);
     }
     if (drawPlayer.handon > 0 && drawPlayer.handon < 18)
     {
         this.LoadAccHandsOn((int)drawPlayer.handon);
     }
     if (drawPlayer.handoff > 0 && drawPlayer.handoff < 11)
     {
         this.LoadAccHandsOff((int)drawPlayer.handoff);
     }
     if (drawPlayer.back > 0 && drawPlayer.back < 8)
     {
         this.LoadAccBack((int)drawPlayer.back);
     }
     if (drawPlayer.front > 0 && drawPlayer.front < 5)
     {
         this.LoadAccFront((int)drawPlayer.front);
     }
     if (drawPlayer.shoe > 0 && drawPlayer.shoe < 15)
     {
         this.LoadAccShoes((int)drawPlayer.shoe);
     }
     if (drawPlayer.waist > 0 && drawPlayer.waist < 11)
     {
         this.LoadAccWaist((int)drawPlayer.waist);
     }
     if (drawPlayer.shield > 0 && drawPlayer.shield < 5)
     {
         this.LoadAccShield((int)drawPlayer.shield);
     }
     if (drawPlayer.neck > 0 && drawPlayer.neck < 7)
     {
         this.LoadAccNeck((int)drawPlayer.neck);
     }
     if (drawPlayer.face > 0 && drawPlayer.face < 8)
     {
         this.LoadAccFace((int)drawPlayer.face);
     }
     if (drawPlayer.balloon > 0 && drawPlayer.balloon < 11)
     {
         this.LoadAccBalloon((int)drawPlayer.balloon);
     }
     this.LoadHair(drawPlayer.hair);
     if ((drawPlayer.head == 78 || drawPlayer.head == 79 || drawPlayer.head == 80) && drawPlayer.body == 51 && drawPlayer.legs == 47)
     {
         float num19 = (float)Main.mouseTextColor / 200f - 0.3f;
         if (drawPlayer.shadow != 0f)
         {
             num19 = 0f;
         }
         color10.G = (byte)((float)color10.G * num19);
         color11.G = (byte)((float)color11.G * num19);
         color12.G = (byte)((float)color12.G * num19);
         color10.B = (byte)((float)color10.B * num19);
         color10.R = (byte)((float)color10.R * num19);
         color11.B = (byte)((float)color11.B * num19);
         color11.R = (byte)((float)color11.R * num19);
         color12.B = (byte)((float)color12.B * num19);
         color12.R = (byte)((float)color12.R * num19);
     }
     if (drawPlayer.shadow > 0f)
     {
         immuneAlpha = new Color(0, 0, 0, 0);
         color5 = new Color(0, 0, 0, 0);
         color4 = new Color(0, 0, 0, 0);
         color = new Color(0, 0, 0, 0);
         color3 = new Color(0, 0, 0, 0);
         color2 = new Color(0, 0, 0, 0);
     }
     float num20 = 1f;
     float num21 = 1f;
     float num22 = 1f;
     float num23 = 1f;
     if (drawPlayer.honey && Main.rand.Next(30) == 0)
     {
         int num24 = Dust.NewDust(drawPlayer.position, drawPlayer.width, drawPlayer.height, 152, 0f, 0f, 150, default(Color), 1f);
         Main.dust[num24].velocity.Y = 0.3f;
         Dust expr_E3F_cp_0 = Main.dust[num24];
         expr_E3F_cp_0.velocity.X = expr_E3F_cp_0.velocity.X * 0.1f;
         Main.dust[num24].scale += (float)Main.rand.Next(3, 4) * 0.1f;
         Main.dust[num24].alpha = 100;
         Main.dust[num24].noGravity = true;
         Main.dust[num24].velocity += drawPlayer.velocity * 0.1f;
     }
     if (drawPlayer.poisoned)
     {
         if (Main.rand.Next(50) == 0)
         {
             int num25 = Dust.NewDust(drawPlayer.position, drawPlayer.width, drawPlayer.height, 46, 0f, 0f, 150, default(Color), 0.2f);
             Main.dust[num25].noGravity = true;
             Main.dust[num25].fadeIn = 1.9f;
         }
         num20 *= 0.65f;
         num22 *= 0.75f;
     }
     if (drawPlayer.venom)
     {
         if (Main.rand.Next(10) == 0)
         {
             int num26 = Dust.NewDust(drawPlayer.position, drawPlayer.width, drawPlayer.height, 171, 0f, 0f, 100, default(Color), 0.5f);
             Main.dust[num26].noGravity = true;
             Main.dust[num26].fadeIn = 1.5f;
         }
         num21 *= 0.45f;
         num20 *= 0.75f;
     }
     if (drawPlayer.onFire)
     {
         if (Main.rand.Next(4) == 0)
         {
             int num27 = Dust.NewDust(new Vector2(drawPlayer.position.X - 2f, drawPlayer.position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 6, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 3f);
             Main.dust[num27].noGravity = true;
             Main.dust[num27].velocity *= 1.8f;
             Dust expr_1087_cp_0 = Main.dust[num27];
             expr_1087_cp_0.velocity.Y = expr_1087_cp_0.velocity.Y - 0.5f;
         }
         num22 *= 0.6f;
         num21 *= 0.7f;
     }
     if (drawPlayer.dripping && drawPlayer.shadow == 0f && Main.rand.Next(4) != 0)
     {
         Vector2 position = drawPlayer.position;
         position.X -= 2f;
         position.Y -= 2f;
         if (Main.rand.Next(2) == 0)
         {
             int num28 = Dust.NewDust(position, drawPlayer.width + 4, drawPlayer.height + 2, 211, 0f, 0f, 50, default(Color), 0.8f);
             if (Main.rand.Next(2) == 0)
             {
                 Main.dust[num28].alpha += 25;
             }
             if (Main.rand.Next(2) == 0)
             {
                 Main.dust[num28].alpha += 25;
             }
             Main.dust[num28].noLight = true;
             Main.dust[num28].velocity *= 0.2f;
             Dust expr_11CC_cp_0 = Main.dust[num28];
             expr_11CC_cp_0.velocity.Y = expr_11CC_cp_0.velocity.Y + 0.2f;
             Main.dust[num28].velocity += drawPlayer.velocity;
         }
         else
         {
             int num29 = Dust.NewDust(position, drawPlayer.width + 8, drawPlayer.height + 8, 211, 0f, 0f, 50, default(Color), 1.1f);
             if (Main.rand.Next(2) == 0)
             {
                 Main.dust[num29].alpha += 25;
             }
             if (Main.rand.Next(2) == 0)
             {
                 Main.dust[num29].alpha += 25;
             }
             Main.dust[num29].noLight = true;
             Main.dust[num29].noGravity = true;
             Main.dust[num29].velocity *= 0.2f;
             Dust expr_12C5_cp_0 = Main.dust[num29];
             expr_12C5_cp_0.velocity.Y = expr_12C5_cp_0.velocity.Y + 1f;
             Main.dust[num29].velocity += drawPlayer.velocity;
         }
     }
     if (drawPlayer.ichor)
     {
         num22 = 0f;
     }
     if (drawPlayer.burned)
     {
         int num30 = Dust.NewDust(new Vector2(drawPlayer.position.X - 2f, drawPlayer.position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 6, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 2f);
         Main.dust[num30].noGravity = true;
         Main.dust[num30].velocity *= 1.8f;
         Dust expr_13B8_cp_0 = Main.dust[num30];
         expr_13B8_cp_0.velocity.Y = expr_13B8_cp_0.velocity.Y - 0.75f;
         num20 = 1f;
         num22 *= 0.6f;
         num21 *= 0.7f;
     }
     if (drawPlayer.onFrostBurn)
     {
         if (Main.rand.Next(4) == 0)
         {
             int num31 = Dust.NewDust(new Vector2(drawPlayer.position.X - 2f, drawPlayer.position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 135, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 3f);
             Main.dust[num31].noGravity = true;
             Main.dust[num31].velocity *= 1.8f;
             Dust expr_14AD_cp_0 = Main.dust[num31];
             expr_14AD_cp_0.velocity.Y = expr_14AD_cp_0.velocity.Y - 0.5f;
         }
         num20 *= 0.5f;
         num21 *= 0.7f;
     }
     if (drawPlayer.onFire2)
     {
         if (Main.rand.Next(4) == 0)
         {
             int num32 = Dust.NewDust(new Vector2(drawPlayer.position.X - 2f, drawPlayer.position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 75, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 3f);
             Main.dust[num32].noGravity = true;
             Main.dust[num32].velocity *= 1.8f;
             Dust expr_1598_cp_0 = Main.dust[num32];
             expr_1598_cp_0.velocity.Y = expr_1598_cp_0.velocity.Y - 0.5f;
         }
         num22 *= 0.6f;
         num21 *= 0.7f;
     }
     if (drawPlayer.noItems)
     {
         num21 *= 0.8f;
         num20 *= 0.65f;
     }
     if (drawPlayer.blind)
     {
         num21 *= 0.65f;
         num20 *= 0.7f;
     }
     if (drawPlayer.bleed)
     {
         num21 *= 0.9f;
         num22 *= 0.9f;
         if (!drawPlayer.dead && Main.rand.Next(30) == 0)
         {
             int num33 = Dust.NewDust(drawPlayer.position, drawPlayer.width, drawPlayer.height, 5, 0f, 0f, 0, default(Color), 1f);
             Dust expr_166B_cp_0 = Main.dust[num33];
             expr_166B_cp_0.velocity.Y = expr_166B_cp_0.velocity.Y + 0.5f;
             Main.dust[num33].velocity *= 0.25f;
         }
     }
     if (drawPlayer.shadow == 0f && drawPlayer.palladiumRegen && drawPlayer.statLife < drawPlayer.statLifeMax && base.IsActive && !Main.gamePaused && drawPlayer.miscCounter % 10 == 0)
     {
         Vector2 position2;
         position2.X = drawPlayer.position.X + (float)Main.rand.Next(drawPlayer.width);
         position2.Y = drawPlayer.position.Y + (float)Main.rand.Next(drawPlayer.height);
         position2.X = drawPlayer.position.X + (float)(drawPlayer.width / 2) - 6f;
         position2.Y = drawPlayer.position.Y + (float)(drawPlayer.height / 2) - 6f;
         position2.X -= (float)Main.rand.Next(-10, 11);
         position2.Y -= (float)Main.rand.Next(-20, 21);
         Gore.NewGore(position2, new Vector2((float)Main.rand.Next(-10, 11) * 0.1f, (float)Main.rand.Next(-20, -10) * 0.1f), 331, (float)Main.rand.Next(80, 120) * 0.01f);
     }
     if (num20 != 1f || num21 != 1f || num22 != 1f || num23 != 1f)
     {
         if (drawPlayer.onFire || drawPlayer.onFire2 || drawPlayer.onFrostBurn)
         {
             color2 = drawPlayer.GetImmuneAlpha(Color.White);
             color3 = drawPlayer.GetImmuneAlpha(drawPlayer.eyeColor);
             color = drawPlayer.GetImmuneAlpha(drawPlayer.GetHairColor(true));
             color4 = drawPlayer.GetImmuneAlpha(drawPlayer.skinColor);
             color5 = drawPlayer.GetImmuneAlpha(drawPlayer.skinColor);
             color6 = drawPlayer.GetImmuneAlpha(drawPlayer.shirtColor);
             color7 = drawPlayer.GetImmuneAlpha(drawPlayer.underShirtColor);
             color8 = drawPlayer.GetImmuneAlpha(drawPlayer.pantsColor);
             color9 = drawPlayer.GetImmuneAlpha(drawPlayer.shoeColor);
             color10 = drawPlayer.GetImmuneAlpha(Color.White);
             color11 = drawPlayer.GetImmuneAlpha(Color.White);
             color12 = drawPlayer.GetImmuneAlpha(Color.White);
         }
         else
         {
             color2 = Main.buffColor(color2, num20, num21, num22, num23);
             color3 = Main.buffColor(color3, num20, num21, num22, num23);
             color = Main.buffColor(color, num20, num21, num22, num23);
             color4 = Main.buffColor(color4, num20, num21, num22, num23);
             color5 = Main.buffColor(color5, num20, num21, num22, num23);
             color6 = Main.buffColor(color6, num20, num21, num22, num23);
             color7 = Main.buffColor(color7, num20, num21, num22, num23);
             color8 = Main.buffColor(color8, num20, num21, num22, num23);
             color9 = Main.buffColor(color9, num20, num21, num22, num23);
             color10 = Main.buffColor(color10, num20, num21, num22, num23);
             color11 = Main.buffColor(color11, num20, num21, num22, num23);
             color12 = Main.buffColor(color12, num20, num21, num22, num23);
         }
     }
     if (drawPlayer.socialGhost)
     {
         color2 = new Color(0, 0, 0, 0);
         color3 = new Color(0, 0, 0, 0);
         color = new Color(0, 0, 0, 0);
         color4 = new Color(0, 0, 0, 0);
         color5 = new Color(0, 0, 0, 0);
         color6 = new Color(0, 0, 0, 0);
         color7 = new Color(0, 0, 0, 0);
         color8 = new Color(0, 0, 0, 0);
         color9 = new Color(0, 0, 0, 0);
         immuneAlpha = new Color(0, 0, 0, 0);
         if (color10.A > Main.gFade)
         {
             color10.A = Main.gFade;
         }
         if (color11.A > Main.gFade)
         {
             color11.A = Main.gFade;
         }
         if (color12.A > Main.gFade)
         {
             color12.A = Main.gFade;
         }
     }
     float num34 = 1f;
     if (drawPlayer.armorSteath)
     {
         float num35 = drawPlayer.stealth;
         if ((double)num35 < 0.03)
         {
             num35 = 0.03f;
         }
         float num36 = (1f + num35 * 10f) / 11f;
         if (num35 < 0f)
         {
             num35 = 0f;
         }
         if (num35 >= 1f - drawPlayer.shadow && drawPlayer.shadow > 0f)
         {
             num35 = drawPlayer.shadow * 0.5f;
         }
         num34 = num36;
         color10 = new Color((int)((byte)((float)color10.R * num35)), (int)((byte)((float)color10.G * num35)), (int)((byte)((float)color10.B * num36)), (int)((byte)((float)color10.A * num35)));
         color11 = new Color((int)((byte)((float)color11.R * num35)), (int)((byte)((float)color11.G * num35)), (int)((byte)((float)color11.B * num36)), (int)((byte)((float)color11.A * num35)));
         color12 = new Color((int)((byte)((float)color12.R * num35)), (int)((byte)((float)color12.G * num35)), (int)((byte)((float)color12.B * num36)), (int)((byte)((float)color12.A * num35)));
         num35 *= num35;
         color2 = new Color((int)((byte)((float)color2.R * num35)), (int)((byte)((float)color2.G * num35)), (int)((byte)((float)color2.B * num35)), (int)((byte)((float)color2.A * num35)));
         color3 = new Color((int)((byte)((float)color3.R * num35)), (int)((byte)((float)color3.G * num35)), (int)((byte)((float)color3.B * num35)), (int)((byte)((float)color3.A * num35)));
         color = new Color((int)((byte)((float)color.R * num35)), (int)((byte)((float)color.G * num35)), (int)((byte)((float)color.B * num35)), (int)((byte)((float)color.A * num35)));
         color4 = new Color((int)((byte)((float)color4.R * num35)), (int)((byte)((float)color4.G * num35)), (int)((byte)((float)color4.B * num35)), (int)((byte)((float)color4.A * num35)));
         color5 = new Color((int)((byte)((float)color5.R * num35)), (int)((byte)((float)color5.G * num35)), (int)((byte)((float)color5.B * num35)), (int)((byte)((float)color5.A * num35)));
         color6 = new Color((int)((byte)((float)color6.R * num35)), (int)((byte)((float)color6.G * num35)), (int)((byte)((float)color6.B * num35)), (int)((byte)((float)color6.A * num35)));
         color7 = new Color((int)((byte)((float)color7.R * num35)), (int)((byte)((float)color7.G * num35)), (int)((byte)((float)color7.B * num35)), (int)((byte)((float)color7.A * num35)));
         color8 = new Color((int)((byte)((float)color8.R * num35)), (int)((byte)((float)color8.G * num35)), (int)((byte)((float)color8.B * num35)), (int)((byte)((float)color8.A * num35)));
         color9 = new Color((int)((byte)((float)color9.R * num35)), (int)((byte)((float)color9.G * num35)), (int)((byte)((float)color9.B * num35)), (int)((byte)((float)color9.A * num35)));
         immuneAlpha = new Color((int)((byte)((float)immuneAlpha.R * num35)), (int)((byte)((float)immuneAlpha.G * num35)), (int)((byte)((float)immuneAlpha.B * num35)), (int)((byte)((float)immuneAlpha.A * num35)));
     }
     if (drawPlayer.gravDir == 1f)
     {
         if (drawPlayer.direction == 1)
         {
             effects = SpriteEffects.None;
             effects2 = SpriteEffects.None;
         }
         else
         {
             effects = SpriteEffects.FlipHorizontally;
             effects2 = SpriteEffects.FlipHorizontally;
         }
         if (!drawPlayer.dead)
         {
             drawPlayer.legPosition.Y = 0f;
             drawPlayer.headPosition.Y = 0f;
             drawPlayer.bodyPosition.Y = 0f;
         }
     }
     else
     {
         if (drawPlayer.direction == 1)
         {
             effects = SpriteEffects.FlipVertically;
             effects2 = SpriteEffects.FlipVertically;
         }
         else
         {
             effects = (SpriteEffects.FlipHorizontally | SpriteEffects.FlipVertically);
             effects2 = (SpriteEffects.FlipHorizontally | SpriteEffects.FlipVertically);
         }
         if (!drawPlayer.dead)
         {
             drawPlayer.legPosition.Y = 6f;
             drawPlayer.headPosition.Y = 6f;
             drawPlayer.bodyPosition.Y = 6f;
         }
     }
     Vector2 vector = new Vector2((float)drawPlayer.legFrame.Width * 0.5f, (float)drawPlayer.legFrame.Height * 0.75f);
     Vector2 origin = new Vector2((float)drawPlayer.legFrame.Width * 0.5f, (float)drawPlayer.legFrame.Height * 0.5f);
     Vector2 vector2 = new Vector2((float)drawPlayer.legFrame.Width * 0.5f, (float)drawPlayer.legFrame.Height * 0.4f);
     if (drawPlayer.merman)
     {
         drawPlayer.headRotation = drawPlayer.velocity.Y * (float)drawPlayer.direction * 0.1f;
         if ((double)drawPlayer.headRotation < -0.3)
         {
             drawPlayer.headRotation = -0.3f;
         }
         if ((double)drawPlayer.headRotation > 0.3)
         {
             drawPlayer.headRotation = 0.3f;
         }
     }
     else
     {
         if (!drawPlayer.dead)
         {
             drawPlayer.headRotation = 0f;
         }
     }
     bool flag3 = false;
     if (drawPlayer.head == 10 || drawPlayer.head == 12 || drawPlayer.head == 28 || drawPlayer.head == 62 || drawPlayer.head == 97 || drawPlayer.head == 106 || drawPlayer.head == 113 || drawPlayer.head == 116 || drawPlayer.head == 119 || drawPlayer.head == 133 || drawPlayer.head == 138 || drawPlayer.head == 139)
     {
         flag3 = true;
     }
     bool flag4 = false;
     if (drawPlayer.head == 14 || drawPlayer.head == 15 || drawPlayer.head == 16 || drawPlayer.head == 18 || drawPlayer.head == 21 || drawPlayer.head == 24 || drawPlayer.head == 25 || drawPlayer.head == 26 || drawPlayer.head == 40 || drawPlayer.head == 44 || drawPlayer.head == 51 || drawPlayer.head == 56 || drawPlayer.head == 59 || drawPlayer.head == 60 || drawPlayer.head == 67 || drawPlayer.head == 68 || drawPlayer.head == 69 || drawPlayer.head == 114 || drawPlayer.head == 121 || drawPlayer.head == 126 || drawPlayer.head == 130 || drawPlayer.head == 136 || drawPlayer.head == 140 || drawPlayer.head == 145 || drawPlayer.head == 158 || drawPlayer.head == 159)
     {
         flag4 = true;
     }
     bool flag5 = false;
     if (drawPlayer.face == 4 || drawPlayer.face == 3 || drawPlayer.face == 2)
     {
         flag5 = true;
     }
     Rectangle bodyFrame = drawPlayer.bodyFrame;
     bodyFrame.Y -= 336;
     if (bodyFrame.Y < 0)
     {
         bodyFrame.Y = 0;
     }
     int height = 26;
     int hair = drawPlayer.hair;
     if (flag5)
     {
         bodyFrame.Height = 0;
     }
     else
     {
         if (hair > 50 && (hair < 56 || hair > 63) && (hair < 74 || hair > 77) && (hair < 88 || hair > 89) && hair != 94 && hair != 100 && hair != 104 && hair != 112 && hair < 116)
         {
             if (drawPlayer.head == -1 || flag3 || drawPlayer.head == 23 || drawPlayer.head == 0)
             {
                 Main.spriteBatch.Draw(Main.playerHairTexture[drawPlayer.hair], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame), color, drawPlayer.headRotation, vector2, 1f, effects, 0f);
             }
             else
             {
                 if (flag4)
                 {
                     Main.spriteBatch.Draw(Main.playerHairAltTexture[drawPlayer.hair], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame), color, drawPlayer.headRotation, vector2, 1f, effects, 0f);
                 }
             }
             if (drawPlayer.gravDir == 1f)
             {
                 bodyFrame.Height = height;
             }
         }
     }
     if (drawPlayer.mount == 1)
     {
         int num37 = 23 + (int)num2 - 30;
         int num38;
         if (drawPlayer.direction > 0)
         {
             num38 = 13;
         }
         else
         {
             num38 = -13;
         }
         Main.spriteBatch.Draw(Main.rudolphTexture[0], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) + (float)num38)), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + (float)num37))), new Rectangle?(new Rectangle(0, Main.rudolphTexture[0].Height / 12 * drawPlayer.mountFrame, Main.rudolphTexture[0].Width, Main.rudolphTexture[0].Height / 12)), color11, drawPlayer.bodyRotation, new Vector2((float)(Main.rudolphTexture[0].Width / 2), (float)(Main.rudolphTexture[0].Height / 24)), 1f, effects, 0f);
     }
     if (drawPlayer.carpetFrame >= 0)
     {
         Color color13 = color12;
         float num39 = 0f;
         if (drawPlayer.gravDir == -1f)
         {
             num39 = 10f;
         }
         Main.spriteBatch.Draw(Main.flyingCarpetTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + 28f * drawPlayer.gravDir + num39))), new Rectangle?(new Rectangle(0, Main.flyingCarpetTexture.Height / 6 * drawPlayer.carpetFrame, Main.flyingCarpetTexture.Width, Main.flyingCarpetTexture.Height / 6)), color13, drawPlayer.bodyRotation, new Vector2((float)(Main.flyingCarpetTexture.Width / 2), (float)(Main.flyingCarpetTexture.Height / 8)), 1f, effects, 0f);
     }
     bool flag6 = false;
     if ((drawPlayer.wings == 0 || drawPlayer.velocity.Y == 0f) && (drawPlayer.inventory[drawPlayer.selectedItem].type == 1178 || drawPlayer.inventory[drawPlayer.selectedItem].type == 779 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1295 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1910 || drawPlayer.turtleArmor || drawPlayer.body == 106))
     {
         flag6 = true;
         int type = drawPlayer.inventory[drawPlayer.selectedItem].type;
         int num40 = 1;
         float num41 = -4f;
         float num42 = -8f;
         if (drawPlayer.turtleArmor)
         {
             num40 = 4;
         }
         else
         {
             if (drawPlayer.body == 106)
             {
                 num40 = 6;
             }
             else
             {
                 if (type == 1178)
                 {
                     num40 = 1;
                 }
                 else
                 {
                     if (type == 779)
                     {
                         num40 = 2;
                     }
                     else
                     {
                         if (type == 1295)
                         {
                             num40 = 3;
                         }
                         else
                         {
                             if (type == 1910)
                             {
                                 num40 = 5;
                             }
                         }
                     }
                 }
             }
         }
         if (num40 == 4 || num40 == 6)
         {
             Main.spriteBatch.Draw(Main.BackPackTexture[num40], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         }
         else
         {
             Main.spriteBatch.Draw(Main.BackPackTexture[num40], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) - (float)(9 * drawPlayer.direction))) + num41 * (float)drawPlayer.direction, (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + 2f * drawPlayer.gravDir + num42 * drawPlayer.gravDir))), new Rectangle?(new Rectangle(0, 0, Main.BackPackTexture[num40].Width, Main.BackPackTexture[num40].Height)), color11, drawPlayer.bodyRotation, new Vector2((float)(Main.BackPackTexture[num40].Width / 2), (float)(Main.BackPackTexture[num40].Height / 2)), 1f, effects, 0f);
         }
     }
     if (!flag6 && drawPlayer.back > 0 && drawPlayer.back < 8 && drawPlayer.mount == 0)
     {
         if (drawPlayer.front >= 1 && drawPlayer.front <= 4)
         {
             int num43 = drawPlayer.bodyFrame.Y / 56;
             if (num43 < 1 || num43 > 5)
             {
                 num = 10;
             }
             else
             {
                 if (drawPlayer.front == 1)
                 {
                     num = 0;
                 }
                 if (drawPlayer.front == 2)
                 {
                     num = 8;
                 }
                 if (drawPlayer.front == 3)
                 {
                     num = 0;
                 }
                 if (drawPlayer.front == 4)
                 {
                     num = 8;
                 }
             }
         }
         Main.pixelShader.CurrentTechnique.Passes[num8].Apply();
         Main.spriteBatch.Draw(Main.accBackTexture[(int)drawPlayer.back], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
     }
     drawPlayer.position.Y = drawPlayer.position.Y + num2 / 2f;
     if (!flag6 && drawPlayer.wings > 0)
     {
         this.LoadWings(drawPlayer.wings);
         if (drawPlayer.wings == 22)
         {
             if ((drawPlayer.velocity.Y != 0f || drawPlayer.grappling[0] != -1) && drawPlayer.mount == 0)
             {
                 this.LoadItemFlames(1866);
                 Color color14 = color11;
                 int num44 = 24;
                 int num45 = 0;
                 Main.pixelShader.CurrentTechnique.Passes[num16].Apply();
                 if (drawPlayer.shadow == 0f && drawPlayer.grappling[0] == -1)
                 {
                     for (int j = 0; j < 7; j++)
                     {
                         Color color15 = new Color(250 - j * 10, 250 - j * 10, 250 - j * 10, 150 - j * 10);
                         Vector2 vector3 = new Vector2((float)Main.rand.Next(-10, 11) * 0.2f, (float)Main.rand.Next(-10, 11) * 0.2f);
                         num34 *= num34;
                         num34 *= 1f - drawPlayer.shadow;
                         color15 = new Color((int)((float)color15.R * num34), (int)((float)color15.G * num34), (int)((float)color15.B * num34), (int)((float)color15.A * num34));
                         vector3.X = drawPlayer.itemFlamePos[j].X;
                         vector3.Y = -drawPlayer.itemFlamePos[j].Y;
                         vector3 *= 0.5f;
                         Main.spriteBatch.Draw(Main.itemFlameTexture[1866], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) - (float)(9 * drawPlayer.direction)) + num45 * drawPlayer.direction), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + 2f * drawPlayer.gravDir + (float)num44 * drawPlayer.gravDir))) + vector3, new Rectangle?(new Rectangle(0, Main.wingsTexture[drawPlayer.wings].Height / 7 * drawPlayer.wingFrame, Main.wingsTexture[drawPlayer.wings].Width, Main.wingsTexture[drawPlayer.wings].Height / 7 - 2)), color15, drawPlayer.bodyRotation, new Vector2((float)(Main.wingsTexture[drawPlayer.wings].Width / 2), (float)(Main.wingsTexture[drawPlayer.wings].Height / 14)), 1f, effects, 0f);
                     }
                 }
                 Main.spriteBatch.Draw(Main.wingsTexture[drawPlayer.wings], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) - (float)(9 * drawPlayer.direction)) + num45 * drawPlayer.direction), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + 2f * drawPlayer.gravDir + (float)num44 * drawPlayer.gravDir))), new Rectangle?(new Rectangle(0, Main.wingsTexture[drawPlayer.wings].Height / 7 * drawPlayer.wingFrame, Main.wingsTexture[drawPlayer.wings].Width, Main.wingsTexture[drawPlayer.wings].Height / 7)), color14, drawPlayer.bodyRotation, new Vector2((float)(Main.wingsTexture[drawPlayer.wings].Width / 2), (float)(Main.wingsTexture[drawPlayer.wings].Height / 14)), 1f, effects, 0f);
                 Main.pixelShader.CurrentTechnique.Passes[0].Apply();
             }
         }
         else
         {
             int num46 = 0;
             int num47 = 0;
             if (drawPlayer.wings == 5)
             {
                 num47 = 4;
                 num46 -= 4;
             }
             Color color16 = color11;
             if (drawPlayer.wings == 9)
             {
                 num34 *= num34;
                 num34 *= 1f - drawPlayer.shadow;
                 color16 = new Color((int)(250f * num34), (int)(250f * num34), (int)(250f * num34), (int)(100f * num34));
             }
             if (drawPlayer.wings == 10)
             {
                 num34 *= num34;
                 num34 *= 1f - drawPlayer.shadow;
                 color16 = new Color((int)(250f * num34), (int)(250f * num34), (int)(250f * num34), (int)(175f * num34));
             }
             if (drawPlayer.wings == 11 && color16.A > Main.gFade)
             {
                 color16.A = Main.gFade;
             }
             Main.pixelShader.CurrentTechnique.Passes[num16].Apply();
             Main.spriteBatch.Draw(Main.wingsTexture[drawPlayer.wings], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) - (float)(9 * drawPlayer.direction)) + num47 * drawPlayer.direction), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + 2f * drawPlayer.gravDir + (float)num46 * drawPlayer.gravDir))), new Rectangle?(new Rectangle(0, Main.wingsTexture[drawPlayer.wings].Height / 4 * drawPlayer.wingFrame, Main.wingsTexture[drawPlayer.wings].Width, Main.wingsTexture[drawPlayer.wings].Height / 4)), color16, drawPlayer.bodyRotation, new Vector2((float)(Main.wingsTexture[drawPlayer.wings].Width / 2), (float)(Main.wingsTexture[drawPlayer.wings].Height / 8)), 1f, effects, 0f);
             if (drawPlayer.wings == 23)
             {
                 num34 *= num34;
                 num34 *= 1f - drawPlayer.shadow;
                 color16 = new Color((int)(200f * num34), (int)(200f * num34), (int)(200f * num34), (int)(200f * num34));
                 Main.spriteBatch.Draw(Main.FlameTexture[8], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) - (float)(9 * drawPlayer.direction)) + num47 * drawPlayer.direction), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + 2f * drawPlayer.gravDir + (float)num46 * drawPlayer.gravDir))), new Rectangle?(new Rectangle(0, Main.wingsTexture[drawPlayer.wings].Height / 4 * drawPlayer.wingFrame, Main.wingsTexture[drawPlayer.wings].Width, Main.wingsTexture[drawPlayer.wings].Height / 4)), color16, drawPlayer.bodyRotation, new Vector2((float)(Main.wingsTexture[drawPlayer.wings].Width / 2), (float)(Main.wingsTexture[drawPlayer.wings].Height / 8)), 1f, effects, 0f);
             }
             Main.pixelShader.CurrentTechnique.Passes[0].Apply();
         }
     }
     if (drawPlayer.balloon > 0)
     {
         int num48 = DateTime.Now.Millisecond % 800 / 200;
         Vector2 vector4 = Main.offHandOffsets[drawPlayer.bodyFrame.Y / 56];
         if (drawPlayer.direction != 1)
         {
             vector4.X = (float)drawPlayer.width - vector4.X;
         }
         if (drawPlayer.gravDir != 1f)
         {
             vector4.Y -= (float)drawPlayer.height;
         }
         Main.pixelShader.CurrentTechnique.Passes[num15].Apply();
         Main.spriteBatch.Draw(Main.accBalloonTexture[(int)drawPlayer.balloon], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + vector4.X)), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + vector4.Y * drawPlayer.gravDir))), new Rectangle?(new Rectangle(0, Main.accBalloonTexture[(int)drawPlayer.balloon].Height / 4 * num48, Main.accBalloonTexture[(int)drawPlayer.balloon].Width, Main.accBalloonTexture[(int)drawPlayer.balloon].Height / 4)), color11, drawPlayer.bodyRotation, new Vector2((float)(26 + drawPlayer.direction * 4), 28f + drawPlayer.gravDir * 6f), 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
     }
     drawPlayer.position.Y = drawPlayer.position.Y - num2 / 2f;
     if (!drawPlayer.invis && drawPlayer.body != 83 && drawPlayer.body != 82 && drawPlayer.body != 93)
     {
         Main.spriteBatch.Draw(Main.skinBodyTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         if (drawPlayer.legs != 67)
         {
             Main.spriteBatch.Draw(Main.skinLegsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.legFrame), immuneAlpha, drawPlayer.legRotation, origin, 1f, effects, 0f);
         }
     }
     if (drawPlayer.wearsRobe)
     {
         goto IL_394A;
     }
     IL_3551:
     if (drawPlayer.legs > 0 && drawPlayer.legs < 103)
     {
         if (!drawPlayer.invis || (drawPlayer.legs != 20 && drawPlayer.legs != 21))
         {
             Main.pixelShader.CurrentTechnique.Passes[num5].Apply();
             Main.spriteBatch.Draw(Main.armorLegTexture[drawPlayer.legs], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color12, drawPlayer.legRotation, vector, 1f, effects, 0f);
             Main.pixelShader.CurrentTechnique.Passes[0].Apply();
         }
     }
     else
     {
         if (!drawPlayer.invis)
         {
             if (!drawPlayer.male)
             {
                 Main.spriteBatch.Draw(Main.femalePantsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color8, drawPlayer.legRotation, vector, 1f, effects, 0f);
                 Main.spriteBatch.Draw(Main.femaleShoesTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color9, drawPlayer.legRotation, vector, 1f, effects, 0f);
             }
             else
             {
                 Main.spriteBatch.Draw(Main.playerPantsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color8, drawPlayer.legRotation, vector, 1f, effects, 0f);
                 Main.spriteBatch.Draw(Main.playerShoesTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color9, drawPlayer.legRotation, vector, 1f, effects, 0f);
             }
         }
     }
     if (drawPlayer.wearsRobe)
     {
         goto IL_3A55;
     }
     IL_394A:
     if (drawPlayer.shoe > 0 && drawPlayer.shoe < 15)
     {
         Main.pixelShader.CurrentTechnique.Passes[num10].Apply();
         Main.spriteBatch.Draw(Main.accShoesTexture[(int)drawPlayer.shoe], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(drawPlayer.legFrame), color12, drawPlayer.legRotation, vector, 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
     }
     if (drawPlayer.wearsRobe)
     {
         goto IL_3551;
     }
     IL_3A55:
     if (drawPlayer.body > 0 && drawPlayer.body < 168)
     {
         Main.pixelShader.CurrentTechnique.Passes[num4].Apply();
         Rectangle bodyFrame2 = drawPlayer.bodyFrame;
         int num49 = num;
         bodyFrame2.X += num49;
         bodyFrame2.Width -= num49;
         if (drawPlayer.direction == -1)
         {
             num49 = 0;
         }
         if (!drawPlayer.invis || (drawPlayer.body != 21 && drawPlayer.body != 22))
         {
             if (!drawPlayer.male)
             {
                 Main.spriteBatch.Draw(Main.femaleBodyTexture[drawPlayer.body], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2)) + num49), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(bodyFrame2), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
             }
             else
             {
                 Main.spriteBatch.Draw(Main.armorBodyTexture[drawPlayer.body], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2)) + num49), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(bodyFrame2), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
             }
         }
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
         if (flag && !drawPlayer.invis)
         {
             Main.spriteBatch.Draw(Main.playerHandsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         }
     }
     else
     {
         if (!drawPlayer.invis)
         {
             if (!drawPlayer.male)
             {
                 Main.spriteBatch.Draw(Main.femaleUnderShirtTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                 Main.spriteBatch.Draw(Main.femaleShirtTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color6, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
             }
             else
             {
                 Main.spriteBatch.Draw(Main.playerUnderShirtTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                 Main.spriteBatch.Draw(Main.playerShirtTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color6, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
             }
             Main.spriteBatch.Draw(Main.playerHandsTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         }
     }
     if (drawPlayer.handoff > 0 && drawPlayer.handoff < 11)
     {
         Main.pixelShader.CurrentTechnique.Passes[num7].Apply();
         Main.spriteBatch.Draw(Main.accHandsOffTexture[(int)drawPlayer.handoff], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
     }
     if (drawPlayer.waist > 0 && drawPlayer.waist < 11)
     {
         Rectangle legFrame = drawPlayer.legFrame;
         if (legFrame.Y >= 1064)
         {
             legFrame.Y = 0;
         }
         Main.pixelShader.CurrentTechnique.Passes[num11].Apply();
         Main.spriteBatch.Draw(Main.accWaistTexture[(int)drawPlayer.waist], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.legFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.legFrame.Height + 4f))) + drawPlayer.legPosition + vector, new Rectangle?(legFrame), color12, drawPlayer.legRotation, vector, 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
     }
     if (drawPlayer.neck > 0 && drawPlayer.neck < 7)
     {
         Main.pixelShader.CurrentTechnique.Passes[num13].Apply();
         Main.spriteBatch.Draw(Main.accNeckTexture[(int)drawPlayer.neck], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
     }
     if (!drawPlayer.invis && drawPlayer.head != 38 && drawPlayer.head != 135)
     {
         Main.spriteBatch.Draw(Main.playerHeadTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color4, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         Main.spriteBatch.Draw(Main.playerEyeWhitesTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color2, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         Main.spriteBatch.Draw(Main.playerEyesTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color3, drawPlayer.headRotation, vector2, 1f, effects, 0f);
     }
     if (flag3)
     {
         Main.pixelShader.CurrentTechnique.Passes[num3].Apply();
         Main.spriteBatch.Draw(Main.armorHeadTexture[drawPlayer.head], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color10, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
         if (!drawPlayer.invis)
         {
             Main.spriteBatch.Draw(Main.playerHairTexture[drawPlayer.hair], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame), color, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         }
     }
     if (flag4 && !drawPlayer.invis)
     {
         Main.spriteBatch.Draw(Main.playerHairAltTexture[drawPlayer.hair], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame), color, drawPlayer.headRotation, vector2, 1f, effects, 0f);
     }
     if (drawPlayer.head == 23)
     {
         if (!drawPlayer.invis)
         {
             Main.spriteBatch.Draw(Main.playerHairTexture[drawPlayer.hair], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame), color, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         }
         Main.pixelShader.CurrentTechnique.Passes[num3].Apply();
         Main.spriteBatch.Draw(Main.armorHeadTexture[drawPlayer.head], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color10, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
     }
     else
     {
         if (drawPlayer.head == 14 || drawPlayer.head == 56 || drawPlayer.head == 114 || drawPlayer.head == 158)
         {
             Rectangle bodyFrame3 = drawPlayer.bodyFrame;
             int num50 = 0;
             if (drawPlayer.gravDir == 1f)
             {
                 if (bodyFrame3.Y != 0)
                 {
                     bodyFrame3.Y -= 2;
                     num50 = -2;
                     bodyFrame3.Height -= 8;
                 }
             }
             else
             {
                 if (bodyFrame3.Y != 0)
                 {
                     bodyFrame3.Y -= 2;
                     num50 = 10;
                     bodyFrame3.Height -= 8;
                 }
             }
             Main.pixelShader.CurrentTechnique.Passes[num3].Apply();
             Main.spriteBatch.Draw(Main.armorHeadTexture[drawPlayer.head], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f + (float)num50))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame3), color10, drawPlayer.headRotation, vector2, 1f, effects, 0f);
             Main.pixelShader.CurrentTechnique.Passes[0].Apply();
         }
         else
         {
             if (drawPlayer.head > 0 && drawPlayer.head < 160 && drawPlayer.head != 28)
             {
                 if (!drawPlayer.invis || (drawPlayer.head != 39 && drawPlayer.head != 38))
                 {
                     Main.pixelShader.CurrentTechnique.Passes[num3].Apply();
                     if (drawPlayer.head > 0 && drawPlayer.head < 160)
                     {
                         this.LoadArmorHead(drawPlayer.head);
                     }
                     Main.spriteBatch.Draw(Main.armorHeadTexture[drawPlayer.head], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color10, drawPlayer.headRotation, vector2, 1f, effects, 0f);
                     Main.pixelShader.CurrentTechnique.Passes[0].Apply();
                 }
             }
             else
             {
                 if (!drawPlayer.invis && drawPlayer.face != 3 && drawPlayer.face != 2 && drawPlayer.face != 4)
                 {
                     Main.spriteBatch.Draw(Main.playerHairTexture[drawPlayer.hair], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(bodyFrame), color, drawPlayer.headRotation, vector2, 1f, effects, 0f);
                 }
             }
         }
     }
     if (drawPlayer.head == 137)
     {
         Main.spriteBatch.Draw(Main.jackHatTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), new Color(255, 255, 255, 255), drawPlayer.headRotation, vector2, 1f, effects, 0f);
         for (int k = 0; k < 7; k++)
         {
             Color color17 = new Color(110 - k * 10, 110 - k * 10, 110 - k * 10, 110 - k * 10);
             Vector2 vector5 = new Vector2((float)Main.rand.Next(-10, 11) * 0.2f, (float)Main.rand.Next(-10, 11) * 0.2f);
             vector5.X = drawPlayer.itemFlamePos[k].X;
             vector5.Y = drawPlayer.itemFlamePos[k].Y;
             vector5 *= 0.5f;
             Main.spriteBatch.Draw(Main.jackHatTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2 + vector5, new Rectangle?(drawPlayer.bodyFrame), color17, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         }
     }
     if (drawPlayer.face > 0 && drawPlayer.face < 8)
     {
         Main.pixelShader.CurrentTechnique.Passes[num14].Apply();
         if (drawPlayer.face == 7)
         {
             Main.spriteBatch.Draw(Main.accFaceTexture[(int)drawPlayer.face], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), new Color(200, 200, 200, 150), drawPlayer.headRotation, vector2, 1f, effects, 0f);
         }
         else
         {
             Main.spriteBatch.Draw(Main.accFaceTexture[(int)drawPlayer.face], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.headPosition + vector2, new Rectangle?(drawPlayer.bodyFrame), color10, drawPlayer.headRotation, vector2, 1f, effects, 0f);
         }
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
     }
     if (drawPlayer.mount == 1)
     {
         int num51 = 23 + (int)num2 - 30;
         int num52;
         if (drawPlayer.direction > 0)
         {
             num52 = 13;
         }
         else
         {
             num52 = -13;
         }
         Main.spriteBatch.Draw(Main.rudolphTexture[1], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) + (float)num52)), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + (float)num51))), new Rectangle?(new Rectangle(0, Main.rudolphTexture[0].Height / 12 * drawPlayer.mountFrame, Main.rudolphTexture[0].Width, Main.rudolphTexture[0].Height / 12)), color11, drawPlayer.bodyRotation, new Vector2((float)(Main.rudolphTexture[0].Width / 2), (float)(Main.rudolphTexture[0].Height / 24)), 1f, effects, 0f);
         if (drawPlayer.shadow == 0f)
         {
             Main.spriteBatch.Draw(Main.rudolphTexture[2], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) + (float)num52)), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + (float)num51))), new Rectangle?(new Rectangle(0, Main.rudolphTexture[0].Height / 12 * drawPlayer.mountFrame, Main.rudolphTexture[0].Width, Main.rudolphTexture[0].Height / 12)), new Color(255, 255, 255, 0), drawPlayer.bodyRotation, new Vector2((float)(Main.rudolphTexture[0].Width / 2), (float)(Main.rudolphTexture[0].Height / 24)), 1f, effects, 0f);
         }
     }
     if (drawPlayer.pulley && drawPlayer.itemAnimation == 0)
     {
         if (drawPlayer.pulleyDir == 2)
         {
             int num53 = -26;
             int num54 = 0;
             float rotation = 0f;
             Main.spriteBatch.Draw(Main.pulleyTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) - (float)(9 * drawPlayer.direction)) + num54 * drawPlayer.direction), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + 2f * drawPlayer.gravDir + (float)num53 * drawPlayer.gravDir))), new Rectangle?(new Rectangle(0, Main.pulleyTexture.Height / 2 * drawPlayer.pulleyFrame, Main.pulleyTexture.Width, Main.pulleyTexture.Height / 2)), color10, rotation, new Vector2((float)(Main.pulleyTexture.Width / 2), (float)(Main.pulleyTexture.Height / 4)), 1f, effects, 0f);
         }
         else
         {
             int num55 = -26;
             int num56 = 10;
             float rotation2 = 0.35f * (float)(-(float)drawPlayer.direction);
             Main.spriteBatch.Draw(Main.pulleyTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2) - (float)(9 * drawPlayer.direction)) + num56 * drawPlayer.direction), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2) + 2f * drawPlayer.gravDir + (float)num55 * drawPlayer.gravDir))), new Rectangle?(new Rectangle(0, Main.pulleyTexture.Height / 2 * drawPlayer.pulleyFrame, Main.pulleyTexture.Width, Main.pulleyTexture.Height / 2)), color10, rotation2, new Vector2((float)(Main.pulleyTexture.Width / 2), (float)(Main.pulleyTexture.Height / 4)), 1f, effects, 0f);
         }
     }
     if (drawPlayer.shield > 0 && drawPlayer.shield < 5)
     {
         Main.pixelShader.CurrentTechnique.Passes[num12].Apply();
         Main.spriteBatch.Draw(Main.accShieldTexture[(int)drawPlayer.shield], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
     }
     if (drawPlayer.heldProj >= 0)
     {
         Main.projectile[drawPlayer.heldProj].gfxOffY = drawPlayer.gfxOffY;
         this.DrawProj(drawPlayer.heldProj);
     }
     Color newColor = Lighting.GetColor((int)((double)drawPlayer.position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)drawPlayer.position.Y + (double)drawPlayer.height * 0.5) / 16.0));
     if (drawPlayer.inventory[drawPlayer.selectedItem].type == 678)
     {
         newColor = Color.White;
     }
     if (drawPlayer.armorSteath && drawPlayer.inventory[drawPlayer.selectedItem].ranged)
     {
         float num57 = drawPlayer.stealth;
         if ((double)num57 < 0.03)
         {
             num57 = 0.03f;
         }
         float num58 = (1f + num57 * 10f) / 11f;
         newColor = new Color((int)((byte)((float)newColor.R * num57)), (int)((byte)((float)newColor.G * num57)), (int)((byte)((float)newColor.B * num58)), (int)((byte)((float)newColor.A * num57)));
     }
     if (!drawPlayer.frozen && (drawPlayer.itemAnimation > 0 || (drawPlayer.inventory[drawPlayer.selectedItem].holdStyle > 0 && !drawPlayer.pulley && drawPlayer.mount == 0)) && drawPlayer.inventory[drawPlayer.selectedItem].type > 0 && !drawPlayer.dead && !drawPlayer.inventory[drawPlayer.selectedItem].noUseGraphic && (!drawPlayer.wet || !drawPlayer.inventory[drawPlayer.selectedItem].noWet))
     {
         string arg_59FB_0 = drawPlayer.name;
         if (drawPlayer.inventory[drawPlayer.selectedItem].type == 662 || drawPlayer.inventory[drawPlayer.selectedItem].type == 663)
         {
             newColor.R = (byte)Main.DiscoR;
             newColor.G = (byte)Main.DiscoG;
             newColor.B = (byte)Main.DiscoB;
             newColor.A = 255;
         }
         if (drawPlayer.inventory[drawPlayer.selectedItem].useStyle == 5)
         {
             if (drawPlayer.inventory[drawPlayer.selectedItem].type == 2188 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1308 || drawPlayer.inventory[drawPlayer.selectedItem].type == 683 || drawPlayer.inventory[drawPlayer.selectedItem].type == 723 || drawPlayer.inventory[drawPlayer.selectedItem].type == 726 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1801 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1931 || (drawPlayer.inventory[drawPlayer.selectedItem].type >= 739 && drawPlayer.inventory[drawPlayer.selectedItem].type <= 744) || drawPlayer.inventory[drawPlayer.selectedItem].type == 788 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1326 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1444 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1445 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1446 || drawPlayer.inventory[drawPlayer.selectedItem].type == 1930)
             {
                 float num59 = drawPlayer.itemRotation + 0.785f * (float)drawPlayer.direction;
                 int num60 = 0;
                 int num61 = 0;
                 Vector2 origin2 = new Vector2(0f, (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height);
                 if (drawPlayer.gravDir == -1f)
                 {
                     if (drawPlayer.direction == -1)
                     {
                         num59 += 1.57f;
                         origin2 = new Vector2((float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, 0f);
                         num60 -= Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width;
                     }
                     else
                     {
                         num59 -= 1.57f;
                         origin2 = new Vector2(0f, 0f);
                     }
                 }
                 else
                 {
                     if (drawPlayer.direction == -1)
                     {
                         origin2 = new Vector2((float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height);
                         num60 -= Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width;
                     }
                 }
                 Main.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.position.X + (float)(drawPlayer.width / 2) - Main.screenPosition.X + origin2.X + (float)num60)), (float)((int)(drawPlayer.position.Y + (float)(drawPlayer.height / 2) - Main.screenPosition.Y + (float)num61))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(newColor), num59, origin2, drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
             }
             else
             {
                 Vector2 vector6 = new Vector2((float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width / 2), (float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height / 2));
                 Vector2 vector7 = this.DrawPlayerItemPos(drawPlayer);
                 int num62 = (int)vector7.X;
                 vector6.Y = vector7.Y;
                 Vector2 origin3 = new Vector2((float)(-(float)num62), (float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height / 2));
                 if (drawPlayer.direction == -1)
                 {
                     origin3 = new Vector2((float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width + num62), (float)(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height / 2));
                 }
                 Main.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X + vector6.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y + vector6.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(newColor), drawPlayer.itemRotation, origin3, drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                 if (drawPlayer.inventory[drawPlayer.selectedItem].color != default(Color))
                 {
                     Main.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X + vector6.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y + vector6.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetColor(newColor), drawPlayer.itemRotation, origin3, drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                 }
             }
         }
         else
         {
             if (drawPlayer.gravDir == -1f)
             {
                 Main.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(newColor), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f - (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f * (float)drawPlayer.direction, 0f), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                 if (drawPlayer.inventory[drawPlayer.selectedItem].color != default(Color))
                 {
                     Main.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetColor(newColor), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f - (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f * (float)drawPlayer.direction, 0f), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                 }
             }
             else
             {
                 if (drawPlayer.inventory[drawPlayer.selectedItem].type == 425 || drawPlayer.inventory[drawPlayer.selectedItem].type == 507)
                 {
                     if (drawPlayer.gravDir == 1f)
                     {
                         if (drawPlayer.direction == 1)
                         {
                             effects2 = SpriteEffects.FlipVertically;
                         }
                         else
                         {
                             effects2 = (SpriteEffects.FlipHorizontally | SpriteEffects.FlipVertically);
                         }
                     }
                     else
                     {
                         if (drawPlayer.direction == 1)
                         {
                             effects2 = SpriteEffects.None;
                         }
                         else
                         {
                             effects2 = SpriteEffects.FlipHorizontally;
                         }
                     }
                 }
                 int type2 = drawPlayer.inventory[drawPlayer.selectedItem].type;
                 Main.spriteBatch.Draw(Main.itemTexture[type2], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[type2].Width, Main.itemTexture[type2].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(newColor), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[type2].Width * 0.5f - (float)Main.itemTexture[type2].Width * 0.5f * (float)drawPlayer.direction, (float)Main.itemTexture[type2].Height), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                 if (drawPlayer.inventory[drawPlayer.selectedItem].color != default(Color))
                 {
                     Main.spriteBatch.Draw(Main.itemTexture[type2], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[type2].Width, Main.itemTexture[type2].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetColor(newColor), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[type2].Width * 0.5f - (float)Main.itemTexture[type2].Width * 0.5f * (float)drawPlayer.direction, (float)Main.itemTexture[type2].Height), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                 }
                 if (drawPlayer.inventory[drawPlayer.selectedItem].flame && drawPlayer.shadow == 0f)
                 {
                     try
                     {
                         this.LoadItemFlames(type2);
                         if (Main.itemFlameTexture[type2] != null)
                         {
                             for (int l = 0; l < 7; l++)
                             {
                                 float x = drawPlayer.itemFlamePos[l].X;
                                 float y = drawPlayer.itemFlamePos[l].Y;
                                 Main.spriteBatch.Draw(Main.itemFlameTexture[type2], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)) + x, (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y)) + y), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[type2].Width, Main.itemTexture[type2].Height)), new Color(100, 100, 100, 0), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[type2].Width * 0.5f - (float)Main.itemTexture[type2].Width * 0.5f * (float)drawPlayer.direction, (float)Main.itemTexture[type2].Height), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
                             }
                         }
                     }
                     catch
                     {
                     }
                 }
             }
         }
     }
     if (drawPlayer.body > 0 && drawPlayer.body < 168)
     {
         Rectangle bodyFrame4 = drawPlayer.bodyFrame;
         int num63 = num;
         bodyFrame4.X += num63;
         bodyFrame4.Width -= num63;
         if (drawPlayer.direction == -1)
         {
             num63 = 0;
         }
         if (!drawPlayer.invis || (drawPlayer.body != 21 && drawPlayer.body != 22))
         {
             if (flag && !drawPlayer.invis)
             {
                 int arg_6804_0 = drawPlayer.body;
                 if (flag2)
                 {
                     Main.spriteBatch.Draw(Main.skinArmTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                 }
                 Main.spriteBatch.Draw(Main.playerHands2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
             }
             Main.pixelShader.CurrentTechnique.Passes[num4].Apply();
             if (drawPlayer.body > 0 && drawPlayer.body < 168)
             {
                 this.LoadArmorBody(drawPlayer.body);
             }
             Main.spriteBatch.Draw(Main.armorArmTexture[drawPlayer.body], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2)) + num63), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(bodyFrame4), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
             Main.pixelShader.CurrentTechnique.Passes[0].Apply();
         }
     }
     else
     {
         if (!drawPlayer.invis)
         {
             if (!drawPlayer.male)
             {
                 Main.spriteBatch.Draw(Main.femaleUnderShirt2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
                 Main.spriteBatch.Draw(Main.femaleShirt2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color6, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
             }
             else
             {
                 Main.spriteBatch.Draw(Main.playerUnderShirt2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color7, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
             }
             Main.spriteBatch.Draw(Main.playerHands2Texture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color5, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         }
     }
     if (drawPlayer.handon > 0 && drawPlayer.handon < 18)
     {
         Main.pixelShader.CurrentTechnique.Passes[num6].Apply();
         Main.spriteBatch.Draw(Main.accHandsOnTexture[(int)drawPlayer.handon], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
     }
     if (drawPlayer.inventory[drawPlayer.selectedItem].type == 1827 && !drawPlayer.frozen && (drawPlayer.itemAnimation > 0 || (drawPlayer.inventory[drawPlayer.selectedItem].holdStyle > 0 && !drawPlayer.pulley)) && drawPlayer.inventory[drawPlayer.selectedItem].type > 0 && !drawPlayer.dead && !drawPlayer.inventory[drawPlayer.selectedItem].noUseGraphic && (!drawPlayer.wet || !drawPlayer.inventory[drawPlayer.selectedItem].noWet))
     {
         if (drawPlayer.gravDir == -1f)
         {
             Main.spriteBatch.Draw(Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width, Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(newColor), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f - (float)Main.itemTexture[drawPlayer.inventory[drawPlayer.selectedItem].type].Width * 0.5f * (float)drawPlayer.direction, 0f), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
         }
         else
         {
             int type3 = drawPlayer.inventory[drawPlayer.selectedItem].type;
             Main.spriteBatch.Draw(Main.itemTexture[type3], new Vector2((float)((int)(drawPlayer.itemLocation.X - Main.screenPosition.X)), (float)((int)(drawPlayer.itemLocation.Y - Main.screenPosition.Y))), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[type3].Width, Main.itemTexture[type3].Height)), drawPlayer.inventory[drawPlayer.selectedItem].GetAlpha(newColor), drawPlayer.itemRotation, new Vector2((float)Main.itemTexture[type3].Width * 0.5f - (float)Main.itemTexture[type3].Width * 0.5f * (float)drawPlayer.direction, (float)Main.itemTexture[type3].Height), drawPlayer.inventory[drawPlayer.selectedItem].scale, effects2, 0f);
         }
     }
     if (!flag6 && drawPlayer.front > 0 && drawPlayer.front < 5)
     {
         Main.pixelShader.CurrentTechnique.Passes[num9].Apply();
         Main.spriteBatch.Draw(Main.accFrontTexture[(int)drawPlayer.front], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(drawPlayer.bodyFrame), color11, drawPlayer.bodyRotation, origin, 1f, effects, 0f);
         Main.pixelShader.CurrentTechnique.Passes[0].Apply();
     }
     if (drawPlayer.frozen)
     {
         Color color18 = color11;
         color18.R = (byte)((double)color18.R * 0.55);
         color18.G = (byte)((double)color18.G * 0.55);
         color18.B = (byte)((double)color18.B * 0.55);
         color18.A = (byte)((double)color18.A * 0.55);
         Main.spriteBatch.Draw(Main.frozenTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(new Rectangle(0, 0, Main.frozenTexture.Width, Main.frozenTexture.Height)), color18, drawPlayer.bodyRotation, new Vector2((float)(Main.frozenTexture.Width / 2), (float)(Main.frozenTexture.Height / 2)), 1f, effects, 0f);
     }
     if (drawPlayer.iceBarrier && drawPlayer.shadow == 0f)
     {
         int num64 = this.iceBarrierTexture.Height / 12;
         Color white = Color.White;
         Main.spriteBatch.Draw(this.iceBarrierTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X - (float)(drawPlayer.bodyFrame.Width / 2) + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - (float)drawPlayer.bodyFrame.Height + 4f))) + drawPlayer.bodyPosition + new Vector2((float)(drawPlayer.bodyFrame.Width / 2), (float)(drawPlayer.bodyFrame.Height / 2)), new Rectangle?(new Rectangle(0, num64 * (int)drawPlayer.iceBarrierFrame, this.iceBarrierTexture.Width, num64)), white, 0f, new Vector2((float)(Main.frozenTexture.Width / 2), (float)(Main.frozenTexture.Height / 2)), 1f, effects, 0f);
     }
     if (drawPlayer.gem >= 0 && drawPlayer.shadow == 0f)
     {
         Main.spriteBatch.Draw(Main.gemTexture[drawPlayer.gem], new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)drawPlayer.height - 80f))), new Rectangle?(new Rectangle(0, 0, Main.gemTexture[drawPlayer.gem].Width, Main.gemTexture[drawPlayer.gem].Height)), new Color(250, 250, 250, (int)(Main.mouseTextColor / 2)), 0f, new Vector2((float)(Main.gemTexture[drawPlayer.gem].Width / 2), (float)(Main.gemTexture[drawPlayer.gem].Height / 2)), (float)Main.mouseTextColor / 1000f + 0.8f, SpriteEffects.None, 0f);
     }
     if (drawPlayer.beetleOffense || drawPlayer.beetleDefense)
     {
         for (int m = 0; m < drawPlayer.beetleOrbs; m++)
         {
             for (int n = 0; n < 5; n++)
             {
                 Color color19 = color11;
                 float num65 = (float)n * 0.1f;
                 num65 = 0.5f - num65;
                 color19.R = (byte)((float)color19.R * num65);
                 color19.G = (byte)((float)color19.G * num65);
                 color19.B = (byte)((float)color19.B * num65);
                 color19.A = (byte)((float)color19.A * num65);
                 Vector2 value = -drawPlayer.beetleVel[m] * (float)n;
                 Main.spriteBatch.Draw(Main.beetleTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2)))) + drawPlayer.beetlePos[m] + value, new Rectangle?(new Rectangle(0, Main.beetleTexture.Height / 3 * drawPlayer.beetleFrame + 1, Main.beetleTexture.Width, Main.beetleTexture.Height / 3 - 2)), color19, 0f, new Vector2((float)(Main.beetleTexture.Width / 2), (float)(Main.beetleTexture.Height / 6)), 1f, effects, 0f);
             }
             Main.spriteBatch.Draw(Main.beetleTexture, new Vector2((float)((int)(drawPlayer.position.X - Main.screenPosition.X + (float)(drawPlayer.width / 2))), (float)((int)(drawPlayer.position.Y - Main.screenPosition.Y + (float)(drawPlayer.height / 2)))) + drawPlayer.beetlePos[m], new Rectangle?(new Rectangle(0, Main.beetleTexture.Height / 3 * drawPlayer.beetleFrame + 1, Main.beetleTexture.Width, Main.beetleTexture.Height / 3 - 2)), color11, 0f, new Vector2((float)(Main.beetleTexture.Width / 2), (float)(Main.beetleTexture.Height / 6)), 1f, effects, 0f);
         }
     }
     drawPlayer.position.Y = drawPlayer.position.Y + num2;
     if (drawPlayer.shadow == 0f)
     {
         drawPlayer.position.Y = drawPlayer.position.Y - drawPlayer.gfxOffY;
     }
     drawPlayer.itemLocation.Y = drawPlayer.itemLocation.Y - drawPlayer.gfxOffY;
 }