Hi. First time using this bot and I'm wondering if there's any way to get the popular detonate dead build to work with desecrate. Right now the bot will blow up guys that it kills, but it won't use the desecrate ability to spawn corpses beneath the feet of mobs. Thanks for any advice!
It's not really viable so far. Clear speeds are awful. The bot uses searing bond right now for its main source of damage early on, but it has to wait for 1 or 2 mobs to die in order to use their corpses with DD. Then, once the chain reaction starts, mobs die quickly. But it gets stuck on fresh groups of mobs with no corpses as well as elites/bosses because it runs out of corpses. If I could just get it to cast desecrate (even randomly placed) every 3-7 seconds it would probably work fine.
Desecrate spawns normal dead corpses, so all you need to do is add in a condition to cast Desecrate, then DD will be used on any dead bodies. However, there seems to be a bug with Detonate Dead, which is why it's not being used, and it was fixed in the Exile CR. Here's an example of logic that can be used for the OP: Code: private void RegisterMainAbilities() { // Cast Desecrate at the target if there are no bodies near it for DD. // Don't cast too close, otherwise the bot might get stuck. Register("Desecrate", ret => !NumberOfMobsNear(BestTarget, 30, 1, true) && BestTarget.Distance > 15); // Cast DD at the target that has corpses around it. Register("Detonate Dead", ret => NumberOfMobsNear(BestTarget, 30, 1, true), ret=>BestTarget.Position); // Fall back to something else when we get here. Register("Firestorm"); return; } You'd just change up everything after DD so you don't get stuck doing nothing. The conditions checked are important in helping the bot not get stuck using the current system. Here's the final Exile.cs that will be in the next version that you can change up until then. It fixes the bugs with DD and uses Desecrate.
For some reason this code isn't casting DD at all. I had to change it to just: Code: Register("Desecrate", ret => !NumberOfMobsNear(BestTarget, 30, 1, true) && BestTarget.Distance > 15); Register("Detonate Dead"); And now it works! He goes around casting Desecrate and DD and everything is dying quickly. I've noticed it never casts Vaal Detonate Dead either, and I'm wondering if this is caused by the same issue with trying to set the condition to 1 corpse present.
Did you use the entire Exile.cs I posted? It contains fixes for the DD issue you are probably seeing, which was dead body detection was broken.