Prescience Helper

Prescience Helper

414 Downloads

This addon is designed to help you prescience the best people you can!

The addon is given a list of players, their expected damage per second, and their expected damage for any particular second. Unit frames are then created in a pre-designated area which show the state of every player in the input list.

The addon then finds who are the best people to prescience for your next cast of ebon might: 

The green player is the current best player to prescience.

If the best player is out of range, the best player in range will be yellow.

Black players are dead.

Half visible (faded) players are out of range of prescience.

Casting prescience on the correct player then becomes a game of mousing over the best (green) player if they are in range, or the next best in range (yellow) player if the best player isn't in range and you don't think you'll be in range in time.

Why is this better than existing weak aura solutions?

  • Weak aura solutions (that I have seen) are all based on fixed timings. If a person dies, or you're missing timings due to dealing with mechanics, or the person you're supposed to prescience is in Narnia this falls out of sync very quickly and can throw you off completely. This addon on the other hand is always calculating what is best at the current time.
  • Most websites that generate these fixed timings do so by looking at one attempt, or multiple attempts in the same log. The software that generates the data for this addon uses all attempts that you have logged.

Why this is worse than existing weak aura solutions?

  • There are a few websites that will generate static timings and targets for ebon might and prescience. This tool on the other hand currently relies on software that runs on your local computer. This requires some trust in me and my software.
  • You must log all encounters (with advanced logging on) yourself. With bad hardware this maye be prohibitive. However the input for the addon can be shared if you have a friend in your guild who will do it for you.

    If the pros don't outweigh the cons for you, use an existing ERT solution

This addon requires a lot of setup and a background application to work. This is a lot of work. If you the pros don't outweight the cons, use an existing ERT solution. I recommend using https://augvoker.netlify.app/ to generate the ERT notes.

What isn't supported

  • More than 2 augs are currently not supported.
  • Changing the group during the fight will probably bug the frames, and will require a reload
  • The addon doesn't find the specs of your raid members itself, it relies on some other addon doing that (elvui does this for me)

Configuration

The addon is configured through the use of chat commands:

"/ph" opens the input frame. This frame gives a textual representation of everyone in your group, and what spec they are. The format of this output is specified in a later section. When the input frame is closed out of combat, the current text is used as input to generate the unit frames and logic for whom to buff. The format of this input is specified in a later section. Example inputs can be found at the source repository here.

"/ph show" show a (black rectangular) representation of where this addon will place the unit frames. Clicking and holding left mouse over the frame will move it. Click and holding right mouse over the frame will allow you to drag to resize it.

"/ph hide" hides the (black rectangular) representation of where this addon will place the unit frames.

"/ph fake_roster" will create unit frames for the current configuration entered into the input frame, even if those players aren't in a group with you. This can be used to show how things will look without actually inviting all players to a group. In this mode, each unit frame is set up to target the player (yourself). As all units are fake and are targeted at yourself, some functionality like not suggesting a target that already has a prescience that will last until the next ebon might won't work (As the unit won't actually have prescience).

"/ph debug_start" will simulate combat beginning, and you can see how the suggestions move around. This is best used to get a feel of how things will behave.

"/ph debug_end" will simulate a combat end. This is best used to stop combat initiated by debug_start.

Sample setup

See the screenshots in images for examples

1. "/ph show" and adjust the black box to be where you want the unit frames to show:

2. "/ph hide" to hide the black box

3. "/ph" to get the information about who is in your group and their talent ids

4. Paste the input into the box, and then close it

Done. Use the unit frames

Generating input data

The most challenging portion of using this addon is generating the input string that is used to create the unit frames and select who to recommend to buff. I am currently doing this with a separate piece of software that can be found here. This software reads the combat logs in your log folder, and calculates the expected damages given a difficulty and encounter.

Formats

The output of the addon is a version string, followed by the guid of the player and then a comma separated list of [<PLAYER GUID>,<PLAYER NAME>,<SPEC ID>]. Spec ids are the ids as returned from GetSpecializationInfoByID()

The input of the addon is a binary format prefixed with a version string (currently 2?) followed by a modified base85 encoded binary data format.  This format will be described later.