What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

[Plugin] FlaskHelper

This update looks great, however I haven't tested it yet and it turns out that I'm RF build and I use multiple Ruby Flasks. I take it I'll have to wait until 3.0 for multiple Ruby Flask (curses, bleeding, frozen/chilled etc.) use to be implemented?

Negative, AutoFlask is fucked up for that kind of things because it doesn't handle any flask affixes, it's like the plugin just use Normal flasks, not magics or anything. This build includes special affixes like "Dispel frozen and chilled" or "Dispel Burning", or even "Removes Bleeding" (that's why there's some thresholds disabled)

Just give it a try, compared to autoflask this plugin works with cooldown IN ADDITION TO actual flasks buffs, if RF builds needs a special behavior, I'll add it, this is the purpose of this plugin.

If you use flasks only for buff removals, don't check "Use Ruby Flask" but the bleeding/shock/burning/frozen ones. If you want to override the flask buff, I can add some settings for RF builds, just let me know ;)

// EDIT //

Btw, the bleeding affix is disabled in the code, I need to do some testing it seems like the bleeding aura is fucked up. So no point enabling it ;)
 
Last edited:
Negative, AutoFlask is fucked up for that kind of things because it doesn't handle any flask affixes, it's like the plugin just use Normal flasks, not magics or anything. This build includes special affixes like "Dispel frozen and chilled" or "Dispel Burning", or even "Removes Bleeding" (that's why there's some thresholds disabled)

Just give it a try, compared to autoflask this plugin works with cooldown IN ADDITION TO actual flasks buffs, if RF builds needs a special behavior, I'll add it, this is the purpose of this plugin.

If you use flasks only for buff removals, don't check "Use Ruby Flask" but the bleeding/shock/burning/frozen ones. If you want to override the flask buff, I can add some settings for RF builds, just let me know ;)

// EDIT //

Btw, the bleeding affix is disabled in the code, I need to do some testing it seems like the bleeding aura is fucked up. So no point enabling it ;)

I actually use Ruby Flasks for healing purposes as well as debuff removal for my RF build.
 
I actually use Ruby Flasks for healing purposes as well as debuff removal for my RF build.

Then it should work I guess :), just check both Use Ruby Flask (it'll act as life flask since you don't have any life flasks) and other stuff ;) and see what happens. First time I launched the bot with the plugin, I saw him trigger 3 flasks at once (same millisecond) so I guess it's responsive enough to work as intented, even for RF builds ;) lemme know
 
Getting this in my log when I try to load with this plug-in

[OnStartup] A top-level exception has been caught.System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\William\Desktop\League Patch Notes\Plugins\FlaskHelper\FlaskSettingsForm.xaml'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode)
at FlaskHelper.Main.get_Control() in c:\Users\William\Desktop\League Patch Notes\Plugins\FlaskHelper-master\Main.cs:line 55
at BotGui.Windows.MainWindow.HandleInterfaces(Object obj)
at BotGui.Windows.MainWindow.<OnStartup>b__19()
at System.Windows.Threading.DispatcherOperation.InvokeDelegateCore()
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
--- 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.Windows.Threading.DispatcherOperation.Wait(TimeSpan timeout)
at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherOperation operation, CancellationToken cancellationToken, TimeSpan timeout)
at System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
at System.Windows.Threading.Dispatcher.Invoke(Action callback)
at BotGui.Windows.MainWindow.<OnStartup>b__6(Object o)
 
Getting this in my log when I try to load with this plug-in

[OnStartup] A top-level exception has been caught.System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\William\Desktop\League Patch Notes\Plugins\FlaskHelper\FlaskSettingsForm.xaml'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode)
at FlaskHelper.Main.get_Control() in c:\Users\William\Desktop\League Patch Notes\Plugins\FlaskHelper-master\Main.cs:line 55
at BotGui.Windows.MainWindow.HandleInterfaces(Object obj)
at BotGui.Windows.MainWindow.<OnStartup>b__19()
at System.Windows.Threading.DispatcherOperation.InvokeDelegateCore()
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
--- 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.Windows.Threading.DispatcherOperation.Wait(TimeSpan timeout)
at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherOperation operation, CancellationToken cancellationToken, TimeSpan timeout)
at System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
at System.Windows.Threading.Dispatcher.Invoke(Action callback)
at BotGui.Windows.MainWindow.<OnStartup>b__6(Object o)

