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

◆ DrawPlayer_09_Wings()

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

Definition at line 576 of file PlayerDrawLayers.cs.

577 {
578 if (drawinfo.drawPlayer.dead || drawinfo.hideEntirePlayer)
579 {
580 return;
581 }
582 Vector2 directions = drawinfo.drawPlayer.Directions;
583 Vector2 vector = drawinfo.Position - Main.screenPosition + drawinfo.drawPlayer.Size / 2f;
584 Vector2 vector2 = new Vector2(0f, 7f);
585 vector = drawinfo.Position - Main.screenPosition + new Vector2(drawinfo.drawPlayer.width / 2, drawinfo.drawPlayer.height - drawinfo.drawPlayer.bodyFrame.Height / 2) + vector2;
586 if (drawinfo.drawPlayer.wings <= 0)
587 {
588 return;
589 }
590 Main.instance.LoadWings(drawinfo.drawPlayer.wings);
591 DrawData item;
592 if (drawinfo.drawPlayer.wings == 22)
593 {
594 if (!drawinfo.drawPlayer.ShouldDrawWingsThatAreAlwaysAnimated())
595 {
596 return;
597 }
598 Main.instance.LoadItemFlames(1866);
599 Color colorArmorBody = drawinfo.colorArmorBody;
600 int num = 26;
601 int num2 = -9;
603 if (drawinfo.shadow == 0f && drawinfo.drawPlayer.grappling[0] == -1)
604 {
605 for (int i = 0; i < 7; i++)
606 {
607 Color color = new Color(250 - i * 10, 250 - i * 10, 250 - i * 10, 150 - i * 10);
608 Vector2 vector4 = new Vector2((float)Main.rand.Next(-10, 11) * 0.2f, (float)Main.rand.Next(-10, 11) * 0.2f);
609 drawinfo.stealth *= drawinfo.stealth;
610 drawinfo.stealth *= 1f - drawinfo.shadow;
611 color = new Color((int)((float)(int)color.R * drawinfo.stealth), (int)((float)(int)color.G * drawinfo.stealth), (int)((float)(int)color.B * drawinfo.stealth), (int)((float)(int)color.A * drawinfo.stealth));
612 vector4.X = drawinfo.drawPlayer.itemFlamePos[i].X;
613 vector4.Y = 0f - drawinfo.drawPlayer.itemFlamePos[i].Y;
614 vector4 *= 0.5f;
615 Vector2 position = (vector3 + vector4).Floor();
616 item = new DrawData(TextureAssets.ItemFlame[1866].Value, position, new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 7 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 7 - 2), color, drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 14), 1f, drawinfo.playerEffect);
617 item.shader = drawinfo.cWings;
618 drawinfo.DrawDataCache.Add(item);
619 }
620 }
621 item = new DrawData(TextureAssets.Wings[drawinfo.drawPlayer.wings].Value, vector3.Floor(), new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 7 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 7), colorArmorBody, drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 14), 1f, drawinfo.playerEffect);
622 item.shader = drawinfo.cWings;
623 drawinfo.DrawDataCache.Add(item);
624 return;
625 }
626 if (drawinfo.drawPlayer.wings == 28)
627 {
628 if (drawinfo.drawPlayer.ShouldDrawWingsThatAreAlwaysAnimated())
629 {
630 Color colorArmorBody2 = drawinfo.colorArmorBody;
631 Vector2 vector5 = new Vector2(0f, 19f);
633 Texture2D value = TextureAssets.Wings[drawinfo.drawPlayer.wings].Value;
634 Rectangle rectangle = value.Frame(1, 4, 0, drawinfo.drawPlayer.miscCounter / 5 % 4);
635 rectangle.Width -= 2;
636 rectangle.Height -= 2;
637 item = new DrawData(value, vec.Floor(), rectangle, Color.Lerp(colorArmorBody2, Color.White, 1f), drawinfo.drawPlayer.bodyRotation, rectangle.Size() / 2f, 1f, drawinfo.playerEffect);
638 item.shader = drawinfo.cWings;
639 drawinfo.DrawDataCache.Add(item);
640 value = TextureAssets.Extra[38].Value;
641 item = new DrawData(value, vec.Floor(), rectangle, Color.Lerp(colorArmorBody2, Color.White, 0.5f), drawinfo.drawPlayer.bodyRotation, rectangle.Size() / 2f, 1f, drawinfo.playerEffect);
642 item.shader = drawinfo.cWings;
643 drawinfo.DrawDataCache.Add(item);
644 }
645 return;
646 }
647 if (drawinfo.drawPlayer.wings == 45)
648 {
649 if (!drawinfo.drawPlayer.ShouldDrawWingsThatAreAlwaysAnimated())
650 {
651 return;
652 }
654 Color color2 = new Color(255, 255, 255, 255);
655 int num3 = 22;
656 int num4 = 0;
658 Color color3 = color2 * (1f - drawinfo.shadow);
659 item = new DrawData(TextureAssets.Wings[drawinfo.drawPlayer.wings].Value, vec2.Floor(), new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 6 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 6), color3, drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 12), 1f, drawinfo.playerEffect);
660 item.shader = drawinfo.cWings;
661 drawinfo.DrawDataCache.Add(item);
662 if (drawinfo.shadow == 0f)
663 {
664 float num5 = ((float)drawinfo.drawPlayer.miscCounter / 75f * ((float)Math.PI * 2f)).ToRotationVector2().X * 4f;
665 Color color4 = new Color(70, 70, 70, 0) * (num5 / 8f + 0.5f) * 0.4f;
666 for (float num6 = 0f; num6 < (float)Math.PI * 2f; num6 += (float)Math.PI / 2f)
667 {
668 item = new DrawData(TextureAssets.Wings[drawinfo.drawPlayer.wings].Value, vec2.Floor() + num6.ToRotationVector2() * num5, new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 6 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 6), color4, drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 12), 1f, drawinfo.playerEffect);
669 item.shader = drawinfo.cWings;
670 drawinfo.DrawDataCache.Add(item);
671 }
672 }
673 return;
674 }
675 if (drawinfo.drawPlayer.wings == 34)
676 {
677 if (drawinfo.drawPlayer.ShouldDrawWingsThatAreAlwaysAnimated())
678 {
679 drawinfo.stealth *= drawinfo.stealth;
680 drawinfo.stealth *= 1f - drawinfo.shadow;
681 Color color5 = new Color((int)(250f * drawinfo.stealth), (int)(250f * drawinfo.stealth), (int)(250f * drawinfo.stealth), (int)(100f * drawinfo.stealth));
682 Vector2 vector6 = new Vector2(0f, 0f);
683 Texture2D value2 = TextureAssets.Wings[drawinfo.drawPlayer.wings].Value;
684 Vector2 vec3 = drawinfo.Position + drawinfo.drawPlayer.Size / 2f - Main.screenPosition + vector6 * drawinfo.drawPlayer.Directions - Vector2.UnitX * drawinfo.drawPlayer.direction * 4f;
685 Rectangle rectangle2 = value2.Frame(1, 6, 0, drawinfo.drawPlayer.wingFrame);
686 rectangle2.Width -= 2;
687 rectangle2.Height -= 2;
688 item = new DrawData(value2, vec3.Floor(), rectangle2, color5, drawinfo.drawPlayer.bodyRotation, rectangle2.Size() / 2f, 1f, drawinfo.playerEffect);
689 item.shader = drawinfo.cWings;
690 drawinfo.DrawDataCache.Add(item);
691 }
692 return;
693 }
694 if (drawinfo.drawPlayer.wings == 40)
695 {
696 drawinfo.stealth *= drawinfo.stealth;
697 drawinfo.stealth *= 1f - drawinfo.shadow;
698 Color color6 = new Color((int)(250f * drawinfo.stealth), (int)(250f * drawinfo.stealth), (int)(250f * drawinfo.stealth), (int)(100f * drawinfo.stealth));
699 Vector2 vector7 = new Vector2(-4f, 0f);
700 Texture2D value3 = TextureAssets.Wings[drawinfo.drawPlayer.wings].Value;
702 for (int j = 0; j < 1; j++)
703 {
704 SpriteEffects spriteEffects = drawinfo.playerEffect;
705 Vector2 scale = new Vector2(1f);
707 zero.X = drawinfo.drawPlayer.direction * 3;
708 if (j == 1)
709 {
710 spriteEffects ^= SpriteEffects.FlipHorizontally;
711 scale = new Vector2(0.7f, 1f);
712 zero.X += (float)(-drawinfo.drawPlayer.direction) * 6f;
713 }
714 Vector2 vector9 = drawinfo.drawPlayer.velocity * -1.5f;
715 int num7 = 0;
716 int num8 = 8;
717 float num9 = 4f;
718 if (drawinfo.drawPlayer.velocity.Y == 0f)
719 {
720 num7 = 8;
721 num8 = 14;
722 num9 = 3f;
723 }
724 for (int k = num7; k < num8; k++)
725 {
727 Rectangle rectangle3 = value3.Frame(1, 14, 0, k);
728 rectangle3.Width -= 2;
729 rectangle3.Height -= 2;
730 int num10 = (k - num7) % (int)num9;
731 Vector2 vector10 = new Vector2(0f, 0.5f).RotatedBy((drawinfo.drawPlayer.miscCounterNormalized * (2f + (float)num10) + (float)num10 * 0.5f + (float)j * 1.3f) * ((float)Math.PI * 2f)) * (num10 + 1);
732 vec4 += vector10;
733 vec4 += vector9 * ((float)num10 / num9);
734 vec4 += zero;
735 item = new DrawData(value3, vec4.Floor(), rectangle3, color6, drawinfo.drawPlayer.bodyRotation, rectangle3.Size() / 2f, scale, spriteEffects);
736 item.shader = drawinfo.cWings;
737 drawinfo.DrawDataCache.Add(item);
738 }
739 }
740 return;
741 }
742 if (drawinfo.drawPlayer.wings == 39)
743 {
744 if (drawinfo.drawPlayer.ShouldDrawWingsThatAreAlwaysAnimated())
745 {
746 drawinfo.stealth *= drawinfo.stealth;
747 drawinfo.stealth *= 1f - drawinfo.shadow;
748 Color colorArmorBody3 = drawinfo.colorArmorBody;
749 Vector2 vector11 = new Vector2(-6f, -7f);
750 Texture2D value4 = TextureAssets.Wings[drawinfo.drawPlayer.wings].Value;
752 Rectangle rectangle4 = value4.Frame(1, 6, 0, drawinfo.drawPlayer.wingFrame);
753 rectangle4.Width -= 2;
754 rectangle4.Height -= 2;
755 item = new DrawData(value4, vec5.Floor(), rectangle4, colorArmorBody3, drawinfo.drawPlayer.bodyRotation, rectangle4.Size() / 2f, 1f, drawinfo.playerEffect);
756 item.shader = drawinfo.cWings;
757 drawinfo.DrawDataCache.Add(item);
758 }
759 return;
760 }
761 int num11 = 0;
762 int num12 = 0;
763 int num13 = 4;
764 if (drawinfo.drawPlayer.wings == 43)
765 {
766 num12 = -5;
767 num11 = -7;
768 num13 = 7;
769 }
770 else if (drawinfo.drawPlayer.wings == 44)
771 {
772 num13 = 7;
773 }
774 else if (drawinfo.drawPlayer.wings == 5)
775 {
776 num12 = 4;
777 num11 -= 4;
778 }
779 else if (drawinfo.drawPlayer.wings == 27)
780 {
781 num12 = 4;
782 }
783 Color color7 = drawinfo.colorArmorBody;
784 if (drawinfo.drawPlayer.wings == 9 || drawinfo.drawPlayer.wings == 29)
785 {
786 drawinfo.stealth *= drawinfo.stealth;
787 drawinfo.stealth *= 1f - drawinfo.shadow;
788 color7 = new Color((int)(250f * drawinfo.stealth), (int)(250f * drawinfo.stealth), (int)(250f * drawinfo.stealth), (int)(100f * drawinfo.stealth));
789 }
790 if (drawinfo.drawPlayer.wings == 10)
791 {
792 drawinfo.stealth *= drawinfo.stealth;
793 drawinfo.stealth *= 1f - drawinfo.shadow;
794 color7 = new Color((int)(250f * drawinfo.stealth), (int)(250f * drawinfo.stealth), (int)(250f * drawinfo.stealth), (int)(175f * drawinfo.stealth));
795 }
796 if (drawinfo.drawPlayer.wings == 11 && color7.A > Main.gFade)
797 {
798 color7.A = Main.gFade;
799 }
800 if (drawinfo.drawPlayer.wings == 31)
801 {
802 color7.A = (byte)(220f * drawinfo.stealth);
803 }
804 if (drawinfo.drawPlayer.wings == 32)
805 {
806 color7.A = (byte)(127f * drawinfo.stealth);
807 }
808 if (drawinfo.drawPlayer.wings == 6)
809 {
810 color7.A = (byte)(160f * drawinfo.stealth);
811 color7 *= 0.9f;
812 }
813 Vector2 vector12 = vector + new Vector2(num12 - 9, num11 + 2) * directions;
814 item = new DrawData(TextureAssets.Wings[drawinfo.drawPlayer.wings].Value, vector12.Floor(), new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / num13 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / num13), color7, drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / num13 / 2), 1f, drawinfo.playerEffect);
815 item.shader = drawinfo.cWings;
816 drawinfo.DrawDataCache.Add(item);
817 if (drawinfo.drawPlayer.wings == 43 && drawinfo.shadow == 0f)
818 {
820 Vector2 origin = new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / num13 / 2);
821 Rectangle value5 = new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / num13 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / num13);
822 for (int l = 0; l < 2; l++)
823 {
824 item = new DrawData(position: vector13 + new Vector2((float)Main.rand.Next(-10, 10) * 0.125f, (float)Main.rand.Next(-10, 10) * 0.125f), texture: TextureAssets.GlowMask[272].Value, sourceRect: value5, color: new Color(230, 230, 230, 60), rotation: drawinfo.drawPlayer.bodyRotation, origin: origin, scale: 1f, effect: drawinfo.playerEffect);
825 item.shader = drawinfo.cWings;
826 drawinfo.DrawDataCache.Add(item);
827 }
828 }
829 if (drawinfo.drawPlayer.wings == 23)
830 {
831 drawinfo.stealth *= drawinfo.stealth;
832 drawinfo.stealth *= 1f - drawinfo.shadow;
833 item = new DrawData(color: new Color((int)(200f * drawinfo.stealth), (int)(200f * drawinfo.stealth), (int)(200f * drawinfo.stealth), (int)(200f * drawinfo.stealth)), texture: TextureAssets.Flames[8].Value, position: vector12.Floor(), sourceRect: new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4), rotation: drawinfo.drawPlayer.bodyRotation, origin: new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 8), scale: 1f, effect: drawinfo.playerEffect);
834 item.shader = drawinfo.cWings;
835 drawinfo.DrawDataCache.Add(item);
836 }
837 else if (drawinfo.drawPlayer.wings == 27)
838 {
839 item = new DrawData(TextureAssets.GlowMask[92].Value, vector12.Floor(), new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4), new Color(255, 255, 255, 127) * drawinfo.stealth * (1f - drawinfo.shadow), drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 8), 1f, drawinfo.playerEffect);
840 item.shader = drawinfo.cWings;
841 drawinfo.DrawDataCache.Add(item);
842 }
843 else if (drawinfo.drawPlayer.wings == 44)
844 {
846 playerRainbowWings.Request();
847 if (playerRainbowWings.IsReady)
848 {
849 RenderTarget2D target = playerRainbowWings.GetTarget();
850 item = new DrawData(target, vector12.Floor(), new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 7 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 7), new Color(255, 255, 255, 255) * drawinfo.stealth * (1f - drawinfo.shadow), drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 14), 1f, drawinfo.playerEffect);
851 item.shader = drawinfo.cWings;
852 drawinfo.DrawDataCache.Add(item);
853 }
854 }
855 else if (drawinfo.drawPlayer.wings == 30)
856 {
857 item = new DrawData(TextureAssets.GlowMask[181].Value, vector12.Floor(), new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4), new Color(255, 255, 255, 127) * drawinfo.stealth * (1f - drawinfo.shadow), drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 8), 1f, drawinfo.playerEffect);
858 item.shader = drawinfo.cWings;
859 drawinfo.DrawDataCache.Add(item);
860 }
861 else if (drawinfo.drawPlayer.wings == 38)
862 {
863 Color color9 = drawinfo.ArkhalisColor * drawinfo.stealth * (1f - drawinfo.shadow);
864 item = new DrawData(TextureAssets.GlowMask[251].Value, vector12.Floor(), new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4), color9, drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 8), 1f, drawinfo.playerEffect);
865 item.shader = drawinfo.cWings;
866 drawinfo.DrawDataCache.Add(item);
867 for (int num14 = drawinfo.drawPlayer.shadowPos.Length - 2; num14 >= 0; num14--)
868 {
870 color10.A = 0;
871 color10 *= MathHelper.Lerp(1f, 0f, (float)num14 / 3f);
872 color10 *= 0.1f;
873 Vector2 vector14 = drawinfo.drawPlayer.shadowPos[num14] - drawinfo.drawPlayer.position;
874 for (float num15 = 0f; num15 < 1f; num15 += 0.01f)
875 {
876 Vector2 vector15 = new Vector2(2f, 0f).RotatedBy(num15 / 0.04f * ((float)Math.PI * 2f));
877 item = new DrawData(TextureAssets.GlowMask[251].Value, vector15 + vector14 * num15 + vector12, new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4), color10 * (1f - num15), drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 8), 1f, drawinfo.playerEffect);
878 item.shader = drawinfo.cWings;
879 drawinfo.DrawDataCache.Add(item);
880 }
881 }
882 }
883 else if (drawinfo.drawPlayer.wings == 29)
884 {
885 item = new DrawData(TextureAssets.Wings[drawinfo.drawPlayer.wings].Value, vector12.Floor(), new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4), new Color(255, 255, 255, 0) * drawinfo.stealth * (1f - drawinfo.shadow) * 0.5f, drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 8), 1.06f, drawinfo.playerEffect);
886 item.shader = drawinfo.cWings;
887 drawinfo.DrawDataCache.Add(item);
888 }
889 else if (drawinfo.drawPlayer.wings == 36)
890 {
891 item = new DrawData(TextureAssets.GlowMask[213].Value, vector12.Floor(), new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4), new Color(255, 255, 255, 0) * drawinfo.stealth * (1f - drawinfo.shadow), drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 8), 1.06f, drawinfo.playerEffect);
892 item.shader = drawinfo.cWings;
893 drawinfo.DrawDataCache.Add(item);
894 Vector2 spinningpoint = new Vector2(0f, 2f - drawinfo.shadow * 2f);
895 for (int m = 0; m < 4; m++)
896 {
897 item = new DrawData(TextureAssets.GlowMask[213].Value, spinningpoint.RotatedBy((float)Math.PI / 2f * (float)m) + vector12.Floor(), new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4), new Color(127, 127, 127, 127) * drawinfo.stealth * (1f - drawinfo.shadow), drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 8), 1f, drawinfo.playerEffect);
898 item.shader = drawinfo.cWings;
899 drawinfo.DrawDataCache.Add(item);
900 }
901 }
902 else if (drawinfo.drawPlayer.wings == 31)
903 {
904 Color color11 = new Color(255, 255, 255, 0);
905 color11 = Color.Lerp(Color.HotPink, Color.Crimson, (float)Math.Cos((float)Math.PI * 2f * ((float)drawinfo.drawPlayer.miscCounter / 100f)) * 0.4f + 0.5f);
906 color11.A = 0;
907 for (int n = 0; n < 4; n++)
908 {
909 Vector2 vector16 = new Vector2((float)Math.Cos((float)Math.PI * 2f * ((float)drawinfo.drawPlayer.miscCounter / 60f)) * 0.5f + 0.5f, 0f).RotatedBy((float)n * ((float)Math.PI / 2f)) * 1f;
910 item = new DrawData(TextureAssets.Wings[drawinfo.drawPlayer.wings].Value, vector12.Floor() + vector16, new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4), color11 * drawinfo.stealth * (1f - drawinfo.shadow) * 0.5f, drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 8), 1f, drawinfo.playerEffect);
911 item.shader = drawinfo.cWings;
912 drawinfo.DrawDataCache.Add(item);
913 }
914 item = new DrawData(TextureAssets.Wings[drawinfo.drawPlayer.wings].Value, vector12.Floor(), new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4), color11 * drawinfo.stealth * (1f - drawinfo.shadow) * 1f, drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 8), 1f, drawinfo.playerEffect);
915 item.shader = drawinfo.cWings;
916 drawinfo.DrawDataCache.Add(item);
917 }
918 else if (drawinfo.drawPlayer.wings == 32)
919 {
920 item = new DrawData(TextureAssets.GlowMask[183].Value, vector12.Floor(), new Rectangle(0, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4 * drawinfo.drawPlayer.wingFrame, TextureAssets.Wings[drawinfo.drawPlayer.wings].Width(), TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 4), new Color(255, 255, 255, 0) * drawinfo.stealth * (1f - drawinfo.shadow), drawinfo.drawPlayer.bodyRotation, new Vector2(TextureAssets.Wings[drawinfo.drawPlayer.wings].Width() / 2, TextureAssets.Wings[drawinfo.drawPlayer.wings].Height() / 8), 1.06f, drawinfo.playerEffect);
921 item.shader = drawinfo.cWings;
922 drawinfo.DrawDataCache.Add(item);
923 }
924 }
static float Lerp(float value1, float value2, float amount)
Definition MathHelper.cs:53
void Add(TKey key, TValue value)
static double Cos(double d)
const double PI
Definition Math.cs:16
static void DrawStarboardRainbowTrail(ref PlayerDrawSet drawinfo, Vector2 commonWingPosPreFloor, Vector2 dirsVec)
static PlayerRainbowWingsTextureContent PlayerRainbowWings
static Asset< Texture2D >[] GlowMask
static Asset< Texture2D >[] Wings
static Asset< Texture2D >[] Extra
static Asset< Texture2D >[] ItemFlame
static Color Lerp(Color value1, Color value2, float amount)
Definition Color.cs:491

