Skip to main content
Buffs Movable Party

Party COE

This plugin is an enhanced version of a default plugin that shows the Convention of Elements cycle for yourself and other party members. Movable, resizable, multi-element countdowns, toggleable audio countdown cues, multiple display modes, countdown borders and boxy countdown clock face visual style.

Features Explained

The drag and resizing features are enabled through the Movable Plugin System when you turn on its Edit Mode. If you move the COE display close to or onto other players' portraits in the party portrait area, it will automatically snap to its associated player portrait position when you turn off Edit Mode. Otherwise, you can freely position it elsewhere on the screen.

You can click to select or deselect elements for countdowns by clicking the element's icon when you are in DisplayMode.All and not in Movable Plugin System's Edit Mode. Multiple elements can be selected simultaneously, but by default, only the highest element is automatically selected. Automatic highest element selection also takes into consideration the elements of the skills on your bar, but you can click to deselect if you want.

It remembers other party members cycle positions so that their COE displays are still visible and cycling even when they are out of range.

You can also flag the audio cues to fire for another party member instead of yourself! Get the countdowns to each selected element announced to you even if it's not your CoE by pressing Ctrl+V (configurable) while hovering over that player's portrait or CoE display. (Text-To-Speech is an option but it gets desynchronized easily because it fires synchronously.)

Multiple display modes can be toggle through with a configurable hotkey (default: ~)
  • DisplayMode.All - shows all class elements
  • DisplayMode.SelectedOnly - shows only the selected elements
  • DisplayMode.ActiveSelectedOnly - shows only the selected elements, but only when they are the active element
And the new countdown borders and boxy countdown clock face visual style is my way of retaining the original presentation but make the countdowns a little more visible :)

Customization

The starting display mode Mode is set on line 59.

TurboHUD's default ConventionOfElementsBuffListPlugin is disabled by default, but you can leave it on by changing DisableDefaultPlugin to false on line 61.

If you don't want giant countdown numbers when make icons big, you can set ScaleFontOnResize to false on line 64.

The default values for ToggleAnnounceHotkey and ToggleDisplayModeHotkey are set on lines 196 and 197 respectively.

New: You can customize the condition for playing sounds by altering the return value of the function defined by the PlaySounds property on line 66. By default the condition is when you're not in town and the player being announced is also not in town.

You can substitute your own sound files in the sounds folder, but you may need to adjust the SoundTriggerTime timings starting on line 90.

Installation


Put the folders in the archive into your TurboHUD directory. The files should be in the following locations when you're done:

TurboHUD \ plugins \ Razor \ Party \ PartyCOE.cs
TurboHUD \ sounds \ 1.wav
TurboHUD \ sounds \ 2.wav
TurboHUD \ sounds \ 3.wav
TurboHUD \ sounds \ Arcane.wav
TurboHUD \ sounds \ Cold.wav
TurboHUD \ sounds \ Fire.wav
TurboHUD \ sounds \ Holy.wav
TurboHUD \ sounds \ Lightning.wav
TurboHUD \ sounds \ Physical.wav
TurboHUD \ sounds \ Poison.wav

It requires the Movable Plugin System to be also installed. If you have the Menu Plugin System installed, it includes Movable Plugin System already.

Then (re)start TurboHUD.

Changelog

December 13, 2021
  • changed the PlaySounds property from a bool to a function that returns a bool to make it possible to customize the conditions under which sounds are played
  • removed the PlaySoundsInTown property
July 30, 2021
  • optimized clock face drawing
  • smoother corners for the countdown border rendering
July 14, 2021
  • implemented mouse click supression for selecting elements to announce
  • fixed disposal of data and MovableArea for players who leave the game
May 6, 2021
  • fixed COE buff displaying before it becomes active after getting equipped
  • fixed toggle voice while hovering over the movable area conflicting with toggle voice off while not hovering over any player portraits or panels
May 5, 2021
  • fixed COE buff still showing after being deactivated
  • added the ability to toggle voice off even when not hovering over any player portraits or movable CoE panels
April 28, 2021
  • added ScaleFontOnResize option
  • added UI obstruction checking to the tooltip hint and Voice tracking toggle hotkey when hovering over a player portrait
  • fixed Voice toggle when hovering over a player portrait
  • moved starting position to approximately where the default plugin would draw CoE
  • fixed speaker icon positioning formula
April 21, 2021
  • added DisplayMode.ActiveSelectedOnly option
  • restructured the execution logic so the plugin doesn't have to repeat code for each display mode
April 18, 2021
  • fixed visible flickering at element transitions (switched from checking IBuff.TimeElapsedSeconds to IBuff.TimeLeftSeconds)
  • added two display modes (DisplayMode.All and DisplayMode.SelectedOnly) that can be toggled with a hotkey
April 15, 2021
  • initial version

Works with Diablo 3 patch 2.7.2.79575, TurboHUD v21.12.8.0, API v9.2

Comments

  1. How can I turn on voice announce only in greater rifts (ignore other locations including nephalem rifts)?

    ReplyDelete
    Replies
    1. Based on your request, I just updated PartyCOE to allow you to customize the PlaySound condition more easily. On line 66, where PlaySounds is defined, you can change the following code from:

      !Hud.Game.IsInTown && (AnnouncedPlayer.IsMe || !AnnouncedPlayer.IsInTown)

      to...

      Hud.Game.SpecialArea == SpecialArea.GreaterRift

      OR

      Hud.Game.SpecialArea == SpecialArea.GreaterRift && (AnnouncedPlayer.IsMe || (AnnouncedPlayer.InGreaterRift && AnnouncedPlayer.InGreaterRiftRank > 0))

      Delete
    2. (In the new version of PartyCOE dated December 13, 2021)

      Delete

Post a Comment