Create a new folder called "FlaskHelper" in your plugins folder, then just extract the files in it

Your folder should look like this :

kbnA55r.png


Just rename "FlaskHelper-master" to "FlaskHelper"
 
Your folder should look like this :

kbnA55r.png


Just rename "FlaskHelper-master" to "FlaskHelper"

It works well enough, thanks a lot for the help toNyx! Just need it to remove curses/bleeding when updated.
 
That I do

1.0.0.1 is out, changelog is on front page or HERE

Now working on Warding affixe.

// EDIT

Oh god, so much fail in this version lol, next one actually gonna fix all this shit :o
 
Last edited:
Alright, 1.0.0.2 is out (Warding support added, please test it and report if not working, I use CurseCount but I feel that something will be wrong with this :))

Changelog

That's all (folks) for tonight, any suggestions? Let me know on Github or post it there ;)
 
Last edited:
haven't tested it, using my own custom autoflask. but it looks really good, love the GUI :)

I would personally make the following changes:

change orderby to 'flask.CurrentCharges descending' so it uses flasks of a given type evenly. This makes them refill at the same rate (since an equal amount of charges are given to each flask as you kill mobs) so it helps flask uptime and you chicken less

have the option to town portal to restore charges if flasks are low

split life flasks into two types with their own criteria. 'immediate' flasks (bubbling / seething affix), and others which heal over time without an immediate component. make sure the immediate flask criteria does not check 'IsUsingHealthFlask', otherwise it won't use an immediate healing flask no matter how low your health gets, until the previous flask healing over time finishes

When life flasks (and possibly ruby flasks, since an earlier poster requested it) are triggered to be used by your health/es%, check for status ailments (shocked, cursed etc) and use a life flask with the appropriate affix (dousing etc) if available.


Mine does all the above, but when I coded it I didn't know how to make it configurable for users. I do now but am busy with more interesting projects ;)
if ya want my code for reference or help with any suggested changes, let me know
 
change orderby to 'flask.CurrentCharges descending' so it uses flasks of a given type evenly. This makes them refill at the same rate (since an equal amount of charges are given to each flask as you kill mobs) so it helps flask uptime and you chicken less

I'll look into this, it seems very good ;)

have the option to town portal to restore charges if flasks are low

Are you using tasks for that? If so, after which one do you add it?

split life flasks into two types with their own criteria. 'immediate' flasks (bubbling / seething affix), and others which heal over time without an immediate component. make sure the immediate flask criteria does not check 'IsUsingHealthFlask', otherwise it won't use an immediate healing flask no matter how low your health gets, until the previous flask healing over time finishes

Does the "instant flask" override the normal one? I think so but I need confirmation ;D

When life flasks (and possibly ruby flasks, since an earlier poster requested it) are triggered to be used by your health/es%, check for status ailments (shocked, cursed etc) and use a life flask with the appropriate affix (dousing etc) if available.

It's already on, affixes like Burning/Frozen/Bleeding(not yet)/Cursed/Shocked are handled in a separate way, whatever the flask is, it'll search for the affix on flasks and use the one with the dispel ;)

Good suggestions ! Keep on going !

// EDIT //

omfg, what did I just wrote. Ofc instant flask overrides since they don't trigger any sort of buff, nice find tho ;) gonna add it in next build
 
Last edited:
here's mine for reference
View attachment 165161

Yep, just noticed, anyway it's added in my todo list ;)

btw, for less confusion, GUI now looks like this :

tuIrrMI.png


Any opposition to the fact I add your refill task? nice job btw ;)

// EDIT //

Changelog so far :

v1.0.0.3 :
+ Added tooltip for the "Dispel Curse" type of flasks (little description of the usage)
+ Bleeding dispel should now work properly

