Exemplo n.º 1
0
        public static int NewText(PopupTextContext context, int npcNetID, Vector2 position, bool stay5TimesLonger)
        {
            if (!Main.showItemText)
            {
                return(-1);
            }
            if (npcNetID == 0)
            {
                return(-1);
            }
            if (Main.netMode == 2)
            {
                return(-1);
            }
            int num = FindNextItemTextSlot();

            if (num >= 0)
            {
                NPC nPC = new NPC();
                nPC.SetDefaults(npcNetID);
                string    typeName  = nPC.TypeName;
                Vector2   value     = FontAssets.MouseText.Value.MeasureString(typeName);
                PopupText popupText = Main.popupText[num];
                Main.popupText[num].alpha = 1f;
                popupText.alphaDir        = -1;
                popupText.active          = true;
                popupText.scale           = 0f;
                popupText.NoStack         = true;
                popupText.rotation        = 0f;
                popupText.position        = position - value / 2f;
                popupText.expert          = false;
                popupText.master          = false;
                popupText.name            = typeName;
                popupText.stack           = 1;
                popupText.velocity.Y      = -7f;
                popupText.lifeTime        = 60;
                popupText.context         = context;
                if (stay5TimesLonger)
                {
                    popupText.lifeTime *= 5;
                }
                popupText.npcNetID  = npcNetID;
                popupText.coinValue = 0;
                popupText.coinText  = false;
                popupText.color     = Color.White;
                if (context == PopupTextContext.SonarAlert)
                {
                    popupText.color = Color.Lerp(Color.White, Color.Crimson, 0.5f);
                }
            }
            return(num);
        }
