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

[Plugin] DangerDodger

Discussion in 'Archives' started by buddyfu2, Feb 24, 2016.

Thread Status:
Not open for further replies.
  1. buddyfu2

    buddyfu2 Member

    Joined:
    Aug 18, 2015
    Messages:
    47
    Likes Received:
    2
    Trophy Points:
    8
    [​IMG]

    The plugin is better than it's name, I swear.

    DangerDodger is a plugin that allows the bot to kite monster and dodge dangerous spells. I have tested this plugin for almost a week now it have not had a single deaths from Storm Bearers (according to DeathLogger).
    The plugin is surprisingly simple and effective. I hope you enjoy.

    Obviously, I would not recommend using it on a melee character.


    Description of the UI

    General
    Step Length: The distance the bot will walk when kiting.

    Monsters
    Monster Danger Radius: This represents how close a monster has to be to the character to start kiting. If no monster is withing this distance, we won't kite.
    Monster Pack Size: The amount of monster near (radius 60) your character required to start kiting if Kite Monster Packs is selected.
    Monster Kiting Cooldown: The timeout between each kiting step. This timeout allows your bot to cast attacks and whatnot, instead of just kiting endlessly.
    Kite Monster Packs: Checking this will make the bot kite monster packs.
    Kite Rare Monsters: Checking this will make the bot kite rare monsters.
    Kite Unique Monsters: Checking this will make the bot kite unique monsters.

    Spells
    Dodge Exploding Beacon: Checking this will make the bot dodge exploding beacons created by dead magic monsters who have the Flame/Frost/Storm Bearers mod.
    Dodge Bonespire: Checking this will make the bot dodge the ground DoT spikes created by monsters possessed with the Bonespire Talisman.

    Contributing

    You can contribute to this project via it's github repository.
    https://github.com/Buddyfu/DangerDodger

    Follow the steps included in the Readme and create a Pull request once you are done.

    Here is an example of a Pull Request:
    https://github.com/Buddyfu/DangerDodger/pull/1

    If for some reason or another I become inactive, you can always continue your project off your own fork and invite other developers to fork your fork. :)

    TODOs

    Add the ability to dodge with movement skills.
    The easiest way to do this would be to make this plugin compatible with Alcor75PlayerMover.
    It is not currently compatible with Alcor75PlayerMover because I user Coroutines.MoveToLocation() for movements.
    I think that Alcor75PlayerMover is only compatible with PlayerMover.MoveTowards(). However, this method does not seem to work when the bot is busy. I often saw the bot stopping the movement to start attacking when using it.
    My bot does not use movement skills so this is not a priority for me at the moment.

    Add the ability to dodge bosses attacks.
    I will work on that soon™.

    Add the ability to dodge exploding monsters (Alira's Martyr, Carrion Minion and Unstable Larvae).
    I will work on that soon™.

    Make the bot dodge spells forwards
    At the moment, the bot will run away from Bonespire's spikes. While running away from the spikes, in most cases, the bot will also be running away from the monster casting the spikes. This can be troublesome in small environments with many doors and walls, where the bot would simply not be able to reach the monster casting the spike and be in stuck waiting for the monster to finally come close enough.
    A way to fix this problem would be to make the bot dodge forwards. The bot would get outside the radius of the spikes while also positioning himself closer to the monster casting them. This require additional logic.
    As a summoner, this is a not a priority for me. My minions have an easy time finding enemies even when my character cannot.

    Others
    If you have suggestions or ideas, feel free to post them. You can also code them yourself! :D

    Changelog

    Version: 0.0.1.0
    Github hash: b23f433859b366d43a9d42ab46285c77c3fd15ac
    Date: 24/02/2016
    Comment: Initial version of the plugin


    [video=youtube;x2-MCPa_3rU]https://www.youtube.com/watch?v=x2-MCPa_3rU[/video]
     

    Attached Files:

    Last edited: Feb 24, 2016
    RainWinter likes this.
  2. darkbluefirefly

    darkbluefirefly Community Developer

    Joined:
    Nov 8, 2013
    Messages:
    1,927
    Likes Received:
    18
    Trophy Points:
    38
    Congrats! I'll test it out today and let you know. Looks great! Told you you could do it =).
     
  3. replicate

    replicate Member

    Joined:
    Aug 25, 2015
    Messages:
    306
    Likes Received:
    3
    Trophy Points:
    18
    this sounds fucking insane, ill get back to you!
     
  4. Tormiasz

    Tormiasz Community Developer

    Joined:
    Jun 16, 2014
    Messages:
    701
    Likes Received:
    5
    Trophy Points:
    18
    Looks good, especially the bearers part :)

    The easiest way to avoid stucking on the bonespire part would be casting the kite only if the bonespire mob is dead/non existing.
     
    Last edited: Feb 25, 2016
  5. Dbuddy

    Dbuddy Member

    Joined:
    Jun 18, 2012
    Messages:
    963
    Likes Received:
    0
    Trophy Points:
    16
    nice!
    may i ask:

    except bonespire and exploding beacons, is this plugin useful for low levels (for example with lightning tendrils)? Is packsize 7 a recommended value?

    and for higher levels: a good equipped BF toon has maybe 1 death per hour and is 1or 2hitting everything, is it still useful to kite? I mean, will i loose clearspeed?

    i will try this today
     
  6. Tormiasz

    Tormiasz Community Developer

    Joined:
    Jun 16, 2014
    Messages:
    701
    Likes Received:
    5
    Trophy Points:
    18
    You shouldn't kite your good equipped boyfriend Kappa

    buddyfu2 stated that it's not recommended for melee. I would consider tendrils as melee.
    Of course running away will lower the clearspeed, but dying wouldn't help as well. If it's 2hitting everything I wouldn't enable the options to kite monsters.

    @buddyfu2
    You have nothing that is restarting the stopwatches.
     
    Last edited: Feb 25, 2016
  7. WiN

    WiN Member

    Joined:
    Sep 2, 2014
    Messages:
    294
    Likes Received:
    15
    Trophy Points:
    18
    I have whirling blades as a movement enhancer this is the error i get ([​IMG]):

    [DangerDodger] Initiating kiting.
    [DangerDodger] NearestThreat.Name: [Daemon], NearestThreat.Position: [{1171, 440}], DangerCenter: [{1171, 440}]
    [DangerDodger] Kiting towards a safer position. CurrentPosition: [{1171, 445}], NewPosition: [{1171, 460}]
    [MoveToLocation] Now moving towards {1171, 460}. We have been performing this task for 00:00:00.2989970.
    [Tick] Exception during execution:Buddy.Coroutines.CoroutineUnhandledException: Exception was thrown by coroutine ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
    Parameter name: index
    at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
    at Loki.Game.Utilities.ComponentInformation.***​​‎‬*‎‏*‫**‏‪‬**‬‫​‬**‪**(String )
    at Loki.Game.Utilities.ComponentInformation.*‪*‬​‎‫‫‎​‏‬‫*‫*‬‎‫‎​*(String )
    at Loki.Game.Utilities.ComponentInformation.get_LifeComponent()
    at Loki.Game.Objects.Actor.get_Auras()
    at Loki.Game.Objects.Actor.HasAura(String name)
    at DangerDodger.DangerDodger.<Logic>b__5(Monster m) in d:\!site\games\Path of Exile\eb 0.1.3799.156 - Ranger Reave\Plugins\DangerDodger\DangerDodger.cs:line 172
    at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
    at DangerDodger.DangerDodger.<Logic>d__10.MoveNext() in d:\!site\games\Path of Exile\eb 0.1.3799.156 - Ranger Reave\Plugins\DangerDodger\DangerDodger.cs:line 172
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
    at Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.afMEVG\*\*SN8-o\]X?%Y"T?;>b$.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Buddy.Coroutines.Coroutine.`u4Mo!zIcny_wWmN\]5kIf'8K#.V\.8{`KY:/C@G|4@\&ed\.b:\]CX\&.MoveNext()
    --- End of inner exception stack trace ---
    at Buddy.Coroutines.Coroutine.‫*‎*‏‏​​*​*‪*‬‫*​***‫‪*‫*‪‫**(Boolean )
    at Buddy.Coroutines.Coroutine.*‎*‎​****‬‫‎**​‪‫‬**‎***(Boolean )
    at Buddy.Coroutines.Coroutine.Resume()
    at Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.Tick()
    at Loki.Bot.BotManager.*​*‏​‪**‏‬‫*​**‫‬*‫‫‬‫‪‪**(IBot )
     
  8. buddyfu2

    buddyfu2 Member

    Joined:
    Aug 18, 2015
    Messages:
    47
    Likes Received:
    2
    Trophy Points:
    8
    This plugin will be usefull for low levels when it will support dodging bosses attacks.

    As a summoner, the plugin does not really slow my clear speed, my minions still attack when I am kiting.

    I haven't tried melee actually, so maaaaaybe it works.

    The beacons and bonespires stopwatch are reset inside PerformKiting().

    Does this happen all the time? Sounds like the monster array was modified during the execution of the logic. This should happen rarely. I could add better caching to prevent that.
     
  9. WiN

    WiN Member

    Joined:
    Sep 2, 2014
    Messages:
    294
    Likes Received:
    15
    Trophy Points:
    18
    It does happen all the time - the bot walks away from the bonespire on the floor - which is great, but then uses Whirling Blades to try to go back and attack it. I am playing Reave Melee, but as you can see the settings are very high for fleeing etc and never kick in.
     
    Last edited: Feb 25, 2016
  10. buddyfu2

    buddyfu2 Member

    Joined:
    Aug 18, 2015
    Messages:
    47
    Likes Received:
    2
    Trophy Points:
    8
    • Your bot is trying to attack the Bonespire ground effect? This is not the basic bot behavior, you must have a plugin or routine modification that makes you do that.
    • Don't use any monster kiting feature if you are melee.
    • It sounds like you are using Alcor75PlayerMover. I have not coded anything to make this plugin compatible with Alcor75PlayerMover. If you want the support, you'll have to add it yourself.
    • I'll change the way monsters are cached, to remove the exception you are getting.
     
  11. gandalf11

    gandalf11 Member

    Joined:
    Feb 12, 2016
    Messages:
    31
    Likes Received:
    0
    Trophy Points:
    6
    for a second tought is a mob skipping plugin but this is also very useful, nice job mate.
     
  12. kenjou

    kenjou New Member

    Joined:
    Oct 15, 2013
    Messages:
    140
    Likes Received:
    0
    Trophy Points:
    0
    Hmmm, kiting sounds nice - especially when you aren't melee... e.g. summoner or totemer.... I'll have to give this a try.
     
  13. SToNeD2k9

    SToNeD2k9 New Member

    Joined:
    Apr 13, 2016
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    Hi,
    plugin sound really great! Sadly, i cant get it working...I just have to paste the zip content into 3rd party folder right? No plugin available ... can u help me please?
     
  14. toNyx

    toNyx Well-Known Member

    Joined:
    Oct 29, 2011
    Messages:
    3,783
    Likes Received:
    35
    Trophy Points:
    48
    Not updated yet I guess
     
  15. willowsan

    willowsan New Member

    Joined:
    Sep 24, 2014
    Messages:
    25
    Likes Received:
    0
    Trophy Points:
    1
    great plugin, still waiting for update :p
     
  16. leekhoa01

    leekhoa01 New Member

    Joined:
    Feb 20, 2016
    Messages:
    32
    Likes Received:
    0
    Trophy Points:
    0
    Yea that is great plugin waiting for update too
     
  17. LajtStyle

    LajtStyle Community Developer

    Joined:
    Jan 5, 2015
    Messages:
    96
    Likes Received:
    5
    Trophy Points:
    8
    Since buddyfu will no longer update his plugin i decided to update it.
    This version require CommunityLib plugin to work
     

    Attached Files:

    BigBudda87 likes this.
  18. darlack

    darlack Member

    Joined:
    Mar 3, 2015
    Messages:
    252
    Likes Received:
    0
    Trophy Points:
    16
    Thanks!! is it support Alcor75PlayerMover?
     
  19. LajtStyle

    LajtStyle Community Developer

    Joined:
    Jan 5, 2015
    Messages:
    96
    Likes Received:
    5
    Trophy Points:
    8
    You can use them both but sometimes alcor mover will jump back into mob packs, i will try to fix that but atm i work on something else.
     
  20. leekhoa01

    leekhoa01 New Member

    Joined:
    Feb 20, 2016
    Messages:
    32
    Likes Received:
    0
    Trophy Points:
    0
    Thanks u so much
     
Thread Status:
Not open for further replies.

Share This Page