public override void Load(IController hud) { base.Load(hud); ChanceWantedPercentage = 100; NumberOfAttempts = 3; ShadowBrush = Hud.Render.CreateBrush(175, 0, 0, 0, -1.6f); GRupgradeChanceFont = Hud.Render.CreateFont("arial", 7, 255, 0, 0, 0, true, false, false); GRupgradeChanceFont.SetShadowBrush(128, 39, 229, 224, true); GRupgradeNoChanceFont = Hud.Render.CreateFont("arial", 7, 255, 0, 0, 0, true, false, false); GRupgradeNoChanceFont.SetShadowBrush(128, 255, 0, 0, true); LeftFunc = () => { var uicMain = Hud.Inventory.GetHoveredItemMainUiElement(); return(uicMain.Rectangle.X + uicMain.Rectangle.Width * 0.23f); }; TopFunc = () => { var uicTop = Hud.Inventory.GetHoveredItemTopUiElement(); return(uicTop.Rectangle.Bottom + (40f / 1200.0f * Hud.Window.Size.Height)); }; UpgradeFont = Hud.Render.CreateFont("tahoma", 7, 255, 200, 200, 200, false, false, false); UpgradeTextOne = "{2}GR {0}+ for one attempt at a {1}% upgrade chance"; UpgradeText = "{3}GR {0}+ for {1} attempts at a {2}% upgrade chance"; UpgradeTextMax = "{0}Max level!"; }
private void DrawItemChancePercentage(IItem item, System.Drawing.RectangleF rect) { var jewelRank = item.JewelRank; if (jewelRank == -1) { jewelRank = 0; } bool Max = IsMaxedGem(item, jewelRank); var UpgradeGemPanelRect = Hud.Render.GetUiElement("Root.NormalLayer.vendor_dialog_mainPage.riftReward_dialog.LayoutRoot.gemUpgradePane.items_list._content").Rectangle; if (Max) { var layout = GRupgradeNoChanceFont.GetTextLayout("max"); if ((rect.Bottom - layout.Metrics.Height - 3) > UpgradeGemPanelRect.Top && (rect.Bottom - layout.Metrics.Height - 3) < UpgradeGemPanelRect.Bottom) { GRupgradeNoChanceFont.DrawText(layout, rect.Right - layout.Metrics.Width - 3, rect.Bottom - layout.Metrics.Height - 3); } return; } else { uint DatGRlevel = Hud.Game.Me.InGreaterRiftRank; int Diff = (int)(DatGRlevel - jewelRank); if (Diff > 10) { Diff = 10; } else if (Diff < -7) { Diff = -7; } string Percentage = string.Empty; switch (Diff) { case 10: Percentage = "100%"; break; case 9: Percentage = "90%"; break; case 8: Percentage = "80%"; break; case 7: Percentage = "70%"; break; case 6: case 5: case 4: case 3: case 2: case 1: case 0: Percentage = "60%"; break; case -1: Percentage = "30%"; break; case -2: Percentage = "15%"; break; case -3: Percentage = "8%"; break; case -4: Percentage = "4%"; break; case -5: Percentage = "2%"; break; case -6: Percentage = "1%"; break; case -7: Percentage = "0%"; break; } if (Percentage == "0%") { var layout = GRupgradeNoChanceFont.GetTextLayout(Percentage); if ((rect.Bottom - layout.Metrics.Height - 3) > UpgradeGemPanelRect.Top && (rect.Bottom - layout.Metrics.Height - 3) < UpgradeGemPanelRect.Bottom) { GRupgradeNoChanceFont.DrawText(layout, rect.Right - layout.Metrics.Width - 3, rect.Bottom - layout.Metrics.Height - 3); } } else { var layout = GRupgradeChanceFont.GetTextLayout(Percentage); if ((rect.Bottom - layout.Metrics.Height - 3) > UpgradeGemPanelRect.Top && (rect.Bottom - layout.Metrics.Height - 3) < UpgradeGemPanelRect.Bottom) { GRupgradeChanceFont.DrawText(layout, rect.Right - layout.Metrics.Width - 3, rect.Bottom - layout.Metrics.Height - 3); } } } }