public override void Load(IController hud) { base.Load(hud); BuffPainter = new BuffPainter(Hud, true) { Opacity = 0.75f, ShowTimeLeftNumbers = false, ShowTooltips = false, TimeLeftFont = Hud.Render.CreateFont("tahoma", 7, 255, 255, 255, 255, false, false, 255, 0, 0, 0, true), StackFont = Hud.Render.CreateFont("tahoma", 6, 255, 255, 255, 255, false, false, 255, 0, 0, 0, true), }; RuleCalculator = new BuffRuleCalculator(Hud) { SizeMultiplier = 0.75f }; RuleCalculator.Rules.Add(new BuffRule(403471) { IconIndex = null, MinimumIconCount = 1, ShowStacks = true, ShowTimeLeft = true }); // Taeguk RuleCalculator.Rules.Add(new BuffRule(359583) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true }); // Focus RuleCalculator.Rules.Add(new BuffRule(359583) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true }); // Restraint }
public override void Load(IController hud) { base.Load(hud); buffRuleFactory = new BuffRuleFactory(hud); SizeMultiplier = 0.85f; PositionOffset = 0.085f; MePositionOffset = 0.04f; Debug = false; Opacity = 0.85f; RuleCalculatorMe = new BuffRuleCalculator(Hud); RuleCalculatorMe.SizeMultiplier = SizeMultiplier; RuleCalculators = new Dictionary <HeroClass, BuffRuleCalculator>(); foreach (HeroClass h in Enum.GetValues(typeof(HeroClass))) { RuleCalculators.Add(h, new BuffRuleCalculator(Hud)); RuleCalculators[h].SizeMultiplier = SizeMultiplier; } BuffPainter = new BuffPainter(Hud, true) { Opacity = Opacity, ShowTimeLeftNumbers = true, ShowTooltips = Tooltips, TimeLeftFont = Hud.Render.CreateFont("tahoma", 9, 255, 255, 255, 255, false, false, 255, 0, 0, 0, true), StackFont = Hud.Render.CreateFont("tahoma", 6, 255, 255, 255, 255, false, false, 255, 0, 0, 0, true), }; DebugDecorator = new WorldDecoratorCollection( new GroundLabelDecorator(Hud) { BackgroundBrush = Hud.Render.CreateBrush(100, 20, 20, 20, 0), TextFont = Hud.Render.CreateFont("tahoma", 6.5f, 255, 255, 255, 255, false, false, false), } ); }
public void PaintTopInGame(ClipState clipState) { if (clipState != ClipState.BeforeClip) { return; } if (HideWhenUiIsHidden && Hud.Render.UiHidden) { return; } if (!Enabled) { return; } var paintInfoList = GeneratePaintList(); if (paintInfoList == null || paintInfoList.Count == 0) { return; } var x = 0; var y = Hud.Window.Size.Height * 0.25f - Hud.Window.Size.Height * PositionOffset; BuffPainter.PaintHorizontalCenter(paintInfoList, x, y, Hud.Window.Size.Width, ruleCalculatorCoE.StandardIconSize, ruleCalculatorCoE.StandardIconSpacing); }
public void PaintTopInGame(ClipState clipState) { if (Hud.Render.UiHidden) return; if (clipState != ClipState.BeforeClip) return; RuleCalculator.CalculatePaintInfo(Hud.Game.Me); if (RuleCalculator.PaintInfoList.Count == 0) return; var x = Hud.Window.Size.Width * 0.5f + Hud.Window.Size.Height * PositionOffsetX - RuleCalculator.StandardIconSize / 2; var h = Hud.Window.Size.Height * PositionOffsetH; BuffPainter.PaintVerticalCenter(RuleCalculator.PaintInfoList, x, 0, h, RuleCalculator.StandardIconSize, RuleCalculator.StandardIconSpacing); }
public override void Load(IController hud) { base.Load(hud); HideWhenUiIsHidden = false; BuffPainter = new BuffPainter(Hud, true) { Opacity = 1.0f, TimeLeftFont = Hud.Render.CreateFont("tahoma", 10, 255, 255, 255, 255, true, false, 255, 0, 0, 0, true), }; ruleCalculatorCoE = new BuffRuleCalculator(Hud); ruleCalculatorCoE.SizeMultiplier = IconSizeMultiplier; ruleCalculatorCoE.Rules.Add(new BuffRule(ConventionElementID) { IconIndex = 1, MinimumIconCount = 0, DisableName = true }); // Arcane ruleCalculatorCoE.Rules.Add(new BuffRule(ConventionElementID) { IconIndex = 2, MinimumIconCount = 0, DisableName = true }); // Cold ruleCalculatorCoE.Rules.Add(new BuffRule(ConventionElementID) { IconIndex = 3, MinimumIconCount = 0, DisableName = true }); // Fire ruleCalculatorCoE.Rules.Add(new BuffRule(ConventionElementID) { IconIndex = 4, MinimumIconCount = 0, DisableName = true }); // Holy ruleCalculatorCoE.Rules.Add(new BuffRule(ConventionElementID) { IconIndex = 5, MinimumIconCount = 0, DisableName = true }); // Lightning ruleCalculatorCoE.Rules.Add(new BuffRule(ConventionElementID) { IconIndex = 6, MinimumIconCount = 0, DisableName = true }); // Physical ruleCalculatorCoE.Rules.Add(new BuffRule(ConventionElementID) { IconIndex = 7, MinimumIconCount = 0, DisableName = true }); // Poison ruleCalculatorBP = new BuffRuleCalculator(Hud); ruleCalculatorBP.SizeMultiplier = IconSizeMultiplier; ruleCalculatorBP.Rules.Add(new BuffRule(BrokenPromissesID) { IconIndex = 1, MinimumIconCount = 0, DisableName = true }); // Broken Promisses }
public override void Load(IController hud) { base.Load(hud); BuffPainter = new BuffPainter(Hud, true) { Opacity = 0.75f, ShowTimeLeftNumbers = false, ShowTooltips = false, TimeLeftFont = Hud.Render.CreateFont("tahoma", 7, 255, 255, 255, 255, false, false, 255, 0, 0, 0, true), StackFont = Hud.Render.CreateFont("tahoma", 6, 255, 255, 255, 255, false, false, 255, 0, 0, 0, true), }; RuleCalculator = new BuffRuleCalculator(Hud); RuleCalculator.SizeMultiplier = 0.75f; }
public override void Load(IController hud) { base.Load(hud); BuffPainter = new BuffPainter(Hud, true) { Opacity = 0.50f, TimeLeftFont = Hud.Render.CreateFont("tahoma", 5, 160, 255, 255, 255, true, false, 160, 0, 0, 0, true), }; RuleCalculator = new BuffRuleCalculator(Hud) { SizeMultiplier = 0.75f }; RuleCalculator.Rules.Add(new BuffRule(156484) { IconIndex = 1, MinimumIconCount = 1, IconSizeMultiplier = 1.25f, }); // Near Death Experience RuleCalculator.Rules.Add(new BuffRule(208474) { IconIndex = 1, MinimumIconCount = 1, IconSizeMultiplier = 1.25f, }); // Unstable Anomaly RuleCalculator.Rules.Add(new BuffRule(359580) { IconIndex = 1, MinimumIconCount = 1, IconSizeMultiplier = 1.25f, }); // Firebird's Finery RuleCalculator.Rules.Add(new BuffRule(324770) { IconIndex = 1, MinimumIconCount = 1, IconSizeMultiplier = 1.25f, }); // Awareness RuleCalculator.Rules.Add(new BuffRule(218501) { IconIndex = 1, MinimumIconCount = 1, IconSizeMultiplier = 1.25f, }); // Spirit Vessel RuleCalculator.Rules.Add(new BuffRule(309830) { IconIndex = 1, MinimumIconCount = 1, IconSizeMultiplier = 1.25f, }); // Indestructible RuleCalculator.Rules.Add(new BuffRule(217819) { IconIndex = 1, MinimumIconCount = 1, IconSizeMultiplier = 1.25f, }); // Nerves of Steel }
public override void Load(IController hud) { base.Load(hud); HideWhenUiIsHidden = false; BuffPainter = new BuffPainter(Hud, true) { Opacity = 1.0f, TimeLeftFont = Hud.Render.CreateFont("tahoma", 15, 255, 255, 255, 255, true, false, 255, 0, 0, 0, true), }; _ruleCalculator = new BuffRuleCalculator(Hud); _ruleCalculator.SizeMultiplier = 0.75f; _ruleCalculator.Rules.Add(new BuffRule(430674) { IconIndex = 1, MinimumIconCount = 0, DisableName = true }); // Arcane _ruleCalculator.Rules.Add(new BuffRule(430674) { IconIndex = 2, MinimumIconCount = 0, DisableName = true }); // Cold _ruleCalculator.Rules.Add(new BuffRule(430674) { IconIndex = 3, MinimumIconCount = 0, DisableName = true }); // Fire _ruleCalculator.Rules.Add(new BuffRule(430674) { IconIndex = 4, MinimumIconCount = 0, DisableName = true }); // Holy _ruleCalculator.Rules.Add(new BuffRule(430674) { IconIndex = 5, MinimumIconCount = 0, DisableName = true }); // Lightning _ruleCalculator.Rules.Add(new BuffRule(430674) { IconIndex = 6, MinimumIconCount = 0, DisableName = true }); // Physical _ruleCalculator.Rules.Add(new BuffRule(430674) { IconIndex = 7, MinimumIconCount = 0, DisableName = true }); // Poison }
public void PaintTopInGame(ClipState clipState) { if (Hud.Render.UiHidden) { return; } if (clipState != ClipState.BeforeClip) { return; } RuleCalculator.CalculatePaintInfo(Hud.Game.Me); if (RuleCalculator.PaintInfoList.Count == 0) { return; } var y = Hud.Window.Size.Height * 0.5f + Hud.Window.Size.Height * PositionOffset; BuffPainter.PaintHorizontalCenter(RuleCalculator.PaintInfoList, 0, y, Hud.Window.Size.Width, RuleCalculator.StandardIconSize, RuleCalculator.StandardIconSpacing); }
public void PaintTopInGame(ClipState clipState) { if (Hud.Render.UiHidden) { return; } if (clipState != ClipState.BeforeClip) { return; } RuleCalculator.CalculatePaintInfo(Hud.Game.Me); if (RuleCalculator.PaintInfoList.Count == 0) { return; } var uiMinimapRect = Hud.Render.MinimapUiElement.Rectangle; var x = uiMinimapRect.Left - RuleCalculator.StandardIconSize / 2; BuffPainter.PaintVerticalCenter(RuleCalculator.PaintInfoList, x, uiMinimapRect.Top, uiMinimapRect.Height, RuleCalculator.StandardIconSize, RuleCalculator.StandardIconSpacing); }
public override void Load(IController hud) { base.Load(hud); BuffPainter = new BuffPainter(Hud, true) { Opacity = 0.50f, TimeLeftFont = Hud.Render.CreateFont("tahoma", 5, 160, 255, 255, 255, true, false, 160, 0, 0, 0, true), }; RuleCalculator = new BuffRuleCalculator(Hud); RuleCalculator.SizeMultiplier = 0.75f; RuleCalculator.Rules.Add(new BuffRule(263029) { MinimumIconCount = 1 }); // Conduit RuleCalculator.Rules.Add(new BuffRule(403404) { MinimumIconCount = 1 }); // Conduit in tiered rift RuleCalculator.Rules.Add(new BuffRule(278269) { MinimumIconCount = 1 }); // Enlightened RuleCalculator.Rules.Add(new BuffRule(030477) { MinimumIconCount = 1 }); // Enlightened RuleCalculator.Rules.Add(new BuffRule(278271) { MinimumIconCount = 1 }); // Frenzied RuleCalculator.Rules.Add(new BuffRule(030479) { MinimumIconCount = 1 }); // Frenzied RuleCalculator.Rules.Add(new BuffRule(278270) { MinimumIconCount = 1 }); // Fortune RuleCalculator.Rules.Add(new BuffRule(030478) { MinimumIconCount = 1 }); // Fortune RuleCalculator.Rules.Add(new BuffRule(278268) { MinimumIconCount = 1 }); // Blessed RuleCalculator.Rules.Add(new BuffRule(030476) { MinimumIconCount = 1 }); // Blessed RuleCalculator.Rules.Add(new BuffRule(266258) { MinimumIconCount = 1 }); // Channeling RuleCalculator.Rules.Add(new BuffRule(266254) { MinimumIconCount = 1 }); // Shield RuleCalculator.Rules.Add(new BuffRule(262935) { MinimumIconCount = 1 }); // Power RuleCalculator.Rules.Add(new BuffRule(266271) { MinimumIconCount = 1 }); // Speed RuleCalculator.Rules.Add(new BuffRule(260349) { MinimumIconCount = 1 }); // Empowered RuleCalculator.Rules.Add(new BuffRule(260348) { MinimumIconCount = 1 }); // Fleeting }
public override void Load(IController hud) { base.Load(hud); // ADD buff icons to player's bottom buff list (2nd row) // Item Buffs BuffPainter = new BuffPainter(Hud, true) { Opacity = 0.60f, ShowTimeLeftNumbers = true, ShowTooltips = true, HasIconBorder = true, TimeLeftFont = Hud.Render.CreateFont("tahoma", 7, 255, 255, 255, 255, false, false, 255, 0, 0, 0, true), StackFont = Hud.Render.CreateFont("tahoma", 6, 255, 255, 255, 255, false, false, 255, 0, 0, 0, true), }; RuleCalculator = new BuffRuleCalculator(Hud); RuleCalculator.SizeMultiplier = 0.75f; /* BuffRules property: * IconIndex = null,0,1,2,3,4,5 / MinimumIconCount = 1 / ShowStacks = true / ShowTimeLeft = true /IconSizeMultiplier = IS1 */ var IS0 = 1.0f; var IS1 = 1.1f; // var IS2 = 1.2f; var IS3 = 1.3f; var IS4 = 1.4f; /* --| ITEMS |-- */ /* * Convention of Elements Ring cycle per class (4s each), corresponding IconIndex: * 1 Arcane, 2 Cold, 3 Fire, 4 Holy, 5 Lightning, 6 Physical, 7 Poison * * BARB (4): Cold, Fire, Lightning, Physical * CRUS (4): Fire, Holy, Lightning, Physical * MONK (5): Cold, Fire, Holy, Lightning, Physical * DH (4): Cold, Fire, Lightning, Physical * WD (4): Cold, Fire, Physical, Poison * WIZ (4): Arcane, Cold, Fire, Lightning * NEC (3): Cold, Physical, Poison */ // COE: ALL // RuleCalculator.Rules.Add(new BuffRule(430674) { // IconIndex = null, MinimumIconCount = 1, ShowTimeLeft = true, IconSizeMultiplier = IS1, }); // COE: Cold only RuleCalculator.Rules.Add(new BuffRule(430674) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, IconSizeMultiplier = IS1, }); // COE: Fire only RuleCalculator.Rules.Add(new BuffRule(430674) { IconIndex = 3, MinimumIconCount = 1, ShowTimeLeft = true, IconSizeMultiplier = IS4, }); // COE: Lightning only // RuleCalculator.Rules.Add(new BuffRule(430674) { // IconIndex = 5, MinimumIconCount = 1, ShowTimeLeft = true, IconSizeMultiplier = IS1, }); // In-geom sword RuleCalculator.Rules.Add(new BuffRule(402458) { IconIndex = null, MinimumIconCount = 1, ShowTimeLeft = true, }); // Harrington Waistguard belt RuleCalculator.Rules.Add(new BuffRule(318881) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, }); // Pride's Fall helmet RuleCalculator.Rules.Add(new BuffRule(322977) { IconIndex = null, MinimumIconCount = 1, ShowTimeLeft = true, }); // Aquila Cuirass chest RuleCalculator.Rules.Add(new BuffRule(449064) { IconIndex = null, MinimumIconCount = 1, ShowTimeLeft = true, IconSizeMultiplier = IS0, }); // Focus Restraint Set Bonus 2pc: Focus ring 359583/1, Restraint ring 359583/2 (also 434980 ?) RuleCalculator.Rules.Add(new BuffRule(359583) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, IconSizeMultiplier = IS1, }); // Focus RuleCalculator.Rules.Add(new BuffRule(359583) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, IconSizeMultiplier = IS1, }); // Restraint // Endless Walk Set Bonus 2pc: The Compass Rose ring & The Traveler's Pledge amulet // to show only @ max, change MinimumIconCount to 100 and 50 respectively RuleCalculator.Rules.Add(new BuffRule(447541) { IconIndex = 2, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true, IconSizeMultiplier = IS0, }); // Dmg, max 100 RuleCalculator.Rules.Add(new BuffRule(447541) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true, IconSizeMultiplier = 0.9f, }); // Def, max 50 // Istvan's Paired Blades (+6% AS, Damage, Armor for 5s; can stack x5) // 359582 ItemPassive_Unique_Ring_734_x1 RuleCalculator.Rules.Add(new BuffRule(359582) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true, IconSizeMultiplier = IS3, }); // Def, max 50 /* * bool bOculus = Hud.Game.Me.Powers.BuffIsActive(402461, 2); */ /* --| GEMS |-- */ // Bane Of The Powerful RuleCalculator.Rules.Add(new BuffRule(383014) { IconIndex = null, MinimumIconCount = 1, ShowTimeLeft = true, IconSizeMultiplier = IS0, }); // Gogok Of Swiftness RuleCalculator.Rules.Add(new BuffRule(403464) { IconIndex = 1, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true, IconSizeMultiplier = IS0, }); // Taeguk RuleCalculator.Rules.Add(new BuffRule(403471) { IconIndex = null, MinimumIconCount = 1, ShowTimeLeft = true, ShowStacks = true, IconSizeMultiplier = IS0, }); }
/** * Calculates and bring the default CoE buff list to the center of the screen */ public static DestructablePoint CalcCoEDrawPoint(BuffRuleCalculator ruleCalculator, BuffPainter painter) { var hud = ruleCalculator.Hud; // Customise the look and feel ruleCalculator.SizeMultiplier = 0.75f; painter.TimeLeftFont = hud.Render.CreateFont("tahoma", 14, 255, 255, 255, 255, true, false, 255, 0, 0, 0, true); painter.Opacity = 0.5f; // Where to draw var screenWidth = hud.Window.Size.Width; var screenHeight = hud.Window.Size.Height; var left = (int)(screenWidth - ruleCalculator.PaintInfoList.Count * ruleCalculator.StandardIconSize) / 2; return(new DestructablePoint(left, screenHeight / 2)); }
public void PaintWorld(WorldLayer layer) { if ((Hud.Game.MapMode == MapMode.WaypointMap) || (Hud.Game.MapMode == MapMode.ActMap) || (Hud.Game.MapMode == MapMode.Map)) { return; } var players = Hud.Game.Players; foreach (var p in players) { var portraitRect = p.PortraitUiElement.Rectangle; if (p.IsMe) { RuleCalculatorMe.CalculatePaintInfo(p); if (RuleCalculatorMe.PaintInfoList.Count != 0) { if (MeScreenPaint) { BuffPainter.PaintHorizontalCenter( RuleCalculatorMe.PaintInfoList, 0, Hud.Window.Size.Height * 0.5f + Hud.Window.Size.Height * MePositionOffset, Hud.Window.Size.Width, RuleCalculatorMe.StandardIconSize, RuleCalculatorMe.StandardIconSpacing ); } } if (MePortraitPaint) { BuffPainter.PaintHorizontal( RuleCalculatorMe.PaintInfoList, portraitRect.Right, portraitRect.Top + portraitRect.Height * 0.72f, RuleCalculatorMe.StandardIconSize, RuleCalculatorMe.StandardIconSpacing ); } } else { if (p.IsOnScreen && p.CoordinateKnown) { var ScreenCoordinate = p.FloorCoordinate.ToScreenCoordinate(); var PlayerX = ScreenCoordinate.X; var PlayerY = ScreenCoordinate.Y; RuleCalculators[p.HeroClassDefinition.HeroClass].CalculatePaintInfo(p); if (RuleCalculators[p.HeroClassDefinition.HeroClass].PaintInfoList.Count != 0) { if (OtherScreenPaint) { BuffPainter.PaintHorizontalCenter( RuleCalculators[p.HeroClassDefinition.HeroClass].PaintInfoList, PlayerX, PlayerY - Hud.Window.Size.Height * 0.05f + Hud.Window.Size.Height * PositionOffset, 0, RuleCalculators[p.HeroClassDefinition.HeroClass].StandardIconSize, RuleCalculators[p.HeroClassDefinition.HeroClass].StandardIconSpacing ); } if (OtherPortraitPaint) { BuffPainter.PaintHorizontal( RuleCalculators[p.HeroClassDefinition.HeroClass].PaintInfoList, portraitRect.Right, portraitRect.Top + portraitRect.Height * 0.72f, RuleCalculators[p.HeroClassDefinition.HeroClass].StandardIconSize, RuleCalculators[p.HeroClassDefinition.HeroClass].StandardIconSpacing ); } } } } if (Debug) { DebugPrint(layer, p); } } }
public void PaintTopInGame(ClipState clipState) { if (clipState != ClipState.BeforeClip) { return; } if (HideWhenUiIsHidden && Hud.Render.UiHidden) { return; } foreach (var player in Hud.Game.Players) { if (!player.HasValidActor) { continue; } var buff = player.Powers.GetBuff(430674); if ((buff == null) || (buff.IconCounts[0] <= 0)) { continue; } var classSpecificRules = GetCurrentRules(player.HeroClassDefinition.HeroClass); _ruleCalculator.CalculatePaintInfo(player, classSpecificRules); if (_ruleCalculator.PaintInfoList.Count == 0) { return; } if (!_ruleCalculator.PaintInfoList.Any(info => info.TimeLeft > 0)) { return; } var highestElementalBonus = player.Offense.HighestElementalDamageBonus; for (int i = 0; i < _ruleCalculator.PaintInfoList.Count; i++) { var info = _ruleCalculator.PaintInfoList[0]; if (info.TimeLeft <= 0) { _ruleCalculator.PaintInfoList.RemoveAt(0); _ruleCalculator.PaintInfoList.Add(info); } else { break; } } for (int orderIndex = 0; orderIndex < _ruleCalculator.PaintInfoList.Count; orderIndex++) { var info = _ruleCalculator.PaintInfoList[orderIndex]; var best = false; switch (info.Rule.IconIndex) { case 1: best = player.Offense.BonusToArcane == highestElementalBonus; break; case 2: best = player.Offense.BonusToCold == highestElementalBonus; break; case 3: best = player.Offense.BonusToFire == highestElementalBonus; break; case 4: best = player.Offense.BonusToHoly == highestElementalBonus; break; case 5: best = player.Offense.BonusToLightning == highestElementalBonus; break; case 6: best = player.Offense.BonusToPhysical == highestElementalBonus; break; case 7: best = player.Offense.BonusToPoison == highestElementalBonus; break; } if (best) { info.Size *= 1.35f; } if (best && orderIndex > 0) { info.TimeLeft = (orderIndex - 1) * 4 + _ruleCalculator.PaintInfoList[0].TimeLeft; } else { info.TimeLeftNumbersOverride = false; } } var portraitRect = player.PortraitUiElement.Rectangle; var x = portraitRect.Right; var y = portraitRect.Top + portraitRect.Height * 0.51f; if (player.IsMe) { if (MeScreenPaint) { BuffPainter.PaintHorizontalCenter(_ruleCalculator.PaintInfoList, 0, Hud.Window.Size.Height * 0.5f - Hud.Window.Size.Height * 0.2f, Hud.Window.Size.Width, _ruleCalculator.StandardIconSize, 0); } if (MePortraitPaint) { BuffPainter.PaintHorizontal(_ruleCalculator.PaintInfoList, x, y, _ruleCalculator.StandardIconSize, 0); } } else { var ScreenCoordinate = player.FloorCoordinate.ToScreenCoordinate(); var PlayerX = ScreenCoordinate.X; var PlayerY = ScreenCoordinate.Y; if (OtherScreenPaint) { BuffPainter.PaintHorizontalCenter(_ruleCalculator.PaintInfoList, PlayerX, PlayerY - Hud.Window.Size.Height * 0.15f, 0, _ruleCalculator.StandardIconSize, 0); } if (OtherPortraitPaint) { BuffPainter.PaintHorizontal(_ruleCalculator.PaintInfoList, x, y, _ruleCalculator.StandardIconSize, 0); } } } }
public void PaintWorld(WorldLayer layer) { var players = Hud.Game.Players; foreach (var p in players) { if (p.IsMe) { RuleCalculatorMe.CalculatePaintInfo(p); if (RuleCalculatorMe.PaintInfoList.Count != 0) { BuffPainter.PaintHorizontalCenter( RuleCalculatorMe.PaintInfoList, 0, p.ScreenCoordinate.Y + Hud.Window.Size.Height * PositionOffset, Hud.Window.Size.Width, RuleCalculatorMe.StandardIconSize, RuleCalculatorMe.StandardIconSpacing ); } } else { if (!p.CoordinateKnown) { continue; } if (p.IsOnScreen && !OthersAlwaysNextToPortrait) { RuleCalculators[p.HeroClassDefinition.HeroClass].SizeMultiplier = SizeMultiplier; RuleCalculators[p.HeroClassDefinition.HeroClass].CalculatePaintInfo(p); if (RuleCalculators[p.HeroClassDefinition.HeroClass].PaintInfoList.Count != 0) { BuffPainter.PaintHorizontalCenter( RuleCalculators[p.HeroClassDefinition.HeroClass].PaintInfoList, p.ScreenCoordinate.X, p.ScreenCoordinate.Y + Hud.Window.Size.Height * PositionOffset, 0, RuleCalculators[p.HeroClassDefinition.HeroClass].StandardIconSize, RuleCalculators[p.HeroClassDefinition.HeroClass].StandardIconSpacing ); } } else { RuleCalculators[p.HeroClassDefinition.HeroClass].SizeMultiplier = PortraitSizeMultiplier; RuleCalculators[p.HeroClassDefinition.HeroClass].CalculatePaintInfo(p); if (RuleCalculators[p.HeroClassDefinition.HeroClass].PaintInfoList.Count != 0) { BuffPainter.PaintHorizontal( RuleCalculators[p.HeroClassDefinition.HeroClass].PaintInfoList, p.PortraitUiElement.Rectangle.Right, p.PortraitUiElement.Rectangle.Top + p.PortraitUiElement.Rectangle.Height * PortraitOffset, RuleCalculators[p.HeroClassDefinition.HeroClass].StandardIconSize, 0 ); } } } if (Debug) { DebugPrint(layer, p); } } }