Exemplo n.º 2
0
        public static int NewText(
            PopupTextContext context,
            Item newItem,
            int stack,
            bool noStack  = false,
            bool longText = false)
        {
            if (!Main.showItemText || newItem.Name == null || (!newItem.active || Main.netMode == 2))
            {
                return(-1);
            }
            bool flag = newItem.type >= 71 && newItem.type <= 74;

            for (int index = 0; index < 20; ++index)
            {
                if (Main.popupText[index].active && !Main.popupText[index].notActuallyAnItem && (Main.popupText[index].name == newItem.AffixName() || flag && Main.popupText[index].coinText) && (!Main.popupText[index].NoStack && !noStack))
                {
                    string str1 = newItem.Name + " (" + (object)(Main.popupText[index].stack + stack) + ")";
                    string str2 = newItem.Name;
                    if (Main.popupText[index].stack > 1)
                    {
                        str2 = str2 + " (" + (object)Main.popupText[index].stack + ")";
                    }
                    FontAssets.MouseText.get_Value().MeasureString(str2);
                    Vector2 vector2 = FontAssets.MouseText.get_Value().MeasureString(str1);
                    if (Main.popupText[index].lifeTime < 0)
                    {
                        Main.popupText[index].scale = 1f;
                    }
                    if (Main.popupText[index].lifeTime < 60)
                    {
                        Main.popupText[index].lifeTime = 60;
                    }
                    if (flag && Main.popupText[index].coinText)
                    {
                        int num = 0;
                        if (newItem.type == 71)
                        {
                            num += stack;
                        }
                        else if (newItem.type == 72)
                        {
                            num += 100 * stack;
                        }
                        else if (newItem.type == 73)
                        {
                            num += 10000 * stack;
                        }
                        else if (newItem.type == 74)
                        {
                            num += 1000000 * stack;
                        }
                        Main.popupText[index].coinValue += num;
                        string name = PopupText.ValueToName(Main.popupText[index].coinValue);
                        vector2 = FontAssets.MouseText.get_Value().MeasureString(name);
                        Main.popupText[index].name = name;
                        if (Main.popupText[index].coinValue >= 1000000)
                        {
                            if (Main.popupText[index].lifeTime < 300)
                            {
                                Main.popupText[index].lifeTime = 300;
                            }
                            Main.popupText[index].color = new Color(220, 220, 198);
                        }
                        else if (Main.popupText[index].coinValue >= 10000)
                        {
                            if (Main.popupText[index].lifeTime < 240)
                            {
                                Main.popupText[index].lifeTime = 240;
                            }
                            Main.popupText[index].color = new Color(224, 201, 92);
                        }
                        else if (Main.popupText[index].coinValue >= 100)
                        {
                            if (Main.popupText[index].lifeTime < 180)
                            {
                                Main.popupText[index].lifeTime = 180;
                            }
                            Main.popupText[index].color = new Color(181, 192, 193);
                        }
                        else if (Main.popupText[index].coinValue >= 1)
                        {
                            if (Main.popupText[index].lifeTime < 120)
                            {
                                Main.popupText[index].lifeTime = 120;
                            }
                            Main.popupText[index].color = new Color(246, 138, 96);
                        }
                    }
                    Main.popupText[index].stack     += stack;
                    Main.popupText[index].scale      = 0.0f;
                    Main.popupText[index].rotation   = 0.0f;
                    Main.popupText[index].position.X = (float)((double)newItem.position.X + (double)newItem.width * 0.5 - (double)vector2.X * 0.5);
                    Main.popupText[index].position.Y = (float)((double)newItem.position.Y + (double)newItem.height * 0.25 - (double)vector2.Y * 0.5);
                    Main.popupText[index].velocity.Y = -7f;
                    Main.popupText[index].context    = context;
                    Main.popupText[index].npcNetID   = 0;
                    if (Main.popupText[index].coinText)
                    {
                        Main.popupText[index].stack = 1;
                    }
                    return(index);
                }
            }
            int nextItemTextSlot = PopupText.FindNextItemTextSlot();

            if (nextItemTextSlot >= 0)
            {
                string str = newItem.AffixName();
                if (stack > 1)
                {
                    str = str + " (" + (object)stack + ")";
                }
                Vector2 vector2 = FontAssets.MouseText.get_Value().MeasureString(str);
                Main.popupText[nextItemTextSlot].alpha      = 1f;
                Main.popupText[nextItemTextSlot].alphaDir   = -1;
                Main.popupText[nextItemTextSlot].active     = true;
                Main.popupText[nextItemTextSlot].scale      = 0.0f;
                Main.popupText[nextItemTextSlot].NoStack    = noStack;
                Main.popupText[nextItemTextSlot].rotation   = 0.0f;
                Main.popupText[nextItemTextSlot].position.X = (float)((double)newItem.position.X + (double)newItem.width * 0.5 - (double)vector2.X * 0.5);
                Main.popupText[nextItemTextSlot].position.Y = (float)((double)newItem.position.Y + (double)newItem.height * 0.25 - (double)vector2.Y * 0.5);
                Main.popupText[nextItemTextSlot].color      = Color.White;
                Main.popupText[nextItemTextSlot].master     = false;
                if (newItem.rare == 1)
                {
                    Main.popupText[nextItemTextSlot].color = new Color(150, 150, (int)byte.MaxValue);
                }
                else if (newItem.rare == 2)
                {
                    Main.popupText[nextItemTextSlot].color = new Color(150, (int)byte.MaxValue, 150);
                }
                else if (newItem.rare == 3)
                {
                    Main.popupText[nextItemTextSlot].color = new Color((int)byte.MaxValue, 200, 150);
                }
                else if (newItem.rare == 4)
                {
                    Main.popupText[nextItemTextSlot].color = new Color((int)byte.MaxValue, 150, 150);
                }
                else if (newItem.rare == 5)
                {
                    Main.popupText[nextItemTextSlot].color = new Color((int)byte.MaxValue, 150, (int)byte.MaxValue);
                }
                else if (newItem.rare == -13)
                {
                    Main.popupText[nextItemTextSlot].master = true;
                }
                else if (newItem.rare == -11)
                {
                    Main.popupText[nextItemTextSlot].color = new Color((int)byte.MaxValue, 175, 0);
                }
                else if (newItem.rare == -1)
                {
                    Main.popupText[nextItemTextSlot].color = new Color(130, 130, 130);
                }
                else if (newItem.rare == 6)
                {
                    Main.popupText[nextItemTextSlot].color = new Color(210, 160, (int)byte.MaxValue);
                }
                else if (newItem.rare == 7)
                {
                    Main.popupText[nextItemTextSlot].color = new Color(150, (int)byte.MaxValue, 10);
                }
                else if (newItem.rare == 8)
                {
                    Main.popupText[nextItemTextSlot].color = new Color((int)byte.MaxValue, (int)byte.MaxValue, 10);
                }
                else if (newItem.rare == 9)
                {
                    Main.popupText[nextItemTextSlot].color = new Color(5, 200, (int)byte.MaxValue);
                }
                else if (newItem.rare == 10)
                {
                    Main.popupText[nextItemTextSlot].color = new Color((int)byte.MaxValue, 40, 100);
                }
                else if (newItem.rare >= 11)
                {
                    Main.popupText[nextItemTextSlot].color = new Color(180, 40, (int)byte.MaxValue);
                }
                Main.popupText[nextItemTextSlot].expert     = newItem.expert;
                Main.popupText[nextItemTextSlot].name       = newItem.AffixName();
                Main.popupText[nextItemTextSlot].stack      = stack;
                Main.popupText[nextItemTextSlot].velocity.Y = -7f;
                Main.popupText[nextItemTextSlot].lifeTime   = 60;
                Main.popupText[nextItemTextSlot].context    = context;
                Main.popupText[nextItemTextSlot].npcNetID   = 0;
                if (longText)
                {
                    Main.popupText[nextItemTextSlot].lifeTime *= 5;
                }
                Main.popupText[nextItemTextSlot].coinValue = 0;
                Main.popupText[nextItemTextSlot].coinText  = newItem.type >= 71 && newItem.type <= 74;
                if (Main.popupText[nextItemTextSlot].coinText)
                {
                    if (newItem.type == 71)
                    {
                        Main.popupText[nextItemTextSlot].coinValue += Main.popupText[nextItemTextSlot].stack;
                    }
                    else if (newItem.type == 72)
                    {
                        Main.popupText[nextItemTextSlot].coinValue += 100 * Main.popupText[nextItemTextSlot].stack;
                    }
                    else if (newItem.type == 73)
                    {
                        Main.popupText[nextItemTextSlot].coinValue += 10000 * Main.popupText[nextItemTextSlot].stack;
                    }
                    else if (newItem.type == 74)
                    {
                        Main.popupText[nextItemTextSlot].coinValue += 1000000 * Main.popupText[nextItemTextSlot].stack;
                    }
                    Main.popupText[nextItemTextSlot].ValueToName();
                    Main.popupText[nextItemTextSlot].stack = 1;
                    int index = nextItemTextSlot;
                    if (Main.popupText[index].coinValue >= 1000000)
                    {
                        if (Main.popupText[index].lifeTime < 300)
                        {
                            Main.popupText[index].lifeTime = 300;
                        }
                        Main.popupText[index].color = new Color(220, 220, 198);
                    }
                    else if (Main.popupText[index].coinValue >= 10000)
                    {
                        if (Main.popupText[index].lifeTime < 240)
                        {
                            Main.popupText[index].lifeTime = 240;
                        }
                        Main.popupText[index].color = new Color(224, 201, 92);
                    }
                    else if (Main.popupText[index].coinValue >= 100)
                    {
                        if (Main.popupText[index].lifeTime < 180)
                        {
                            Main.popupText[index].lifeTime = 180;
                        }
                        Main.popupText[index].color = new Color(181, 192, 193);
                    }
                    else if (Main.popupText[index].coinValue >= 1)
                    {
                        if (Main.popupText[index].lifeTime < 120)
                        {
                            Main.popupText[index].lifeTime = 120;
                        }
                        Main.popupText[index].color = new Color(246, 138, 96);
                    }
                }
            }
            return(nextItemTextSlot);
        }
