Nuok
Community Developer
- Joined
- Jan 15, 2010
- Messages
- 975
- Reaction score
- 28
The "HasHydra" test in wizard.cs seems unreliable - I think it might be the trying to identify the owner of a hydra messing things up (is it trying to get this data from one of the three hydrahead entities rather than the main hydra at times, which doesn't have that data, and so failing to identify a hydra is already up?).
Regardless, as most people would, I imagine, bot single-player games, I found this to be much more reliable and not re-cast Hydra quite so much in the HasHydra check;
(and you can delete/comment out the "int dynId = ZetaDia.Me.CommonData.DynamicId;" line immediate before this)Code:var summoned = ZetaDia.Actors.GetActorsOfType<DiaUnit>().FirstOrDefault(u => u.Name.Contains("HydraHead") && u.Position.Distance(unit.Position) < 30f);
Instead of the current check which is;
Code:int dynId = ZetaDia.Me.CommonData.DynamicId; var summoned = ZetaDia.Actors.GetActorsOfType<DiaUnit>().FirstOrDefault(u => u.SummonedByACDId == dynId && u.Name.Contains("Hydra") && u.Position.Distance(unit.Position) < 15f);
Might be worth adding exceptions too - ie, only cast if more than 2 enemies within XX feet, unless they are elite in which case always cast.
We scan for if it was summoned by you in case your in a group with another wizard also using hydra. Ill increase the range to 25f for the next release let me know how it goes.
Were looking into it getting the wrong hydrahead atm.