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

◆ GetAlpha()

Color Terraria.Item.GetAlpha ( Color newColor)
inline

Definition at line 47743 of file Item.cs.

47744 {
47745 if (ItemID.Sets.BossBag[type])
47746 {
47747 return Color.Lerp(newColor, Color.White, 0.4f);
47748 }
47749 switch (type)
47750 {
47751 case 1326:
47752 case 5335:
47753 return Color.Lerp(newColor, Color.White, 0.75f);
47754 case 5043:
47755 return new Color(255, 255, 255, newColor.A - alpha);
47756 case 3065:
47757 case 4956:
47758 return new Color(255, 255, 255, newColor.A - alpha);
47759 case 75:
47760 case 3858:
47761 return new Color(255, 255, 255, 255);
47762 case 119:
47763 case 120:
47764 case 121:
47765 case 122:
47766 case 217:
47767 case 218:
47768 case 219:
47769 case 220:
47770 return new Color(255, 255, 255, 255);
47771 case 501:
47772 return new Color(200, 200, 200, 50);
47773 case 757:
47774 case 1306:
47775 case 3456:
47776 case 3457:
47777 case 3458:
47778 case 3459:
47779 return new Color(255, 255, 255, 200);
47780 case 520:
47781 case 521:
47782 case 522:
47783 case 547:
47784 case 548:
47785 case 549:
47786 case 575:
47787 case 1332:
47788 case 3453:
47789 case 3454:
47790 case 3455:
47791 case 3580:
47792 return new Color(255, 255, 255, 50);
47793 case 58:
47794 case 184:
47795 case 1734:
47796 case 1735:
47797 case 1867:
47798 case 1868:
47799 return new Color(200, 200, 200, 200);
47800 case 1572:
47801 return new Color(200, 200, 255, 125);
47802 case 787:
47803 return new Color(255, 255, 255, 175);
47804 case 1826:
47805 return new Color(255, 255, 255, 200);
47806 case 1508:
47807 return new Color(200, 200, 200, 0);
47808 case 502:
47809 return new Color(255, 255, 255, 150);
47810 case 51:
47811 return new Color(255, 255, 255, 0);
47812 case 1260:
47813 return new Color(255, 255, 255, 175);
47814 case 1446:
47815 case 1506:
47816 case 1507:
47817 case 1543:
47818 case 1544:
47819 case 1545:
47820 return new Color(newColor.R, newColor.G, newColor.B, Main.gFade);
47821 case 198:
47822 case 199:
47823 case 200:
47824 case 201:
47825 case 202:
47826 case 203:
47827 case 3764:
47828 case 3765:
47829 case 3766:
47830 case 3767:
47831 case 3768:
47832 case 3769:
47833 case 4258:
47834 case 4259:
47835 return Color.White;
47836 case 2763:
47837 case 2764:
47838 case 2765:
47839 case 2782:
47840 case 2783:
47841 case 2784:
47842 case 2785:
47843 case 2786:
47844 case 3522:
47845 return new Color(250, 250, 250, 255 - alpha);
47846 case 3191:
47847 return new Color(250, 250, 250, 200);
47848 case 3822:
47849 return Color.Lerp(Color.White, newColor, 0.5f) * ((255f - (float)alpha) / 255f);
47850 case 4143:
47851 return Color.Lerp(Color.White, newColor, 0f) * ((255f - (float)alpha) / 255f);
47852 case 4354:
47853 case 4377:
47854 case 4378:
47855 case 4389:
47856 case 5127:
47857 case 5128:
47858 {
47859 Color color = default(Color);
47860 color = type switch
47861 {
47862 4377 => new Color(50, 255, 50, 200),
47863 4378 => new Color(50, 200, 255, 255),
47864 4389 => new Color(255, 50, 125, 200),
47865 5127 => new Color(150, 50, 250, 200),
47866 5128 => new Color(Main.DiscoR, Main.DiscoG, Main.DiscoB, 200),
47867 _ => new Color(255, 150, 150, 200),
47868 };
47869 if (newColor.R > color.R)
47870 {
47871 color.R = newColor.R;
47872 }
47873 if (newColor.G > color.G)
47874 {
47875 color.G = newColor.G;
47876 }
47877 if (newColor.B > color.B)
47878 {
47879 color.B = newColor.B;
47880 }
47881 if (newColor.A > color.A)
47882 {
47883 color.A = newColor.A;
47884 }
47885 return color;
47886 }
47887 default:
47888 {
47889 float num = (float)(255 - alpha) / 255f;
47890 int r = (int)((float)(int)newColor.R * num);
47891 int g = (int)((float)(int)newColor.G * num);
47892 int b = (int)((float)(int)newColor.B * num);
47893 int num2 = newColor.A - alpha;
47894 if (num2 < 0)
47895 {
47896 num2 = 0;
47897 }
47898 if (num2 > 255)
47899 {
47900 num2 = 255;
47901 }
47902 return new Color(r, g, b, num2);
47903 }
47904 }
47905 }
static bool[] BossBag
Definition ItemID.cs:1123
int alpha
Definition Item.cs:185
Color color
Definition Item.cs:183
static Color Lerp(Color value1, Color value2, float amount)
Definition Color.cs:491

References Microsoft.Xna.Framework.Color.A, Terraria.Item.alpha, Microsoft.Xna.Framework.Color.B, Terraria.ID.ItemID.Sets.BossBag, Terraria.Item.color, Terraria.Main.DiscoB, Terraria.Main.DiscoG, Terraria.Main.DiscoR, Microsoft.Xna.Framework.Color.G, Terraria.Main.gFade, Microsoft.Xna.Framework.Color.Lerp(), Microsoft.Xna.Framework.Color.R, Terraria.Item.type, and Microsoft.Xna.Framework.Color.White.

Referenced by Terraria.DataStructures.PlayerDrawLayers.DrawPlayer_27_HeldItem(), and Terraria.DataStructures.PlayerDrawLayers.DrawPlayer_30_BladedGlove().