What's new
  • Visit Rebornbuddy
  • Visit Resources
  • Visit API Documentation
  • Visit Downloads
  • Visit Portal
  • Visit Panda Profiles
  • Visit LLamamMagic

[bug report] upgrade gems (highest rank first) in Questtools

apollogg

Member
Joined
Apr 12, 2015
Messages
101
Reaction score
2
I find a small bug when upgrading gems (highest rank first) in Questtools.
My gogok of swiftness is already max to level 50. Impossible to upgrade to 51. But when I check "upgrade highest rank Gem" in Questtools, the Bot always try to upgrade the gogok of swiftness again and again.

Could we ignore upgrading the gems already at max level?
 
Isn't that the only one that has a max level?

Id say why don't you just order the gems how you would want them to be upgraded and set it to 10% so it'll just keep going until that, and put Gogok at the bottom.
 
Isn't that the only one that has a max level?

Id say why don't you just order the gems how you would want them to be upgraded and set it to 10% so it'll just keep going until that, and put Gogok at the bottom.

Iceblink is 50 max as well.
Ordering them doesn't work for me, cause i have all at 50+ and the upgrade chance is never above 10%. So this is definitely a QuestTools Bug.
 
A workaround that will always upgrade random gems:

Update QuestTools\ProfileTags\CompleteGreaterRiftTag.cs lines 193 - 228:
- comment out the whole if-block, keep the else-block itself
- (obviously) comment out the closing } of the else block
- change int i to int j and i to j in the next line

Code for easy copy + paste if you want to:
Code:
                /*if (bestGem != null && await CommonCoroutines.AttemptUpgradeGem(bestGem))
                {
                    await Coroutine.Sleep(250);
                    GameUI.SafeClickElement(VendorCloseButton, "Vendor Window Close Button");
                    await Coroutine.Yield();
                    return true;
                }
                else
                {*/
                    /*
                     * Demonbuddy MAY randomly fail to upgrade the selected gem. This is a workaround, in case we get stuck...
                     */

                    var randomGems = ZetaDia.Actors.GetActorsOfType<ACDItem>()
                                        .Where(item => item.ItemType == ItemType.LegendaryGem)
                                        .OrderBy(item => item.JewelRank).ToList();

                    Random random = new Random(DateTime.UtcNow.Millisecond);
                    int j = random.Next(0, randomGems.Count - 1);

                    var randomGem = randomGems.ElementAtOrDefault(j);
                    if (randomGem == null)
                    {
                        Logger.Error("Error: No gems found");
                        return false;
                    }

                    Logger.Error("Gem Upgrade failed! Upgrading random Gem {0} ({1}) - {2:##.##}% {3} ", randomGem.Name, randomGem.JewelRank, GetUpgradeChance(randomGem) * 100, IsGemEquipped(randomGem) ? "Equipped" : string.Empty);

                    if (!await CommonCoroutines.AttemptUpgradeGem(randomGem))
                    {
                        Logger.Error("Random gem upgrade also failed. Something... seriously... wrong... ");
                    }

                    return true;
                //}
 
Back
Top