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

toNyx

Well-Known Member
Joined
Oct 29, 2011
Messages
3,770
[Plugin 2.0] FlaskHelper


BREAKING NEWS : Dragon updated this plugin for 3.0, you can find it here ! (ps: I'm back)


Hello everyone, today I'm proud to bring you the thing everyone was asking for a while, surely not the perfect thing but it'll help :

FlaskHelper
A Responsive flask usage with settings


- What's that s*** ?

This is a plugin that'll use flask with specific requirements or thresholds
Settings have been added to a GUI to allow on-the-fly modifications so no more restarts needed.
No more deaths because the CR is going crazy ! (well, if the CR doesn't fight back it's not the plugin's fault ;D)

- How it works ?

It's like playing with 2 hands but having a 3rd one using flasks.

- How to Use :
- Enable plugin, search for the config tab like any other plugins
- Set up your thresholds (the percent of life/mana/energy shield to use flask)
- Check boxes to enable a special flask usage (eg. Check the Granite Flask box to enable it)
- (Specific) Remember to check the Energy Shield box if you want to enable ES check instead of Life for special flasks.
- (Specific) Blood magic disable the mana flask behavior, so even if you have on in your setup, it'll not be used, same for Laviangas.


NOTE :
Only the following special flasks are concerned by the life/energy threshold :
- Granite / Jade / Ruby / Divination / Laviangas (Mana) / Atziri's Promise
The other flasks have their threshold disabled since they are used to DISPEL or BUFFING DAMAGES and have to be used instantly (leave feedback if you want them to be enabled again) once we have/don't have the corresponding aura.
Note : I may probably need to check for mobs in range/combat state before using those, may need a fix.

For now, It's an initial release, so few things probably have to be reworked / improved

Hmm.. ?!... Have fun botting PoE ? :D

Screenshots :

dc7a4b905b.png

NOTE (Please read me ;_; )
As of 1.0.1.8 the plugin now requires CommunityLib installed

You can request a flask to be added, follow this pattern (you can find the aura buff by dumping player data while flask is active) :

Code:
Flask Name :
Flask Behavior :

The behavior is when the flask have to be used, you can use anything that is possible from the API
 

Attachments

Last edited:
Explanations (1.0.1.9) : FRESH INSTALL REQUIRED TYVMCYABABAY

See this constructive post by WiN : LINK

- Everything you need to know about "FH" (or extensions) is that is works the same way AIF's Custom rules does.
- Coders can access/code anything they want in the "FH.cs" file (find it yourself)
- By "coders" I meant curious people.
- FlaskHelper now take care about the "Grace Period" (will understand who can)
- Main options are still used in some functions, not for others, be sure to double check what you're doing.
- Flask usage GCD on track
- You can add new flasks manually ofc... only if you know how to proceed. I DONT SUPPORT ANY MISTAKE FROM FLASKS ADDITIONS, if you don't know what you're doing, request it on this thread and someone may be able to provide some shit
- Usually, you shouldn't have to modify selectors.
- List of built-in functions usable using " FH.function_name(parameters) " :

- NumberOfMobsNear(object, distance)
object is the reference object we'll get the position from, distance is ofc the radius of detection around this position

- SpecificRarityMobAround(rarity, distance)
Sounds legit...
Note : Rarity is part of the enum that is in the API, when calling you have to use "Rarity.YOUR_RARITY" (e.g. Rarity.Rare)

- IsBloodMagic
The returned value is based on Flaskhelper settings, if the box is checked or not

- IsCursed
This returns true if the player is cursed by random shit, EXCEPT IN MAPs ROLLED WITH SPECIFIC SHIT (e.g. Player is cursed with...)

- IsBleeding, IsBurning, IsChilledOrFrozen, IsShocked
If you don't understand this, quit botting go back to the sims.
You have access to only "me" as a reference for your player to write conditions for now sadly, this may change in the future.
("me" is a shortcut for LokiPoe.Me, which means you have a full access to the LocalPlayer object like Name, level, whatever.)

You're free to request any additions to this class, even better if you have a logic for it already.
It'll be hard to learn how to use it, but it'll in the end be better for everyone :)

Note : Enabled flasks are shown in bold ORANGE in the combobox

Changelog :

v1.0.1.9
Here

v1.0.1.8
> Updated to use the CommunityLib and is now free of any OGB links
Note : FlaskHelper now requires CommunityLib plugin to compile, install it aswell

*** UPDATE ***
File has been updated on 20 Apr 2016 @ 10:27 UTC+1 to resolve a stutterstep issue, consider redownloading

v1.0.1.7
> Updated for new BETA Build for Awakening Xpac ! (too much changes to iterate, fuck it)

v1.0.1.6
+ VesselOfVinktar
> Added optional white packs handling

+ Settings/GUI
> Added controls & settings for the optional VoV Handling

> Versioning to 1.0.1.6

v1.0.1.5
+ Classes
> Added Flasks Classes

+ MiscHelpers
> Added way to generate paths to handle 3rdParty shtuff

+ RoutineHelpers.cs
> GetCombatRange() is now a nullable int to include them into checks for flasks

+ Flasks
> Fixed distillate
> Added Taste of Hate
> Added Coruscating Elixir (takes into account combatrange for distance check, else 40 by default)
> Added Vessel of Vinktar (takes into account combatrange for distance check, else 40 by default)
> Dispel flasks now take immunity into account instead, since they're linked. (Should fix dispel)

+ Main.cs
> Renamed into "FlaskHelper" for common usage (and because pushedx is boxing me.)
> Versioning 1.0.1.5
> Added handling for 3rdPartyLoader into GUI

v1.0.1.4
+ Huge rework, lot of changes
Note : You'll find some properties that aren't really used at the moment, but they might be useful later :D for you the flask order is optimized as in my head, :D you can change it in the Settings.cs file

v1.0.1.2
+ Added few things for low life builds

v1.0.1.0
+ Ready for BETA 2.0

v1.0.0.7
+ Added "Panicked" affix to the Instant life flasks (jyam)

v1.0.0.6
+ Added checkbox to enable/disable quicksilver flask (IeU)
+ Added "Bubbling" Affix to the Instant life flasks (jyam)

~ PlayerStates are now dispeled with any flasks (prior we were excluding instant flasks) (m3h, forgot who asked for that)

v1.0.0.5
+ FlaskHelper now disable AutoFlask on start to avoid any conflict, and anyway, this one is better.

~ Attempt to fix Target check (needs testing)
~ Fixed some GUI Bullshit

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

~ Fixed overall life flask usage
~ Attempt to fix thrown TargetHelpers errors (sfrattini) NEED FEEDBACK
~ Changed settings file directory to fit with new EB

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) (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)

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

