public override void Load(IController hud) { base.Load(hud); var expandedHintFont = Hud.Render.CreateFont("tahoma", 7, 255, 200, 200, 200, true, false, true); var expandedHintWidthMultiplier = 3; LabelList = new HorizontalTopLabelList(hud); LabelList.LeftFunc = () => { var ui = Hud.Render.GetUiElement("Root.NormalLayer.game_dialog_backgroundScreenPC.game_window_hud_overlay"); return(ui.Rectangle.Left + ui.Rectangle.Width * 0.267f); }; LabelList.TopFunc = () => { var ui = Hud.Render.GetUiElement("Root.NormalLayer.game_dialog_backgroundScreenPC.game_window_hud_overlay"); return(ui.Rectangle.Top + ui.Rectangle.Height * 0.318f); }; LabelList.WidthFunc = () => { var ui = Hud.Render.GetUiElement("Root.NormalLayer.game_dialog_backgroundScreenPC.game_window_hud_overlay"); return(Hud.Window.Size.Height * 0.0621f); }; LabelList.HeightFunc = () => { var ui = Hud.Render.GetUiElement("Root.NormalLayer.game_dialog_backgroundScreenPC.game_window_hud_overlay"); return(Hud.Window.Size.Height * 0.025f); }; /// added // value_format can be 'dyn', 'F0', 'F1' /* add Flying Dragon buff in exp bar * * Hud.RunOnPlugin<AttributeLabelListPlugin>(plugin => * { * var dpsDecorator = plugin.LabelList.LabelDecorators[2]; * dpsDecorator.TextFunc = () => * { * var dps = Hud.Game.Me.Offense.SheetDps * (Hud.Game.Me.Powers.BuffIsActive(246562, 1) ? 2 : 1); * return ValueToString(dps, ValueFormat.ShortNumber); * }; * var apsDecorator = plugin.LabelList.LabelDecorators[3]; * apsDecorator.TextFunc = () => * { * var aps = Hud.Game.Me.Offense.AttackSpeed * (Hud.Game.Me.Powers.BuffIsActive(246562, 1) ? 2 : 1); * return aps.ToString("F2", System.Globalization.CultureInfo.InvariantCulture) + "/s"; * }; * }); */ // movement 1 LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.70f, TextFunc = () => (Hud.Game.Me.Stats.MoveSpeed).ToString("F1", CultureInfo.InvariantCulture) + "%", HintFunc = () => "Move Speed Total", ExpandUpLabels = new List <TopLabelDecorator>() { /* new TopLabelDecorator(Hud) * { * TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), * ExpandedHintFont = expandedHintFont, * ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, * BackgroundTexture1 = Hud.Texture.ButtonTextureGray, * BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, * BackgroundTextureOpacity2 = 1.0f, * TextFunc = () => (Hud.Game.Me.Stats.MoveSpeed - Hud.Game.Me.Stats.MoveSpeedBonus - 100).ToString("F1", CultureInfo.InvariantCulture) + "%", * HintFunc = () => "Move Speed Base", * }, */ /* new TopLabelDecorator(Hud) * { * TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), * ExpandedHintFont = expandedHintFont, * ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, * BackgroundTexture1 = Hud.Texture.ButtonTextureGray, * BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, * BackgroundTextureOpacity2 = 1.0f, * TextFunc = () => (Hud.Game.Me.Stats.MoveSpeedBonus + 100).ToString("F1", CultureInfo.InvariantCulture) + "%", * HintFunc = () => "Move Speed Bonus", * }, */ } }); // defense 2 LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 0.70f, TextFunc = () => ValueToString(Hud.Game.Me.Defense.EhpCur, ValueFormat.ShortNumber), HintFunc = () => "EHP Current", ExpandUpLabels = new List <TopLabelDecorator>() { new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 1.0f, TextFunc = () => ValueToString(Hud.Game.Me.Defense.EhpMax, ValueFormat.ShortNumber), HintFunc = () => "EHP Max", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 1.0f, TextFunc = () => Hud.Game.Me.Defense.ResAverage.ToString("#,0", CultureInfo.InvariantCulture), HintFunc = () => "Average Resist", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 1.0f, TextFunc = () => Hud.Game.Me.Defense.Armor.ToString("#,0", CultureInfo.InvariantCulture), HintFunc = () => "Armor", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 1.0f, TextFunc = () => (Hud.Game.Me.Defense.drCombined * 100).ToString("F1", CultureInfo.InvariantCulture), HintFunc = () => "Damage Reduction", }, } }); // ias 3 LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureYellow, BackgroundTextureOpacity2 = 0.3f, // TextFunc = () => Hud.Game.Me.Offense.AttackSpeed.ToString("F2", CultureInfo.InvariantCulture) + "/s", //jack's edit to include Flying Dragon staff buff TextFunc = () => { var aps = Hud.Game.Me.Offense.AttackSpeed * (Hud.Game.Me.Powers.BuffIsActive(246562, 1) ? 2 : 1); return(aps.ToString("F2", System.Globalization.CultureInfo.InvariantCulture) + "/s"); }, HintFunc = () => "Attack Speed Per Sec", ExpandUpLabels = new List <TopLabelDecorator>() { new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureOrange, BackgroundTextureOpacity2 = 0.75f, // TextFunc = () => ValueToString(Hud.Game.Me.Offense.SheetDps, ValueFormat.ShortNumber), //jack's edit to include Flying Dragon staff buff TextFunc = () => { var dps = Hud.Game.Me.Offense.SheetDps * (Hud.Game.Me.Powers.BuffIsActive(246562, 1) ? 2 : 1); return(BasePlugin.ValueToString(dps, ValueFormat.ShortNumber)); }, HintFunc = () => "Sheet DPS", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureOrange, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => ValueToString(Hud.Game.Me.Offense.MainHandIsActive ? Hud.Game.Me.Offense.WeaponDamageMainHand : Hud.Game.Me.Offense.WeaponDamageSecondHand, ValueFormat.ShortNumber), HintFunc = () => "Weapon Damage", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureYellow, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Offense.AttackSpeedPets.ToString("F2", CultureInfo.InvariantCulture) + "/s", HintFunc = () => "Pet Attack Speed Per Sec", } } }); // chc 4 LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 0.3f, TextFunc = () => Hud.Game.Me.Offense.CriticalHitChance.ToString("F1", CultureInfo.InvariantCulture) + "%", HintFunc = () => "Crit Hit Chance", ExpandUpLabels = new List <TopLabelDecorator>() { new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Offense.CritDamage.ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "Crit Hit Damage", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 200, 200, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Offense.AreaDamageBonus.ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "Area Damage Bonus", } } }); ////////////////////// // dps 5 LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => ValueToString(Hud.Game.Me.Damage.CurrentDps, ValueFormat.LongNumber), HintFunc = () => "Current DPS", ExpandUpLabels = new List <TopLabelDecorator>() { new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 200, 200, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => ValueToString(Hud.Game.Me.Damage.MaximumDps, ValueFormat.LongNumber), HintFunc = () => "Maximum DPS", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 200, 200, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => ValueToString(Hud.Game.Me.Damage.TotalDamage, ValueFormat.ShortNumber), HintFunc = () => "Total Damage", }, } }); // dps 6 LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 255, 255, true, false, true), BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.7f, TextFunc = () => ValueToString(Hud.Game.Me.Damage.RunDps, ValueFormat.LongNumber), HintFunc = () => "Average DPS", }); ////////////////////// // cdr 7 LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 200, 200, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => (Hud.Game.Me.Stats.CooldownReduction * 100).ToString("F1", CultureInfo.InvariantCulture) + "%", HintFunc = () => "Cooldown Reduction", ExpandUpLabels = new List <TopLabelDecorator>() { new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 200, 200, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => (Hud.Game.Me.Stats.ResourceCostReduction * 100).ToString("F1", CultureInfo.InvariantCulture) + "%", HintFunc = () => "Resource Cost Reduction", }, } }); // rcr 8 LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 200, 200, true, false, true), BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => (Hud.Game.Me.Stats.ResourceCostReduction * 100).ToString("F1", CultureInfo.InvariantCulture) + "%", HintFunc = () => "Resource Cost Reduction", }); // misc 9 LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 200, 200, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Stats.PickupRange.ToString("F0", CultureInfo.InvariantCulture), HintFunc = () => "Pickup Range", ExpandUpLabels = new List <TopLabelDecorator>() { new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 200, 200, false, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => (Hud.Game.Me.Stats.GoldFind).ToString("#,0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "Gold Find", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 200, 200, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => (Hud.Game.Me.Stats.MagicFind).ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "Magic Find", }, } }); // exp 10 LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 200, 200, false, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => ValueToString(Hud.Game.ExperiencePerHourToday, ValueFormat.ShortNumber) + "/h", HintFunc = () => "Exp Per Hour Today", ExpandUpLabels = new List <TopLabelDecorator>() { new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 200, 200, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => (Hud.Game.Me.Stats.ExperiencePercentBonus * 100).ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "Bonus Exp", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 200, 200, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Stats.ExpOnKill.ToString("F0", CultureInfo.InvariantCulture), HintFunc = () => "Exp On Kill", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 200, 200, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Stats.ExperienceOnKillBonus.ToString("F0", CultureInfo.InvariantCulture), HintFunc = () => "Exp On Kill (Bonus)", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 230, 255, 200, 200, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = expandedHintWidthMultiplier, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Stats.ExpOnKillNoPenalty.ToString("F0", CultureInfo.InvariantCulture), HintFunc = () => "Exp On Kill (No Penalty)", }, } }); }
public override void Load(IController hud) { base.Load(hud); var expandedHintFont = Hud.Render.CreateFont("tahoma", 7, 255, 200, 200, 200, false, false, true); LabelList = new HorizontalTopLabelList(hud); LabelList.LeftFunc = () => { var ui = Hud.Render.GetUiElement("Root.NormalLayer.game_dialog_backgroundScreenPC.game_window_hud_overlay"); return(ui.Rectangle.Left + ui.Rectangle.Width * 0.267f); }; LabelList.TopFunc = () => { var ui = Hud.Render.GetUiElement("Root.NormalLayer.game_dialog_backgroundScreenPC.game_window_hud_overlay"); return(ui.Rectangle.Top + ui.Rectangle.Height * 0.318f); }; LabelList.WidthFunc = () => { var ui = Hud.Render.GetUiElement("Root.NormalLayer.game_dialog_backgroundScreenPC.game_window_hud_overlay"); return(Hud.Window.Size.Height * 0.07f); }; LabelList.HeightFunc = () => { var ui = Hud.Render.GetUiElement("Root.NormalLayer.game_dialog_backgroundScreenPC.game_window_hud_overlay"); return(Hud.Window.Size.Height * 0.025f); }; LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 0.70f, TextFunc = () => GLQ_BasePluginCN.ValueToString(Hud.Game.Me.Defense.EhpMax, ValueFormat.ShortNumber), HintFunc = () => "最大坚韧", ExpandUpLabels = new List <TopLabelDecorator>() { new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 1.0f, TextFunc = () => (Hud.Game.Me.Defense.drCombined * 100).ToString("F1", CultureInfo.InvariantCulture) + "%", HintFunc = () => "总减免", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 1.0f, TextFunc = () => (Hud.Game.Me.Defense.drArmor * 100).ToString("F1", CultureInfo.InvariantCulture) + "%", HintFunc = () => "护甲减伤", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 1.0f, TextFunc = () => Hud.Game.Me.Defense.Armor.ToString("#,0", CultureInfo.InvariantCulture), HintFunc = () => "护甲", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 1.0f, TextFunc = () => (Hud.Game.Me.Defense.drResist * 100).ToString("F1", CultureInfo.InvariantCulture) + "%", HintFunc = () => "抗性减伤", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 1.0f, TextFunc = () => Hud.Game.Me.Defense.ResAverage.ToString("#,0", CultureInfo.InvariantCulture), HintFunc = () => "平均抗性", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 1.0f, TextFunc = () => (Hud.Game.Me.Defense.DRElite * 100).ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "精英减伤", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 1.0f, TextFunc = () => (Hud.Game.Me.Defense.DRMelee * 100).ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "近战减伤", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureGray, BackgroundTexture2 = Hud.Texture.BackgroundTextureGreen, BackgroundTextureOpacity2 = 1.0f, TextFunc = () => (Hud.Game.Me.Defense.DRRanged * 100).ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "远程减伤", } } }); LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureOrange, BackgroundTextureOpacity2 = 0.5f, TextFunc = () => GLQ_BasePluginCN.ValueToString(Hud.Game.Me.Offense.SheetDps, ValueFormat.ShortNumber), HintFunc = () => "面板伤害", ExpandUpLabels = new List <TopLabelDecorator>() { new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, false, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureYellow, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => GLQ_BasePluginCN.ValueToString(Hud.Game.Me.Offense.MainHandIsActive ? Hud.Game.Me.Offense.WeaponDamageMainHand : Hud.Game.Me.Offense.WeaponDamageSecondHand, ValueFormat.ShortNumber), HintFunc = () => "武器伤害", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, false, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureYellow, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Offense.AttackSpeedPets.ToString("F2", CultureInfo.InvariantCulture) + "/秒", HintFunc = () => "宠物攻速", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, false, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureYellow, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Offense.AttackSpeed.ToString("F2", CultureInfo.InvariantCulture) + "/秒", HintFunc = () => "攻击速度", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, false, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureYellow, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Offense.CriticalHitChance.ToString("F1", CultureInfo.InvariantCulture) + "%", HintFunc = () => "暴击几率", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, false, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureYellow, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Offense.CritDamage.ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "爆击伤害", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, false, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureYellow, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => (Hud.Game.Me.Offense.BonusToElites * 100).ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "精英伤害", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, false, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureYellow, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => (Hud.Game.Me.Offense.HighestElementalDamageBonus * 100).ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "最高元素", } } }); LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 120, 255, 255, 255, false, false, true), BackgroundTexture1 = Hud.Texture.ButtonTextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureOrange, BackgroundTextureOpacity2 = 0.5f, TextFunc = () => Hud.Game.Me.Offense.AttackSpeedPets.ToString("F2", CultureInfo.InvariantCulture) + "/秒", HintFunc = () => "宠物攻击速度", }); LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 200, 128, 255, 255, true, false, true), BackgroundTexture1 = Hud.Texture.BuffFrameTexture, BackgroundTexture2 = Hud.Texture.Button2TextureGray, BackgroundTextureOpacity2 = 1f, TextFunc = () => GLQ_BasePluginCN.ValueToString(Hud.Game.Me.Damage.CurrentDps, ValueFormat.LongNumber), HintFunc = () => "当前秒伤", }); LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 200, 255, 255, 255, true, false, true), BackgroundTexture1 = Hud.Texture.BuffFrameTexture, BackgroundTexture2 = Hud.Texture.Button2TextureBrown, BackgroundTextureOpacity2 = 1f, TextFunc = () => GLQ_BasePluginCN.ValueToString(Hud.Game.Me.Damage.RunDps, ValueFormat.LongNumber), HintFunc = () => "平均秒伤", }); LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 200, 255, 255, 128, true, false, true), BackgroundTexture1 = Hud.Texture.BuffFrameTexture, BackgroundTexture2 = Hud.Texture.Button2TextureGray, BackgroundTextureOpacity2 = 1f, TextFunc = () => GLQ_BasePluginCN.ValueToString(Hud.Game.Me.Damage.TotalDamage, ValueFormat.LongNumber), HintFunc = () => "总伤害", }); LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.5f, TextFunc = () => (Hud.Game.Me.Stats.CooldownReduction * 100).ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "冷却时间效果缩短%", ExpandUpLabels = new List <TopLabelDecorator>() { new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, false, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => (Hud.Game.Me.Stats.ResourceCostReduction * 100).ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "能耗降低", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, false, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Defense.LifeRegen.ToString("F0", CultureInfo.InvariantCulture) + "/秒", HintFunc = () => "每秒恢复", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, false, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Stats.MoveSpeed.ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "移动速度", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, false, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Offense.AreaDamageBonus.ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "范围伤害", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, false, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => (Hud.Game.Me.Stats.PickupRange - 5).ToString("F0", CultureInfo.InvariantCulture) + "码", HintFunc = () => "拾取距离", }, new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 180, 255, 255, 255, false, false, true), ExpandedHintFont = expandedHintFont, BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Stats.GoldFind.ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "金币加成", } } }); LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 120, 255, 200, 200, false, false, true), BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => (Hud.Game.Me.Stats.ResourceCostReduction * 100).ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "能量消耗降低%", }); LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 7, 120, 255, 200, 200, false, false, true), BackgroundTexture1 = Hud.Texture.ButtonTextureBlue, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity2 = 0.75f, TextFunc = () => Hud.Game.Me.Stats.MoveSpeed.ToString("F0", CultureInfo.InvariantCulture) + "%", HintFunc = () => "移动速度", }); }
public override void Load(IController hud) { base.Load(hud); var expandedHintFont = Hud.Render.CreateFont("tahoma", 6, 255, 200, 200, 200, false, false, true); LabelList = new HorizontalTopLabelList(hud); LabelList.LeftFunc = () => { return(Hud.Window.Size.Width / 2 - Hud.Window.Size.Height * 0.14f); }; LabelList.TopFunc = () => { return(Hud.Window.Size.Height * 0.001f); }; LabelList.WidthFunc = () => { return(Hud.Window.Size.Height * 0.14f); }; LabelList.HeightFunc = () => { return(Hud.Window.Size.Height * 0.018f); }; var currentLevelDecorator = new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 6, 255, 57, 137, 205, true, false, true), BackgroundTexture1 = Hud.Texture.Button2TextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity1 = 1.0f, BackgroundTextureOpacity2 = 0.5f, TextFunc = () => (Hud.Game.Me.CurrentLevelNormal < Hud.Game.Me.CurrentLevelNormalCap) ? Hud.Game.Me.CurrentLevelNormal.ToString("0") : Hud.Game.Me.CurrentLevelParagonFloat.ToString("0.##", CultureInfo.InvariantCulture) + "级", ExpandDownLabels = new List <TopLabelDecorator>(), }; foreach (var levelIncrement in new uint[] { 1, 2, 5, 10, 20, 50, 100, 250, 500, 1000 }) { currentLevelDecorator.ExpandDownLabels.Add( new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 6, 180, 255, 255, 255, true, false, true), ExpandedHintFont = expandedHintFont, ExpandedHintWidthMultiplier = 2, BackgroundTexture1 = Hud.Texture.Button2TextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity1 = 1.0f, BackgroundTextureOpacity2 = 0.5f, HideBackgroundWhenTextIsEmpty = true, TextFunc = () => Hud.Game.Me.CurrentLevelNormal >= Hud.Game.Me.CurrentLevelNormalCap ? ((Hud.Game.Me.CurrentLevelParagon + levelIncrement).ToString("D", CultureInfo.InvariantCulture) + "级") : null, HintFunc = () => ExpToParagonLevel(Hud.Game.Me.CurrentLevelParagon + levelIncrement) + " = " + TimeToParagonLevel(Hud.Game.Me.CurrentLevelParagon + levelIncrement, false), }); } LabelList.LabelDecorators.Add(currentLevelDecorator); LabelList.LabelDecorators.Add(new TopLabelDecorator(Hud) { TextFont = Hud.Render.CreateFont("tahoma", 6, 255, 57, 137, 205, true, false, true), BackgroundTexture1 = Hud.Texture.Button2TextureOrange, BackgroundTexture2 = Hud.Texture.BackgroundTextureBlue, BackgroundTextureOpacity1 = 1.0f, BackgroundTextureOpacity2 = 0.5f, TextFunc = () => GLQ_BasePluginCN.ValueToString(Hud.Game.CurrentHeroToday.GainedExperiencePerHourPlay, ValueFormat.ShortNumber) + " 经验/小时", }); }