~ Re-Ordered files/Methods to avoid confusion
~ Updated GUI to look less confusing (http://i.imgur.com/tuIrrMI.png)
~ No more checks for RecoveryRate/Amount in LifeFlasks enum

Nepthys Suggestions/Optimisations/Contributions (credits to him !)
+ Added Port to Town to Refill life Flasks support (enable/disable setting, disabled in maps for now needs tweaking) (GG)

~ Flasks are now ordered by ChargesCount to spread usage properly
~ OverTime Life Flasks now use 90 as default threshold (need feedback)
~ Instant Life Flasks use GUI's threshold and overrides buff check
~ Dispel now take InstantRecovery flasks in consideration (we don't use InstantRecovery flasks to dispel)

For those interested in testing/helping with coding, we have for plan to create a room in HipChat to share things, just ask in PM if you wanna join the party ! ;) (not only related to FlaskHelper !)
 
Last edited:
v1.0.0.3 is out !

NOTE : Make a fresh install of the plugin ! Thanks you.

Lot of things have changed, file names, folders and stuff so please, consider this note.

Changelog / Diff
 
How do I change the cooldown for life and mana flask? I am dieing because it doesnt use another life pot fast enough.


EDIT: Found it!
 
Last edited:
How do I change the cooldown for life and mana flask? I am dieing because it doesnt use another life pot fast enough.


EDIT: Found it!

There's a little mistake in the .3, the .4 fix it tho, gonna release it today I guess ;)
 
Hi,

I get this from time to time:

Code:
Exception during plugin Tick.System.InvalidCastException: Unable to cast object of type 'Loki.Game.Objects.WorldItem' to type 'Loki.Game.Objects.Monster'.
   at FlaskHelper.Helpers.TargetHelpers.get_BestTarget() in d:\Games\Path Of Exile 2015\Messenger\Plugins\FlaskHelper\Helpers\TargetHelpers.cs:line 9
   at FlaskHelper.Usage.ShouldUseDivinationFlask(Int32 flaskId) in d:\Games\Path Of Exile 2015\Messenger\Plugins\FlaskHelper\Usage.cs:line 285
   at FlaskHelper.Usage.CheckFlaskUsage(FlaskTypes flaskType, Single flaskThreshold) in d:\Games\Path Of Exile 2015\Messenger\Plugins\FlaskHelper\Usage.cs:line 78
   at FlaskHelper.Main.Tick() in d:\Games\Path Of Exile 2015\Messenger\Plugins\FlaskHelper\Main.cs:line 157
   at Loki.Bot.PluginManager.(IPlugin )

It happens everytime bot opens a door.
anything to worry about?

Cheers
 
Last edited:
I changed the cooldown in /settings/plugins/flaskhelper for hp pots, first to 1000ms then to 100ms, but it will use a pot then after 100ms (or 1000ms) if hp goes below threshold, it wont use another pot again (keep dying)
 
Hi,

I get this from time to time:

Code:
Exception during plugin Tick.System.InvalidCastException: Unable to cast object of type 'Loki.Game.Objects.WorldItem' to type 'Loki.Game.Objects.Monster'.
   at FlaskHelper.Helpers.TargetHelpers.get_BestTarget() in d:\Games\Path Of Exile 2015\Messenger\Plugins\FlaskHelper\Helpers\TargetHelpers.cs:line 9
   at FlaskHelper.Usage.ShouldUseDivinationFlask(Int32 flaskId) in d:\Games\Path Of Exile 2015\Messenger\Plugins\FlaskHelper\Usage.cs:line 285
   at FlaskHelper.Usage.CheckFlaskUsage(FlaskTypes flaskType, Single flaskThreshold) in d:\Games\Path Of Exile 2015\Messenger\Plugins\FlaskHelper\Usage.cs:line 78
   at FlaskHelper.Main.Tick() in d:\Games\Path Of Exile 2015\Messenger\Plugins\FlaskHelper\Main.cs:line 157
   at Loki.Bot.PluginManager.(IPlugin )

It happens everytime bot opens a door.
anything to worry about?

Cheers

Which kind of flasks do you have in your bars? I suspect some unique flasks ;D It was a placeholder I need to fix it, it's an old behavior for the old EB, but atleast I know it's not working :D. I have a little idea how to fix it

I changed the cooldown in /settings/plugins/flaskhelper for hp pots, first to 1000ms then to 100ms, but it will use a pot then after 100ms (or 1000ms) if hp goes below threshold, it wont use another pot again (keep dying)

Fixed in the next verion, Changelog :

v1.0.0.4
+ Added Cooldown customization for life flask & mana flask

~ Fixed overall life flask usage
~ Changed settings file directory to fit with new EB

ETA : Today ;)
 
Last edited:
Back
Top