References Microsoft.Xna.Framework.Color.A, System.Collections.Generic.Dictionary< TKey, TValue >.Add(), Microsoft.Xna.Framework.Color.B, Microsoft.Xna.Framework.Graphics.Color, System.Math.Cos(), Microsoft.Xna.Framework.Color.Crimson, Terraria.DataStructures.PlayerDrawLayers.DrawStarboardRainbowTrail(), Terraria.GameContent.TextureAssets.Extra, Terraria.GameContent.TextureAssets.Flames, Microsoft.Xna.Framework.Color.G, Terraria.Main.gFade, Terraria.GameContent.TextureAssets.GlowMask, Microsoft.Xna.Framework.Color.HotPink, Terraria.Main.instance, System.item, Terraria.GameContent.TextureAssets.ItemFlame, Microsoft.Xna.Framework.Color.Lerp(), Microsoft.Xna.Framework.MathHelper.Lerp(), System.Math.PI, Terraria.GameContent.TextureAssets.RenderTargets.PlayerRainbowWings, Microsoft.Xna.Framework.Color.R, Terraria.Main.rand, System.value, Microsoft.Xna.Framework.Graphics.Vector2, Microsoft.Xna.Framework.Color.White, Terraria.GameContent.TextureAssets.Wings, and Microsoft.Xna.Framework.Vector2.Zero.

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