Exemplo n.º 3
0
        public static int NewText(PopupTextContext context, Item newItem, int stack, bool noStack = false, bool longText = false)
        {
            if (!Main.showItemText)
            {
                return(-1);
            }
            if (newItem.Name == null || !newItem.active)
            {
                return(-1);
            }
            if (Main.netMode == 2)
            {
                return(-1);
            }
            bool flag = newItem.type >= 71 && newItem.type <= 74;

            for (int i = 0; i < 20; i++)
            {
                if (!Main.popupText[i].active || Main.popupText[i].notActuallyAnItem || (!(Main.popupText[i].name == newItem.AffixName()) && (!flag || !Main.popupText[i].coinText)) || Main.popupText[i].NoStack || noStack)
                {
                    continue;
                }
                string text  = newItem.Name + " (" + (Main.popupText[i].stack + stack) + ")";
                string text2 = newItem.Name;
                if (Main.popupText[i].stack > 1)
                {
                    text2 = text2 + " (" + Main.popupText[i].stack + ")";
                }
                Vector2 vector = FontAssets.MouseText.Value.MeasureString(text2);
                vector = FontAssets.MouseText.Value.MeasureString(text);
                if (Main.popupText[i].lifeTime < 0)
                {
                    Main.popupText[i].scale = 1f;
                }
                if (Main.popupText[i].lifeTime < 60)
                {
                    Main.popupText[i].lifeTime = 60;
                }
                if (flag && Main.popupText[i].coinText)
                {
                    int num = 0;
                    if (newItem.type == 71)
                    {
                        num += stack;
                    }
                    else if (newItem.type == 72)
                    {
                        num += 100 * stack;
                    }
                    else if (newItem.type == 73)
                    {
                        num += 10000 * stack;
                    }
                    else if (newItem.type == 74)
                    {
                        num += 1000000 * stack;
                    }
                    Main.popupText[i].coinValue += num;
                    text   = ValueToName(Main.popupText[i].coinValue);
                    vector = FontAssets.MouseText.Value.MeasureString(text);
                    Main.popupText[i].name = text;
                    if (Main.popupText[i].coinValue >= 1000000)
                    {
                        if (Main.popupText[i].lifeTime < 300)
                        {
                            Main.popupText[i].lifeTime = 300;
                        }
                        Main.popupText[i].color = new Color(220, 220, 198);
                    }
                    else if (Main.popupText[i].coinValue >= 10000)
                    {
                        if (Main.popupText[i].lifeTime < 240)
                        {
                            Main.popupText[i].lifeTime = 240;
                        }
                        Main.popupText[i].color = new Color(224, 201, 92);
                    }
                    else if (Main.popupText[i].coinValue >= 100)
                    {
                        if (Main.popupText[i].lifeTime < 180)
                        {
                            Main.popupText[i].lifeTime = 180;
                        }
                        Main.popupText[i].color = new Color(181, 192, 193);
                    }
                    else if (Main.popupText[i].coinValue >= 1)
                    {
                        if (Main.popupText[i].lifeTime < 120)
                        {
                            Main.popupText[i].lifeTime = 120;
                        }
                        Main.popupText[i].color = new Color(246, 138, 96);
                    }
                }
                Main.popupText[i].stack     += stack;
                Main.popupText[i].scale      = 0f;
                Main.popupText[i].rotation   = 0f;
                Main.popupText[i].position.X = newItem.position.X + (float)newItem.width * 0.5f - vector.X * 0.5f;
                Main.popupText[i].position.Y = newItem.position.Y + (float)newItem.height * 0.25f - vector.Y * 0.5f;
                Main.popupText[i].velocity.Y = -7f;
                Main.popupText[i].context    = context;
                Main.popupText[i].npcNetID   = 0;
                if (Main.popupText[i].coinText)
                {
                    Main.popupText[i].stack = 1;
                }
                return(i);
            }
            int num2 = FindNextItemTextSlot();

            if (num2 >= 0)
            {
                string text3 = newItem.AffixName();
                if (stack > 1)
                {
                    text3 = text3 + " (" + stack + ")";
                }
                Vector2 vector2 = FontAssets.MouseText.Value.MeasureString(text3);
                Main.popupText[num2].alpha      = 1f;
                Main.popupText[num2].alphaDir   = -1;
                Main.popupText[num2].active     = true;
                Main.popupText[num2].scale      = 0f;
                Main.popupText[num2].NoStack    = noStack;
                Main.popupText[num2].rotation   = 0f;
                Main.popupText[num2].position.X = newItem.position.X + (float)newItem.width * 0.5f - vector2.X * 0.5f;
                Main.popupText[num2].position.Y = newItem.position.Y + (float)newItem.height * 0.25f - vector2.Y * 0.5f;
                Main.popupText[num2].color      = Color.White;
                Main.popupText[num2].master     = false;
                if (newItem.rare == 1)
                {
                    Main.popupText[num2].color = new Color(150, 150, 255);
                }
                else if (newItem.rare == 2)
                {
                    Main.popupText[num2].color = new Color(150, 255, 150);
                }
                else if (newItem.rare == 3)
                {
                    Main.popupText[num2].color = new Color(255, 200, 150);
                }
                else if (newItem.rare == 4)
                {
                    Main.popupText[num2].color = new Color(255, 150, 150);
                }
                else if (newItem.rare == 5)
                {
                    Main.popupText[num2].color = new Color(255, 150, 255);
                }
                else if (newItem.rare == -13)
                {
                    Main.popupText[num2].master = true;
                }
                else if (newItem.rare == -11)
                {
                    Main.popupText[num2].color = new Color(255, 175, 0);
                }
                else if (newItem.rare == -1)
                {
                    Main.popupText[num2].color = new Color(130, 130, 130);
                }
                else if (newItem.rare == 6)
                {
                    Main.popupText[num2].color = new Color(210, 160, 255);
                }
                else if (newItem.rare == 7)
                {
                    Main.popupText[num2].color = new Color(150, 255, 10);
                }
                else if (newItem.rare == 8)
                {
                    Main.popupText[num2].color = new Color(255, 255, 10);
                }
                else if (newItem.rare == 9)
                {
                    Main.popupText[num2].color = new Color(5, 200, 255);
                }
                else if (newItem.rare == 10)
                {
                    Main.popupText[num2].color = new Color(255, 40, 100);
                }
                else if (newItem.rare >= 11)
                {
                    Main.popupText[num2].color = new Color(180, 40, 255);
                }
                Main.popupText[num2].expert     = newItem.expert;
                Main.popupText[num2].name       = newItem.AffixName();
                Main.popupText[num2].stack      = stack;
                Main.popupText[num2].velocity.Y = -7f;
                Main.popupText[num2].lifeTime   = 60;
                Main.popupText[num2].context    = context;
                Main.popupText[num2].npcNetID   = 0;
                if (longText)
                {
                    Main.popupText[num2].lifeTime *= 5;
                }
                Main.popupText[num2].coinValue = 0;
                Main.popupText[num2].coinText  = newItem.type >= 71 && newItem.type <= 74;
                if (Main.popupText[num2].coinText)
                {
                    if (newItem.type == 71)
                    {
                        Main.popupText[num2].coinValue += Main.popupText[num2].stack;
                    }
                    else if (newItem.type == 72)
                    {
                        Main.popupText[num2].coinValue += 100 * Main.popupText[num2].stack;
                    }
                    else if (newItem.type == 73)
                    {
                        Main.popupText[num2].coinValue += 10000 * Main.popupText[num2].stack;
                    }
                    else if (newItem.type == 74)
                    {
                        Main.popupText[num2].coinValue += 1000000 * Main.popupText[num2].stack;
                    }
                    Main.popupText[num2].ValueToName();
                    Main.popupText[num2].stack = 1;
                    int num3 = num2;
                    if (Main.popupText[num3].coinValue >= 1000000)
                    {
                        if (Main.popupText[num3].lifeTime < 300)
                        {
                            Main.popupText[num3].lifeTime = 300;
                        }
                        Main.popupText[num3].color = new Color(220, 220, 198);
                    }
                    else if (Main.popupText[num3].coinValue >= 10000)
                    {
                        if (Main.popupText[num3].lifeTime < 240)
                        {
                            Main.popupText[num3].lifeTime = 240;
                        }
                        Main.popupText[num3].color = new Color(224, 201, 92);
                    }
                    else if (Main.popupText[num3].coinValue >= 100)
                    {
                        if (Main.popupText[num3].lifeTime < 180)
                        {
                            Main.popupText[num3].lifeTime = 180;
                        }
                        Main.popupText[num3].color = new Color(181, 192, 193);
                    }
                    else if (Main.popupText[num3].coinValue >= 1)
                    {
                        if (Main.popupText[num3].lifeTime < 120)
                        {
                            Main.popupText[num3].lifeTime = 120;
                        }
                        Main.popupText[num3].color = new Color(246, 138, 96);
                    }
                }
            }
            return(num2);
        }