v1.0.0.2
+ Added "of Warding" affix support (curse removal/immunity)
~ Fixed lot of typos -_- copypasterino went wrong. (there may still be
some typos, nobody's perfect...)

v1.0.0.1 :
- Added Topaz Flask Support
- Added Sapphire Flask Support
- Divination no longer have Threshold enabled (triggered when CurrentTarget HP% < 15)

v1.0.0.0 :
- Initial Updated Release
 
Last edited:
Can it be applied to Energy Shield ?
As I can see for the image it only have one option (life i presume)
 
Can it be applied to Energy Shield ?
As I can see for the image it only have one option (life i presume)

So you want support for energy shield aswell for special flasks? :D Could you please precise the name of the passive so I make it an option.

EDIT : Here you go, let me know if something goes wrong or want any tweak
 
Last edited:
So you want support for energy shield aswell for special flasks? :D Could you please precise the name of the passive so I make it an option.

EDIT : Here you go, let me know if something goes wrong or want any tweak

I'm not sure if this is what you mean but the passive name in the skill tree is Chaos Inoculation.

Seems really nice, and I was surprised by how fast you introduced the Energy Shield instead of Life option ;)
Will use it today and give some feedback later.

Thanks for the contribution ^^
Cheers
 
I'm not sure if this is what you mean but the passive name in the skill tree is Chaos Inoculation.

Seems really nice, and I was surprised by how fast you introduced the Energy Shield instead of Life option ;)
Will use it today and give some feedback later.

Thanks for the contribution ^^
Cheers

you cannot determine it by just CI.

you'll need a manual checkbox or something, like if unchecked use hp, if checked use es (as indicators)

as low-life builds rely on low hp + high es but dont have ci at all :)

edit: just saw your screenshot which does exactly what i thought of. should read before i write. :p
 
Has been working great with my Ele Buzzsaw. Would it do good with an RF build that has only Ruby's?
 
Has been working great with my Ele Buzzsaw. Would it do good with an RF build that has only Ruby's?

It should, if you want to keep the Ruby's buff active set it to 100, it'll select the first flask available to use
 
Last edited:
no configuration for atziri promise amethyst flask?? its 1 of the best flask to use for quick farming.
 
