• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Any way to get desecrate & detonate dead to work?

    Discussion in 'Archives' started by ArchmageGed, Mar 16, 2014.

    1. ArchmageGed

      ArchmageGed New Member

      Joined:
      Mar 15, 2014
      Messages:
      20
      Likes Received:
      0
      Trophy Points:
      0
      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!
       
    2. FeedMe

      FeedMe New Member

      Joined:
      Oct 22, 2012
      Messages:
      30
      Likes Received:
      0
      Trophy Points:
      0
      Im up for that also :)
      Want to make a DD build and dont know if its possible with this bot :)
       
    3. ArchmageGed

      ArchmageGed New Member

      Joined:
      Mar 15, 2014
      Messages:
      20
      Likes Received:
      0
      Trophy Points:
      0
      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.
       
    4. FeedMe

      FeedMe New Member

      Joined:
      Oct 22, 2012
      Messages:
      30
      Likes Received:
      0
      Trophy Points:
      0
      would be nice to add an option or something to just cast desecrate then DD
       
    5. Huek

      Huek New Member

      Joined:
      Mar 12, 2014
      Messages:
      18
      Likes Received:
      0
      Trophy Points:
      0
      You guys mean like a routine? Hmm, look at other routines and try to make it work :p
       
    6. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      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.
       
    7. FeedMe

      FeedMe New Member

      Joined:
      Oct 22, 2012
      Messages:
      30
      Likes Received:
      0
      Trophy Points:
      0
      Thanks, will try it ! :D
      Big up the good work for the Dev team :)
       
    8. ArchmageGed

      ArchmageGed New Member

      Joined:
      Mar 15, 2014
      Messages:
      20
      Likes Received:
      0
      Trophy Points:
      0
      Thanks so much for your help with this! I'll give it a try tonight.
       
    9. ArchmageGed

      ArchmageGed New Member

      Joined:
      Mar 15, 2014
      Messages:
      20
      Likes Received:
      0
      Trophy Points:
      0
      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.
       
    10. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      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.
       

    Share This Page