Exemplo n.º 4
0
        public static int NewText(PopupTextContext context, Item bag, Item newItem, int stack, bool noStack = false, bool longText = false)
        {
            if (!Main.showItemText || newItem.Name is null || !newItem.active || Main.netMode == NetmodeID.Server)
            {
                return(-1);
            }

            bool isCoin = newItem.IsACoin;

            for (int i = 0; i < 20; i++)
            {
                PopupText popupText = Main.popupText[i];
                if (!popupText.active || popupText.notActuallyAnItem || ItemTextBags[i] != bag || (popupText.name != newItem.AffixName() && (!isCoin || !popupText.coinText)) || popupText.NoStack || noStack)
                {
                    continue;
                }

                string text = $"{newItem.Name} ({popupText.stack + stack})";

                Vector2 size = FontAssets.MouseText.Value.MeasureString(text) + new Vector2(24f, 0f);
                if (popupText.lifeTime < 0)
                {
                    popupText.scale = 1f;
                }

                if (popupText.lifeTime < 60)
                {
                    popupText.lifeTime = 60;
                }

                if (isCoin && popupText.coinText)
                {
                    int num = 0;
                    if (newItem.type == ItemID.CopperCoin)
                    {
                        num += stack;
                    }
                    else if (newItem.type == ItemID.SilverCoin)
                    {
                        num += 100 * stack;
                    }
                    else if (newItem.type == ItemID.GoldCoin)
                    {
                        num += 10000 * stack;
                    }
                    else if (newItem.type == ItemID.PlatinumCoin)
                    {
                        num += 1000000 * stack;
                    }

                    popupText.coinValue += num;
                    text           = PopupText.ValueToName(popupText.coinValue);
                    size           = FontAssets.MouseText.Value.MeasureString(text) + new Vector2(24f, 0f);
                    popupText.name = text;
                    if (popupText.coinValue >= 1000000)
                    {
                        if (popupText.lifeTime < 300)
                        {
                            popupText.lifeTime = 300;
                        }

                        popupText.color = new Color(220, 220, 198);
                    }
                    else if (popupText.coinValue >= 10000)
                    {
                        if (popupText.lifeTime < 240)
                        {
                            popupText.lifeTime = 240;
                        }

                        popupText.color = new Color(224, 201, 92);
                    }
                    else if (popupText.coinValue >= 100)
                    {
                        if (popupText.lifeTime < 180)
                        {
                            popupText.lifeTime = 180;
                        }

                        popupText.color = new Color(181, 192, 193);
                    }
                    else if (popupText.coinValue >= 1)
                    {
                        if (popupText.lifeTime < 120)
                        {
                            popupText.lifeTime = 120;
                        }

                        popupText.color = new Color(246, 138, 96);
                    }
                }

                popupText.stack     += stack;
                popupText.scale      = 0f;
                popupText.rotation   = 0f;
                popupText.position.X = newItem.position.X + newItem.width * 0.5f - size.X * 0.5f;
                popupText.position.Y = newItem.position.Y + newItem.height * 0.25f - size.Y * 0.5f;
                popupText.velocity.Y = -7f;
                popupText.context    = context;
                popupText.npcNetID   = 0;
                if (popupText.coinText)
                {
                    popupText.stack = 1;
                }

                return(i);
            }

            int slotIndex = FindNextItemTextSlot.InvokeStatic <int>();

            if (slotIndex >= 0)
            {
                string text3 = newItem.AffixName();
                if (stack > 1)
                {
                    text3 = text3 + " (" + stack + ")";
                }

                Vector2   size      = FontAssets.MouseText.Value.MeasureString(text3) + new Vector2(24f, 0f);
                PopupText popupText = Main.popupText[slotIndex];
                PopupText.ResetText(popupText);
                popupText.active     = true;
                popupText.position.X = newItem.position.X + newItem.width * 0.5f - size.X * 0.5f;
                popupText.position.Y = newItem.position.Y + newItem.height * 0.25f - size.Y * 0.5f;

                popupText.color = Color.White;
                if (newItem.rare == ItemRarityID.Blue)
                {
                    popupText.color = new Color(150, 150, 255);
                }
                else if (newItem.rare == ItemRarityID.Green)
                {
                    popupText.color = new Color(150, 255, 150);
                }
                else if (newItem.rare == ItemRarityID.Orange)
                {
                    popupText.color = new Color(255, 200, 150);
                }
                else if (newItem.rare == ItemRarityID.LightRed)
                {
                    popupText.color = new Color(255, 150, 150);
                }
                else if (newItem.rare == ItemRarityID.Pink)
                {
                    popupText.color = new Color(255, 150, 255);
                }
                else if (newItem.rare == ItemRarityID.Master)
                {
                    popupText.master = true;
                }
                else if (newItem.rare == ItemRarityID.Quest)
                {
                    popupText.color = new Color(255, 175, 0);
                }
                else if (newItem.rare == ItemRarityID.Gray)
                {
                    popupText.color = new Color(130, 130, 130);
                }
                else if (newItem.rare == ItemRarityID.LightPurple)
                {
                    popupText.color = new Color(210, 160, 255);
                }
                else if (newItem.rare == ItemRarityID.Lime)
                {
                    popupText.color = new Color(150, 255, 10);
                }
                else if (newItem.rare == ItemRarityID.Yellow)
                {
                    popupText.color = new Color(255, 255, 10);
                }
                else if (newItem.rare == ItemRarityID.Cyan)
                {
                    popupText.color = new Color(5, 200, 255);
                }
                else if (newItem.rare == ItemRarityID.Red)
                {
                    popupText.color = new Color(255, 40, 100);
                }
                else if (newItem.rare == ItemRarityID.Purple)
                {
                    popupText.color = new Color(180, 40, 255);
                }
                else if (newItem.rare >= ItemRarityID.Count)
                {
                    popupText.color = GetRarity.InvokeStatic <ModRarity>(newItem.rare).RarityColor;
                }

                ItemTextBags[slotIndex] = bag;
                popupText.rarity        = newItem.rare;
                popupText.expert        = newItem.expert;
                popupText.master        = newItem.master;
                popupText.name          = newItem.AffixName();
                popupText.stack         = stack;
                popupText.velocity.Y    = -7f;
                popupText.lifeTime      = 60;
                popupText.context       = context;
                if (longText)
                {
                    popupText.lifeTime *= 5;
                }

                popupText.coinValue = 0;
                popupText.coinText  = newItem.type is >= ItemID.CopperCoin and <= ItemID.PlatinumCoin;
                if (popupText.coinText)
                {
                    if (newItem.type == ItemID.CopperCoin)
                    {
                        popupText.coinValue += popupText.stack;
                    }
                    else if (newItem.type == ItemID.SilverCoin)
                    {
                        popupText.coinValue += 100 * popupText.stack;
                    }
                    else if (newItem.type == ItemID.GoldCoin)
                    {
                        popupText.coinValue += 10000 * popupText.stack;
                    }
                    else if (newItem.type == ItemID.PlatinumCoin)
                    {
                        popupText.coinValue += 1000000 * popupText.stack;
                    }

                    popupText.stack = 1;
                    if (popupText.coinValue >= 1000000)
                    {
                        if (popupText.lifeTime < 300)
                        {
                            popupText.lifeTime = 300;
                        }

                        popupText.color = new Color(220, 220, 198);
                    }
                    else if (popupText.coinValue >= 10000)
                    {
                        if (popupText.lifeTime < 240)
                        {
                            popupText.lifeTime = 240;
                        }

                        popupText.color = new Color(224, 201, 92);
                    }
                    else if (popupText.coinValue >= 100)
                    {
                        if (popupText.lifeTime < 180)
                        {
                            popupText.lifeTime = 180;
                        }

                        popupText.color = new Color(181, 192, 193);
                    }
                    else if (popupText.coinValue >= 1)
                    {
                        if (popupText.lifeTime < 120)
                        {
                            popupText.lifeTime = 120;
                        }

                        popupText.color = new Color(246, 138, 96);
                    }
                }
            }

            return(slotIndex);
        }