private static void SetTokens(bool forceLog)
        {
            inventoryProcessor.ParseInventory();
            var newMarks        = inventoryProcessor.MarksOfValor;
            var newGoldfinger   = inventoryProcessor.GoldfingerTokens;
            var newDragonScales = inventoryProcessor.DragonwingScales;

            bool marks  = false;
            bool gft    = false;
            bool scales = false;

            if (CurrentChar.MarksOfValor != newMarks)
            {
                marks = true;
                var col = GetColor(CurrentChar.MarksOfValor, newMarks);

                CurrentChar.MarksOfValor = newMarks;

                if (CurrentChar.MarksOfValor > 82)
                {
                    UI.UpdateLog("You've almost reached the maximum amount of Elleon's Marks of Valor.");
                    UI.SendNotification("Your Elleon's Marks of Valor amount is close to the maximum (" + CurrentChar.MarksOfValor + ").", NotificationImage.Marks, NotificationType.Standard, TCTData.Colors.SolidOrange, true, true, false);
                }
                else
                {
                    UI.SendNotification(newMarks.ToString(), NotificationImage.Marks, NotificationType.Counter, col, true, false, true);
                }
            }

            if (CurrentChar.GoldfingerTokens != newGoldfinger)
            {
                gft = true;
                var col = GetColor(CurrentChar.GoldfingerTokens, newGoldfinger);

                CurrentChar.GoldfingerTokens = newGoldfinger;

                if (CurrentChar.GoldfingerTokens >= 80)
                {
                    UI.UpdateLog("You have " + newGoldfinger + " Goldfinger Tokens.");
                    UI.SendNotification("You have " + CurrentChar.GoldfingerTokens + " Goldfinger Tokens. You can buy a Laundry Box.", NotificationImage.Goldfinger, NotificationType.Standard, TCTData.Colors.BrightGreen, true, true, false);
                }
                else
                {
                    UI.SendNotification(newGoldfinger.ToString(), NotificationImage.Goldfinger, NotificationType.Counter, col, true, false, true);
                }
            }
            if (CurrentChar.DragonwingScales != newDragonScales)
            {
                scales = true;
                var col = GetColor(CurrentChar.DragonwingScales, newDragonScales);

                CurrentChar.DragonwingScales = newDragonScales;

                if (CurrentChar.DragonwingScales >= 50)
                {
                    UI.UpdateLog("You have " + newDragonScales + " Dragonwing Scales.");
                    UI.SendNotification("You have " + CurrentChar.DragonwingScales + " Dragonwing Scales. You can buy a Dragon Egg.", NotificationImage.Scales, NotificationType.Standard, TCTData.Colors.BrightGreen, true, true, false);
                }
                else
                {
                    UI.SendNotification(newDragonScales.ToString(), NotificationImage.Scales, NotificationType.Counter, col, true, false, true);
                }
            }
            inventoryProcessor.Clear();

            if (marks || gft || scales || forceLog)
            {
                UI.UpdateLog(currentCharName + " > inventory data updated (" + CurrentChar.MarksOfValor + " Elleon's Marks of Valor, " + CurrentChar.GoldfingerTokens + " Goldfinger Tokens, " + CurrentChar.DragonwingScales + " Dragonwing Scales).");
            }

            UpdateLastOnline();
        }