I checked around the files and there is no logic on instant life flasks.
In some cases they're one of the most important things in our "arsenal".
Can you please implement it?

Thanks again for your work. I've been running it since you posted it and until now everything goes perfectly.
Cheers
 
no configuration for atziri promise amethyst flask?? its 1 of the best flask to use for quick farming.

Retrieve me the aura and i'll add support for it ;)

I checked around the files and there is no logic on instant life flasks.
In some cases they're one of the most important things in our "arsenal".
Can you please implement it?

Thanks again for your work. I've been running it since you posted it and until now everything goes perfectly.
Cheers

There's a check for that kind of logic :

orderby flask.IsInstantRecovery

So basically it should use an instant flask over any other flask, this is a "supposed" logic so if the logic fails, it's probably not due to the code but the way the flasks are retrieved/ordered, atm the code looks fine, iit could probably be because of the 1.7 seconds timer, i'll add a settings to set it up yourself. for now i'll add the atziri's part of the code as soon as I get the aura name (i'm still looking for flasks names tho, if they don't work)

;) Glad it works fine

EDIT :

Ok, the new build is almost ready, just waiting for your answers (if instantrecov bugs, and the Atziri's Promise aura name) so I can release it
I also noticed a lot of bullshit in the code, I was probably asleep or drunk when I wrote it... xD fixed in the next build.
 
Last edited:
Does not owrk, here is the error log:


2015-01-04 16:11:10,004 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Main.cs(4,22) : error CS0234: The type or namespace name 'Plugins' does not exist in the namespace 'Loki.Utilities' (are you missing an assembly reference?)
2015-01-04 16:11:10,005 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Main.cs(8,25) : error CS0246: The type or namespace name 'IPlugin' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,005 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(14,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,005 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(26,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,005 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(38,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,006 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(49,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,006 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(60,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,006 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(71,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,006 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(82,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,007 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(94,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,007 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(106,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,007 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(117,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,007 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(128,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,008 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(139,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,008 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Main.cs(20,28) : error CS0246: The type or namespace name 'IPlugin' could not be found (are you missing a using directive or an assembly reference?)
 
Does not owrk, here is the error log:


2015-01-04 16:11:10,004 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Main.cs(4,22) : error CS0234: The type or namespace name 'Plugins' does not exist in the namespace 'Loki.Utilities' (are you missing an assembly reference?)
2015-01-04 16:11:10,005 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Main.cs(8,25) : error CS0246: The type or namespace name 'IPlugin' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,005 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(14,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,005 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(26,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,005 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(38,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,006 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(49,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,006 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(60,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,006 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(71,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,006 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(82,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,007 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(94,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,007 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(106,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,007 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(117,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,007 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(128,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,008 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Flasks.cs(139,35) : error CS0246: The type or namespace name 'InventoryItem' could not be found (are you missing a using directive or an assembly reference?)
2015-01-04 16:11:10,008 [4] ERROR AssemblyLoader`1 (null) - Compiler Error: d:\Program Files (x86)\Exilebuddy\Plugins\FlaskHelper\Main.cs(20,28) : error CS0246: The type or namespace name 'IPlugin' could not be found (are you missing a using directive or an assembly reference?)

Ofc it doesn't work, it's outdated :o
 
Get it on GitHub, maybe another people can join the contribution/optimization
 
Get it on GitHub, maybe another people can join the contribution/optimization

In progress, fixing major bugs & transposing to Framework 4.5.1 ;) Gonna be gud

// EDIT //

Plugin is loading, atleast, dunno if it works :

CPlVAIe.png


Needs to implement separate cooldowns, and cooldowns customization for now to be "almost ready" ;)

Edit : update of the CI support
Edit 2 : we're on it, almost there ! checking if timers don't fuck up huehue
Edit 3 : Plugin is working as intented, implementation of special flasks and QS flask in progress, needs testing

DGgfhRE.png


Edit 4 : Here we go, logic is implemented, I need your help now, see below >

"", // TODO : find the aura corresponding to Laviangas flasks
"", // TODO : find the aura corresponding to Atziris flasks

If someone can provide them, do it ;) I want the InternalName, not the name.

Oh, I almost forgot :

NjQ7Mr9.png


Edit 5 : Disabled some threshold since they're not needed (I guess, tell me what you think)

MtltJC2.png
 
Last edited:
Well, for those interested, this plugin is now up-to-date ;) links are in the first post & screenshots too.
 
Well, for those interested, this plugin is now up-to-date ;) links are in the first post & screenshots too.

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?
 
Back
Top