Add dropdown for death wish minion selection
Fixes #2372, #4462, and #4601.
Description of the problem being solved:
The current Death Wish implementation has a couple of problems. The first is that it's set to scale off of enemy corpse life which needs to be updated manually. The second is that the ability has two damaging parts to it, a spell explosion and a minion explosion. This PR adds a dropdown selector that can be used to select a specific minion to use for the damage calculation.
This work is based off of Lothrik's PR #4241
Steps taken to verify a working solution:
Set up required:
- Equip Maw of Mischief helmet
- Add Stone Golem skill
- Add Ice Golem skill
Tests:
- Switch between the minions
- Check tooltip dps on the tree by hovering a minion health node
- Select and deselect the minion health node
- Toggled Full DPS for the Death Wish skill
- Add and remove the Minion Life support gem
- Import character from account
- Import from existing PoB
- Disable all minion gems
Link to a build that showcases this PR:
https://pobb.in/yZB6sVbD5tJa
After screenshot:

theres a weird bug with it snapshotting the wrong minions HP when you add/remove minions, but otherwise looks nice (I havnt looked at the code yet, just played around with it)
There are three parts that I'm not happy with. The first is the flow for updating the control. All the other config controls use static lists so I ended up calling an existing function UpdateControls() and adding in the code that refreshes the dropdown list. I'm not sure if calling UpdateControls is the best choice and the activeMinionList() function that updates the control should probably go somewhere else, but I'm not sure where that would be.
The second thing that might need work is the change in CalcPeform. Death Wish needs the minion's calculated life so I manually build the skill, but I had to comment out the caching check because it wouldn't build the skill and also wouldn't fetch it.
The third thing is that I've only tested this with Golems, Skeletons, and Sentinel of Purity. There might be some minions that it doesn't work with, but I'm not sure what the troublesome ones would be.
Looks like the health problem is because I'm using env.auxSkillList to try and find the skill matching the selected minionId, but Skeletons and Zombies don't seem to be added to that list so it's defaulting to 100 life instead.
Adding and removing should be fixed now.
I ran into an issue of being unable to accurately calculate the life of a minion that is tied to a skill that creates minions with different life values. The specific scenario is to add Phantasm Support to a minion skill. It will always calculate the life value for the minion selected in the main skill panel. Death Wish doesn't work with minions summoned from other minions so it's an edge case anyways.