Using 1.9.1 trinity, 2.0 quest and newest db beta with .7 musketeers profile, my Demon Hunter is using the companion wolf as soon as it enters the larder for GHOM. It isn't waiting until after it actually gets into the boss match with Ghom so I am losing out on the 30% damage increase. How can I fix this?
EDIT: Happens with all companions - doesn't matter which rune is on.
Could someone help me with reducing the priority of Wave of Force? In 1.8 it was perfect; use magic missile (with mirrorball) for all targets except if you get surrounded, then use Wave of Force. But since I've updated Trinity, it runs up to everyone and forces the Wave of Force even if they're quite far away, which is less than ideal.
I go into my wizard.cs (or DemonHunter.cs) found in (your-root-db-folder)/plugins/trinity/combat/abilities, and search for "// (name of ability)".
For example I wanted to decrease the distance my wizard was using disintegrate vs. enemies, as I felt he was using it a touch too far away and sometimes not hitting, so I searched in the file for "// disintegrate", found a line stating a distance in feet (f), and lowered it. worked perfectly.
For the Demon Hunter companion I found this:
// Companion
if (!Player.IsIncapacitated && CombatBase.CanCast(SNOPower.X1_DemonHunter_Companion) && TargetUtil.EliteOrTrashInRange(
30f) &&
Player.SecondaryResource >= 10)
Just to play around, save a backup of the file first, somewhere else, then modify the information. For the DH I would either lower the EliteOrTrashInRange to (15f) and see if that changes something, if not, change it back, or lower it further. Perhaps even remove the !Player.IsIncapacitated, but that seems pretty standard on all abilities AND that
if statement has multiple requirements, thus the this && this && this format etc.
Just a trial and error methodology of making your character abilities function in the way you want them too. Also, you learn something about coding the plugin too!
As for the Wave of Force issue, lets look at the wizard.cs file, and compare the two abilities and what they seem to be doing:
Magic Missile :
// Magic Missile
if (!useOocBuff && !isCurrentlyAvoiding && Hotbar.Contains(SNOPower.Wizard_MagicMissile))
{
var bestPierceTarget = TargetUtil.GetBestPierceTarget(45f);
int targetId;
if (bestPierceTarget != null)
targetId = hasConflagrate ?
bestPierceTarget.ACDGuid :
CurrentTarget.ACDGuid;
else
targetId = CurrentTarget.ACDGuid;
return new TrinityPower(SNOPower.Wizard_MagicMissile, 45f, targetId);
}
Wave of Force :
// Wave of force
if (!useOocBuff && !Player.IsIncapacitated && Player.PrimaryResource >= 25 && CombatBase.CanCast(SNOPower.Wizard_WaveOfForce, CombatBase.CanCastFlags.NoTimer))
{
return new TrinityPower(SNOPower.Wizard_WaveOfForce, 5f, CurrentTarget.Position, CurrentWorldDynamicId, -1, 1, 2);
}
So basically I see that missiles will be used if !isCurrentlyAvoiding && Hotbar.Contains(SNOPower.Wizard_MagicMissile) while Wave of force will be used if !Player.IsIncapacitated && (primary resource equal or greater than requirement) %% CombatBase.CanCast(SNOPower.Wizard_WaveOfForce).
What would happen if we changed !isCurrentlyAvoiding to !Player.IsIncapacitated? Would be interesting to test. It may simply use the ability at the range specified, and then once mobs get in close it would switch to Wave of force. Logic states that if both abilities are being told if"the same thing", the ability with the greatest range, will be used first and foremost. I think you can even specify mob density around you before Wave of force is used.
Don't take my advice as fact: I just opened these files for myself for the first time 20 minutes ago. I could be an idiot, but a little deductive reasoning could take us somewhere useful!