Season 15 and Demonbuddy, working as of 21th September 2018!
  • Visit Rebornbuddy
  • Visit Demonbuddy

Belphegor the official combat routine - We need you're feedback to improve it!

Discussion in 'Archives' started by j0achim, Jun 15, 2012.

  1. j0achim

    j0achim New Member

    Joined:
    Jan 15, 2010
    Messages:
    532
    Likes Received:
    15
    Trophy Points:
    0
    We need feedback, what do you guys miss what do you like and what don't you like.


    Please continue to comment on Belphegor and give us constructive criticism. But keep it civil!


    We will try to catch things that are requested so that you don't have to request or report same thing a dozen times, this means we need you to read through list of whats requested features, whats already bugs, or other questions and answers, we are able to do a lot of things but we cannot do magic so keep it in mind when you ask for a "super awesome feature that will rock the world."


    I will make list's below of wishes Q&A, changes, bugs or other small things we can come to think of as we go.


    Notes:
    Belphegor is shipped with Demonbuddy. So it is important to ensure your running latest version you either use the automatic updater or replace ALL files when you extract the .zip file you download from the official website of Demonbuddy with every new update. Because of this you do not have to worry about having to download a new version of Belphegor, use a svn client, "know a guy" or anything like that to stay up-to-date, by running latest version of Demonbuddy you are running the latest version of Belphegor!

    *** Left Mouse button skill must be a object breakable skill. ***



    Q & A:
    Q: Why is bot not using certain skills to recoup power?
    A: Because Demonbuddy lacks a core feature to read your characters power level, this however is planned and will be added in a future build. When that happens we will be on the ball and converting Belphegor to reflect this change.​

    Q:
    Some spells don't work properly, lets use Rapid Fire as an example.
    A: For now Belphegor does not fully support using channeling spells. This is not entirely true however, the Wizard manages to use its channeling spells quite well. However there are still room for some improvement because if your attack speed is high enough you would effectively loose a tick due to bot's pulsing that will cast-stop-cast continually. Note that rapid fire has a high initial cost that decreases, because of how Belphegor casts its advised to find another spell to preserve power more efficiently.​

    Q: Please change skill x and y so that my build is more efficient!?
    A: We will always be happy to fine-tune Belphegor to get better. However keep in mind that Belphegor is a ALL-IN-ONE custom class and we still have to support diversity. So even small changes can make a huge impact on other skill setups, with that in mind it will not always be possible to mix up the behavior, without making changes that could ruin the experience for another skill setup.​

    Q:
    My bot performs really crappy?!
    A: Do you really think we don't test Belphegor, try another skill setup, we run bots continually to test and ensure that Belphegor runs as smooth as possible, if it performs bad your most likely using a skill setup that does not work well with bot square and simple. Not even to mention how do you compare you against others. "I have 200k less GPH then this guy and hes saying that his stats are this and that." I'm not going to call anyone a liar but we can all agree its easy to exaggerate at times, so keep that in mind!​

    Q:
    What build are you using?
    A: This is perhaps the hardest question to answer because in the end you have to know your class and think as a bot. When you know this you will be able to see builds that benefits from what stats your character has and skill accordingly. In some situations we can say that you should use skill X and Y but for most of the time you have to see at your characters strengths know what skills bot uses efficiently and skill thereafter.

    Q: Skill x is spammed?
    A: We try our hardest to make sure that skills are used the way they are meant to, and we have made a bunch of sanity checks to prevent skills being recast and using all your characters power. Are you 100% sure you are running the latest version of Demonbuddy and if so did you use auto-updater? If no, did you remember to replace ALL files in your Demonbuddy catalog and not only the .exe and .dll files?

    Q: Teleport and Vault please!!?
    A: Making the bot path out of combat is not a Custom Class job. Its too technical to make any sense to most so i will make it short. Out of combat the custom class can do certain things but making it path will just make the bot conflict in many cases making it act dumber then it needs to be. Attached i have a image that illustrates the difficulties with just randomly using teleport or vault.

    pathing.png

    Explanation: goal with the path is getting from position 1 to 5. For the bot to walk to next waypoint it will have to get within a certain range before bot will navigate to next waypoint. Black lines represent the route the bot have internally planned to reach its destination. Red lines represent using vault or teleport when your are each waypoint which in theory is impossible because cooldown, lacking power etc so it could trigger the moment before you reach a new waypoint making you travel even further away from a waypoint. Anyhow lets call this a perfect example. Now the travel you start at waypoint #1 character starts by teleport or vault. you end up 12 feet too far from the planned route so bot starts heading back to confirm that it reached destination. So it tries to vault or teleport to next waypoint and the same thing happens again. Bot has to turn back around to confirm it reached destination. Since the distance to waypoint 4 and 5 are greater then the distance the vault or teleport is you managed to shave off some traveling time. But its very important to note that all the factors that could make your skill trigger too early or too late making you end up in all kinds of different places. Hopefully this explanation why this is so difficult.



     
    Last edited: Jun 25, 2012
  2. j0achim

    j0achim New Member

    Joined:
    Jan 15, 2010
    Messages:
    532
    Likes Received:
    15
    Trophy Points:
    0
    Unsupported Skills
    [SUB]Updated: 25.06.12[/SUB]
    [TABLE="class: grid, width: 800"]
    [TR]
    [TD]Class[/TD]
    [TD]Skill[/TD]
    [TD]Comment[/TD]
    [/TR]
    [TR]
    [TD][SUP]Demon Hunter[/SUP][/TD]
    [TD][SUP]Caltrops[/SUP][/TD]
    [TD][SUB]Somewhat useless without kite support.[/SUB][/TD]
    [/TR]
    [TR]
    [TD][SUP]Demon Hunter[/SUP][/TD]
    [TD][SUP]Spike Trap[/SUP][/TD]
    [TD][SUB]Should be used with kiting.[/SUB][/TD]
    [/TR]
    [TR]
    [TD][SUP]Demon Hunter[/SUP][/TD]
    [TD][SUP]Vault[/SUP][/TD]
    [TD][SUP]Pathing problematic.[/SUP][/TD]
    [/TR]
    [TR]
    [TD][SUP]Witch Doctor[/SUP][/TD]
    [TD][SUP]Sacrifice[/SUP][/TD]
    [TD][/TD]
    [/TR]
    [TR]
    [TD][SUP]Wizard[/SUP][/TD]
    [TD][SUP]Slow Time[/SUP][/TD]
    [TD][/TD]
    [/TR]
    [TR]
    [TD][SUP]Wizard[/SUP][/TD]
    [TD][SUP]Teleport[/SUP][/TD]
    [TD][SUP]Pathing problematic.[/SUP][/TD]
    [/TR]
    [TR]
    [TD][SUB]Monk[/SUB][/TD]
    [TD][SUB]-[/SUB][/TD]
    [TD][SUB]All skills supported.[/SUB][/TD]
    [/TR]
    [TR]
    [TD][SUB]Barbarian[/SUB][/TD]
    [TD][SUB]-[/SUB][/TD]
    [TD][SUB]All skills supported.[/SUB][/TD]
    [/TR]
    [/TABLE]

    [SUB]If you have any good ideas how a skill on the list above should behave please comment and tell us what sanity checks the skill should have.[/SUB]
     
    Last edited: Jun 25, 2012
  3. nucleotides

    nucleotides Active Member

    Joined:
    Jun 2, 2012
    Messages:
    1,060
    Likes Received:
    11
    Trophy Points:
    38
    1st!!!

    Love the barb work man keep it up. Hope the changes to the SVN (?) makes the sprint double proc better.

    I haven't tried WotB and earthquake in a while but it would be nice if when fighting elites it would use WotB and then Earthquake for the dumb 4000% damage. If it is in there then...fucking awesome.

    edit: I forgot, attacking things while running? Sorta silly I have to wait for something to stop to hit it. As well as breaking objects doesn't always seem to work.
     
    Last edited: Jun 15, 2012
  4. souljaboi225

    souljaboi225 New Member

    Joined:
    Jun 8, 2012
    Messages:
    88
    Likes Received:
    0
    Trophy Points:
    0
    Mammon is fantastic at the moment. I think what needs serious work on is out-of-combat intelligent skill usage. Things like using smoke screen to accelerate movement, using preparation when low on discipline, and sprinting inbetween fights.
     
  5. Vertraag

    Vertraag New Member

    Joined:
    May 14, 2010
    Messages:
    286
    Likes Received:
    5
    Trophy Points:
    0
    Witch Doctors attack a lot of their own spells. They attack their own fetishes, spirit walk dummies, big bad voodoo totems, and more. At least, it tries to...but what really happens is the WD just spams a bunch of spells on top of the obviously-invulnerable entities and it causes the bot to get stuck in a loop of sorts.
     
  6. Nuok

    Nuok Community Developer

    Joined:
    Jan 15, 2010
    Messages:
    975
    Likes Received:
    28
    Trophy Points:
    28
    Nesox is aware of this and hopefully it will be fixed soon :)
     
  7. Nuok

    Nuok Community Developer

    Joined:
    Jan 15, 2010
    Messages:
    975
    Likes Received:
    28
    Trophy Points:
    28
    Will be adding in the ability to cast spells on elites like Earthquake where we would normally just check for AoE.

    Attacking while running and the objects are not really something we control but ill pass it along.
     
  8. bryv

    bryv Member

    Joined:
    Jun 12, 2012
    Messages:
    74
    Likes Received:
    0
    Trophy Points:
    6
    Wizard teleport with wormhole (if possible), my cellar runs take 25 seconds with and 50 seconds without. =T
     
  9. Zoinx

    Zoinx Active Member

    Joined:
    Mar 8, 2010
    Messages:
    727
    Likes Received:
    25
    Trophy Points:
    28
    Demon Hunter Combat:

    Code:
    Fighting Elite?
    { Yes
        { Is Distance 40 yards?
            { Yes
                { Is Hate above 50%?
                    { Yes
                        { Elemental Arrow then 3 yards back}
                        No
                        { Hungered Arrow then 3 yards back}
                    }
                }
                No
                { Does Elite have Movement Speed Bonus?
                    { Yes
                        { Use Caltrops
                            { Is Vault on CD?
                                { Yes
                                    { Smoke Screen until 40 yards}
                                    No
                                    {    Vault until 40 yards}
                                }
                            }
                        }
                        No
                        { Is Distance 40 yards?
                            { Yes
                                { Is Hate above 50%?
                                    { Yes
                                        { Elemental Arrow then 3 yards back}
                                        No
                                        { Hungered Arrow then 3 yards back}
                                    }
                                }
                                No
                                { Is Vault on CD?
                                    { Yes
                                        { Smoke Screen until 40 yards}
                                        No
                                        { Vault until 40 yards}
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        No
        { Is Hate above 50%?
            { Yes
                { Elemental Arrow}
                No
                { Hungered Arrow}
            }
         }
    }
    I didn't add it in there, but you will also want to check your Health. If 60% or less spam Elemental Arrow (w/ Nether Testicle) and pop Shadow Power. If out of Discipline, pop Preparation then do it. If Preparation is on cool down, Potion, then throw down Caltrop (If you have enough Discipline) and pop Preparation when it's up then continue with Elemental Arrow + Shadow Power until full HP.
     
  10. j0achim

    j0achim New Member

    Joined:
    Jan 15, 2010
    Messages:
    532
    Likes Received:
    15
    Trophy Points:
    0


    Teleport and Vault is noted, if this is something we can achieve with the custom class itself i am not going to say for sure I'm not going to go into technical details why right now, i will update a Q an A with a proper answer to this later. Speed altering effects on the other hand is something we can and will do.
     
  11. gotteshand

    gotteshand New Member

    Joined:
    Jun 7, 2012
    Messages:
    273
    Likes Received:
    1
    Trophy Points:
    0
    Something for Wizard combat logic:

    If a Wizard uses Electrocute - Chain Lighting as primary (Mouse 1) and Arcane orb - celestial orb as secondary (Mouse 2)

    the combat logic should be as follows: if there is enough arcane power to use Arcane orb do so if there's not use Chain Lighting and if there is enough arcane power again use arcane orb again.. forth and back..
    This is pretty much the most efficient way to do combat using a Wizard on Areats Core if its done right:) because if passive is used that gives you back arcane power +4 on every hit with primary attack (electrocute) you can basically 1shot your way though 80% of the time.. enabling you to get these sweet 500k/h;)
     
  12. BakedGrease

    BakedGrease New Member

    Joined:
    Jun 13, 2012
    Messages:
    41
    Likes Received:
    1
    Trophy Points:
    0
    Preface: All the comments following are from watching Core and Fields of Slaughter runs as they contain the most numerous and most diverse types on monsters, I do not see these problems on Sarkoth runs from the sheer lack of enemies to fight.

    Monk combat logic is lacking at the moment in Belphegor. It tends to spam my mantra at the beginning of every fight till it runs out of spirit, then fights normally during that fight ( except sometimes won't cast Mystic Ally at all, probably from being empty on spirit for every fight). But repeats this for every new fight. It also seems to ignore certain abilities almost completely last time I tried it, like Seven Sided Strike and Blinding Flash and when it doesn't ignore it DB will cast it with only 1-2 enemies left, or with only 1-2 enemies within range to get hit by it ( even with teleport rune on, it seems to target the monster farthest from the rest).

    For myself, I would like to reserve SSS for elites and use Blinding Flash much more often since it's so cheap.

    ========================================

    Mammon ( at least for monks) is working much better in this regard for the moment but.... It will spam cast Cyclone Strike every time there is more than 3 enemies near me resulting in being out of spirit fast near the beginning of every fight, leaving no spirit for SSS during the fight. It also seems to only uses Blinding Flash when enemies are both a certain distance behind the character and in front ( combat logic assumes it's surrounded at this point I think), which isn't a bad thing except when the monk turns to run away to do something else then the monster is behind him, he will sometimes cast flash and hit no one. Edit : Just noticed that it will double cast Mystic Ally at the beginning of nearly every run, wasted 25 spirit.

    I suggest an internal cooldown for Cyclone Strike in the routine (would only need to be about 5-10 secs I think, it can be modified through trial and error for dual wield vs 2h) one, so you don't use it till he runs out of spirit, but also so that he doesn't cast it the instant he gets enough spirit leaving no spirit leftover for other skills during the fight, like healing or otherwise life saving skills. ( I have no idea if it's possible of feasible to do this, but it would be nice) Also maybe a Combo system when using CS in conjunction with Lashing Tail Kick ( first Rune). If there is enough Spirit it could cast CS to pull the enemies in then cast LTK and hit them all again to dmg and knock them away. If tied only to the use of CS it would follow the same internal CD and therefore it would be a nice big spirit spender/killer but only use when 7+ enemies nearby so it doesn't waste the spirit. For Blinding Flash, it's a cheap skill with a 15 sec CD already, I would almost like to see it used nearly every time the CD is up ( plenty of time to recoup that 10 spirit in 15 secs) especially when using the Rune that gives a dmg boost every time it's used this would speed up fights and survivability nicely.
     
    Last edited: Jun 15, 2012
  13. Dakkah

    Dakkah New Member

    Joined:
    Jun 8, 2012
    Messages:
    166
    Likes Received:
    0
    Trophy Points:
    0
    I know it was already stated, but Teleport support would be amazing.
     
  14. Kickazz006

    Kickazz006 Well-Known Member Moderator

    Joined:
    Jan 15, 2010
    Messages:
    20,569
    Likes Received:
    298
    Trophy Points:
    83
    barb:
    after updating to svn copy... it works pretty good :)
     
    Last edited: Jun 16, 2012
  15. mridontevenknowu

    mridontevenknowu New Member

    Joined:
    Jun 13, 2012
    Messages:
    229
    Likes Received:
    0
    Trophy Points:
    0
    I've been playing around with the wizard. i cant get anything working quite right but ive been trying. what ive attempted or wanted to do is as follows.

    blizzard, meteor,
    only use if mob is 12ft away and 3 mobs are in a 15ft radius. if u can detect mobs pathing shoot meteor 6 ft in front of mob in between the two of u

    frost nova, wave of force
    cast when mobs are within 6ft and your hp is low or when there are more than 2-4 mobs within 6 ft

    explosive blast
    cast anytime a mob is near and u have arcane power and cd is off, this would be second priority if frost nova was up and there was 3 or more mobs. and if there are more than 10 mobs use wave of force.

    slow time (not sure this is possible)
    cast if 8 projectiles is within 10ft of actor or if 15 or more are on screen

    all self buffs
    a check function to see if they are active and recast if not

    all signature spells use only if arcane power is almost gone

    arcane orb, disintegrate, arcane turrent, energy twister,
    cast on nearest if within 10ft otherwise cast where it will hit most mobs

    ray of frost
    use on nearest mob

    mirror image, diamond skin,
    use MI if .75 if u have passive. if no passive use either at .4

    hydra
    func to check for hydra actorid && if its within range(depends on rune) sight of a mob


    archon
    this is tough. part of me wants to say if there are 20 mobs on screen pop it cause itll last longer. part wants to say for elites only. think this should be dual coded and you can chose which scenario u like.

    and ofc teleport this should be use on cooldown ONLY IF you can make use of at least 2 teleports IF wormhole is active. otherwise use on CD for any clear 40ft path.

    pretty sure that is everything i was hoping too acomplish i just dont know how to code. i tried to copy paste from other scripts in the correct ide. but it just didnt seem to do quite what i thougt. if u can point me in the direction of a funtion call list or whatever such a thing would be called. id be happy to take another knock at this.


    Bugs or lack there off.

    so as im watching this i noticed.
    i have a full inven so its trying to ID rares before selling. well it keeps casting magic weapon and breaking id so im stuck in an infinite loop.

    works
    Mirror Image - works well from what i can see
    Diamond skin - works well from what i can see
    Meteor - works well for the basic code its using to attack with.
    Energy Armor - working
    Disintegrate - pulses not sure why less effective this way.

    buggy/needs improvement
    Hydra - it waits till it disapates before casting a new one, even if its 50 yards behind you and off screen
    Spectral Blades - gets into melee range before attacking. would be nice if it checked for the semi-range rune and if it was there took advantage of it
    Faimilar - cast over and over
    Magic Weapon - cast over and over
    Teleport - doesnt use
    Blizzard - cast over and over again on same spot. this does not increase dmg like it did in d2. kills your arcane power
    Energy Twister - does not cast until a mob is in melee range. this should be a mid range skill.

    gonna switch skills and see how they work out.
     
    Last edited: Jun 16, 2012
  16. Epics

    Epics New Member

    Joined:
    Jun 12, 2012
    Messages:
    393
    Likes Received:
    1
    Trophy Points:
    0
    This comes up on new games.
    Code:
    [20:31:54.109 D] System.NullReferenceException: Object reference not set to an instance of an object.
       at Zeta.Internals.Actors.DiaUnit.get_SummonedByACDId()
       at Mammon.Routines.Monk.<>c__DisplayClass39.<get_HasMysticAlly>b__38(DiaUnit u) in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Routines\Monk.cs:line 109
       at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
       at Mammon.Routines.Monk.get_HasMysticAlly() in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Routines\Monk.cs:line 109
       at Mammon.Routines.Monk.<MonkBuff>b__0(Object extra) in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Routines\Monk.cs:line 27
       at Mammon.Helpers.Spell.<>c__DisplayClass2.<Cast>b__0(Object ret) in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Helpers\Spell.cs:line 32
       at Zeta.TreeSharp.Decorator.CanRun(Object context)
       at Zeta.TreeSharp.Decorator..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.Common.HookExecutor.Run(Object context)
       at Zeta.TreeSharp.Action.RunAction(Object context)
       at Zeta.TreeSharp.Action..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.CommonBot.BotMain.()
    [20:31:54.349 D] System.NullReferenceException: Object reference not set to an instance of an object.
       at Zeta.Internals.Actors.DiaUnit.get_SummonedByACDId()
       at Mammon.Routines.Monk.<>c__DisplayClass39.<get_HasMysticAlly>b__38(DiaUnit u) in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Routines\Monk.cs:line 109
       at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
       at Mammon.Routines.Monk.get_HasMysticAlly() in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Routines\Monk.cs:line 109
       at Mammon.Routines.Monk.<MonkBuff>b__0(Object extra) in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Routines\Monk.cs:line 27
       at Mammon.Helpers.Spell.<>c__DisplayClass2.<Cast>b__0(Object ret) in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Helpers\Spell.cs:line 32
       at Zeta.TreeSharp.Decorator.CanRun(Object context)
       at Zeta.TreeSharp.Decorator..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.Common.HookExecutor.Run(Object context)
       at Zeta.TreeSharp.Action.RunAction(Object context)
       at Zeta.TreeSharp.Action..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.CommonBot.BotMain.()
    [20:31:57.358 D] System.NullReferenceException: Object reference not set to an instance of an object.
       at Zeta.Internals.Actors.DiaUnit.get_SummonedByACDId()
       at Mammon.Routines.Monk.<>c__DisplayClass39.<get_HasMysticAlly>b__38(DiaUnit u) in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Routines\Monk.cs:line 109
       at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
       at Mammon.Routines.Monk.get_HasMysticAlly() in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Routines\Monk.cs:line 109
       at Mammon.Routines.Monk.<MonkBuff>b__0(Object extra) in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Routines\Monk.cs:line 27
       at Mammon.Helpers.Spell.<>c__DisplayClass2.<Cast>b__0(Object ret) in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Helpers\Spell.cs:line 32
       at Zeta.TreeSharp.Decorator.CanRun(Object context)
       at Zeta.TreeSharp.Decorator..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.Common.HookExecutor.Run(Object context)
       at Zeta.TreeSharp.Action.RunAction(Object context)
       at Zeta.TreeSharp.Action..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.CommonBot.BotMain.()
    [20:31:58.297 D] System.NullReferenceException: Object reference not set to an instance of an object.
       at Zeta.Internals.Actors.DiaUnit.get_SummonedByACDId()
       at Mammon.Routines.Monk.<>c__DisplayClass39.<get_HasMysticAlly>b__38(DiaUnit u) in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Routines\Monk.cs:line 109
       at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
       at Mammon.Routines.Monk.get_HasMysticAlly() in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Routines\Monk.cs:line 109
       at Mammon.Routines.Monk.<MonkBuff>b__0(Object extra) in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Routines\Monk.cs:line 27
       at Mammon.Helpers.Spell.<>c__DisplayClass2.<Cast>b__0(Object ret) in c:\Users\Austin\Documents\Demon Buddy\Routines\Mammon\Helpers\Spell.cs:line 32
       at Zeta.TreeSharp.Decorator.CanRun(Object context)
       at Zeta.TreeSharp.Decorator..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.Common.HookExecutor.Run(Object context)
       at Zeta.TreeSharp.Action.RunAction(Object context)
       at Zeta.TreeSharp.Action..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.TreeSharp.PrioritySelector..MoveNext()
       at (Object )
       at Zeta.TreeSharp.Composite.Tick(Object context)
       at Zeta.CommonBot.BotMain.()
    Results in running my monk into a corner and getting him stuck.
     
  17. Milkshakes00

    Milkshakes00 Member

    Joined:
    May 9, 2012
    Messages:
    110
    Likes Received:
    1
    Trophy Points:
    18
    To add on to this(Since pseudo logic code format seems the best way to do this entire thread, IMO..):

    Code:
    [b][DEMON HUNTER MOVEMENT LOGIC][/b]
    ;Assume there is an option for 'Quick Movement'.
    
    If(Enemies are within 10 yards)
    {
    	If(Discipline >= 14)
    	{
    		Smoke Screen - Run along the predetermined route.
    	}
    	else
    	{
    		Vault - Run along the predetermined route.
    	}
    }
    else
    {
    	If(Quick Movement == Enabled)
    	{
    		Vault - Run along the predetermined route.
    	}
    	else
    	{
    		Run along the predetermined route.
    	}
    }
    
     
  18. nucleotides

    nucleotides Active Member

    Joined:
    Jun 2, 2012
    Messages:
    1,060
    Likes Received:
    11
    Trophy Points:
    38
    So I know you guys said destroying things isn't apart of this. I did find....

    public override float DestroyObjectDistance
    {
    get { return 30; }

    In lines 88-90 in the Mammon.cs file. Changing the 30 to 10 allows melee to break things.

    View attachment Mammon.cs <-- Updated version with 10 yard change for melee to use.

    Not sure if there is a way to have it be one for ranged and one for melee.

    edit: maybe not such a big deal for core runs, seems to have dropped me ~30k gph because of running to break them. Perhaps the ability to toggle breaking stuff on and off via the settings button?
     
    Last edited: Jun 16, 2012
  19. Silock

    Silock New Member

    Joined:
    Jun 15, 2012
    Messages:
    64
    Likes Received:
    0
    Trophy Points:
    0
    My DH dont use any spells with Belphegor and button Setting dont work. I use last version DB 1.0486.100

    P.S. Mammon for DH use only smocescreen nonstop, vault, preporation dont work.
     
  20. magusq

    magusq New Member

    Joined:
    Jun 15, 2012
    Messages:
    75
    Likes Received:
    1
    Trophy Points:
    0
    Hi, im not sure if this is intended , but when using Fist of Thunder;Thunderclap for monk. The teleporting part of the skill is not being used. it seems the bot is canceling the teleporting part by holding shift everytime it attacks.

    Edit: Sorry this was on generic.

    However the monk profile , with my exploding palm in skill slot, it doesnt use it during core runs.And also Breath of heaven for the dmg buff.
    Exploding palm usage with the core spiders would be good.
     
    Last edited: Jun 16, 2012

Share This Page