Hey there!
Any chance you could add Blood Magic/Mortal Conviction + Zealot's Oath support? So "Special Flasks" would trigger from ES and Life flasks would trigger from the remaining life? Essentially this would enable casting spells using Life without Life reg.
Or do the options "Enable Blood Magic" + "Use Energy Shield for Thresholds" already do this? Because the tooltip of "Enable Blood Magic" only states "Disables Mana Flask Support".
Edit: Tested it ingame, bot is not using Life Flasks when using Blood Magic and ES Threshold together when ES is on 100% and life under life flask threshold. Can you maybe add an option to separate Life Flasks and Special Flasks or add this behavior when enabling Blood Magic and ES thresholds?
please re-name the zip/folder.
each time i install i forget to adjust it manually to "flask helper"and the bot won't load/compile
Blood magic bullshit is not working? gonna dig into it, I'm not running any BM builds so I can't really test it. But i'm gonna take a look, I remember a while ago it was working, people asked for this feature to take shield instead of life into consideration. But well, lets see whats upthanks for the report.
Thanks alot! Not only Shield instead of life, but Shield Threshold for Special Flasks and Life Threshold for Life Flasks![]()
Just checked, blood magic is only for mana pots, Energy shield threshold are used for all flasks, and it'll stay like this i guess, for those running CI builds.
sadpanda
no chance to get a checkbox to use the ES threshold only for special flasks? Low Life, Zealot's Oath (vitality aura) with mortal conviction is pretty OP, but needs to use life flasks for spell usage...
Granite, Jade, Ruby ect. u named the table "Special Flasks" in the GUIWhat do you mean by special flasks?
Granite, Jade, Ruby ect. u named the table "Special Flasks" in the GUI![]()
Updated, see if it works. (only check low life build tho, else your life flasks wont work)
It doesn`t work with Divination flask , even when i want to use it as a mana flask. Any ideas why ?
whats the meaning of this?
"[FlaskHelperRoutineInfos] Routine doesn't implement the GetCombatRange check in the Execute() part, QSF is Unusable ..."
Came here to post the same thing. I'm getting:
2015-09-04 06:27:49,891 [7] DEBUG CustomLogger (null) - [FlaskHelperRoutineInfos] Routine doesn't implement the GetCombatRange check in the Execute() part, QSF is Unusable ...
spammed every few seconds running this with Typhonus. As I understand it, Tony's fix to make FlaskHelper generic doesn't gel with Typhonus yet.
Is there any code we can add into typhonus that would make it work Tony? Haven't seen Toze post recently so not sure if he's updating at the moment.
whats the meaning of this?
"[FlaskHelperRoutineInfos] Routine doesn't implement the GetCombatRange check in the Execute() part, QSF is Unusable ..."
Came here to post the same thing. I'm getting:
2015-09-04 06:27:49,891 [7] DEBUG CustomLogger (null) - [FlaskHelperRoutineInfos] Routine doesn't implement the GetCombatRange check in the Execute() part, QSF is Unusable ...
spammed every few seconds running this with Typhonus. As I understand it, Tony's fix to make FlaskHelper generic doesn't gel with Typhonus yet.
Is there any code we can add into typhonus that would make it work Tony? Haven't seen Toze post recently so not sure if he's updating at the moment.
its same with totemizer
/// <summary>
/// Non-coroutine logic to execute.
/// </summary>
/// <param name="name">The name of the logic to invoke.</param>
/// <param name="param">The data passed to the logic.</param>
/// <returns>Data from the executed logic.</returns>
public object Execute(string name, params dynamic[] param)
{
if (name == "SetLeash")
{
_currentLeashRange = (int)param[0];
}
if (name == "GetCombatRange")
{
return OldRoutineSettings.Instance.CombatRange;
}
return null;
}
You can fix it yourself temporarily by adding this :
Code:/// <summary> /// Non-coroutine logic to execute. /// </summary> /// <param name="name">The name of the logic to invoke.</param> /// <param name="param">The data passed to the logic.</param> /// <returns>Data from the executed logic.</returns> public object Execute(string name, params dynamic[] param) { if (name == "SetLeash") { _currentLeashRange = (int)param[0]; } if (name == "GetCombatRange") { return OldRoutineSettings.Instance.CombatRange; } return null; }
(Not the whole code, the if sections) into the Execute() of your routine. Also, consider changing OldRoutineSettings to your Routine Namespace settings
It'll work.
/// The routine's coroutine logic to execute.
/// </summary>
/// <param name="type">The requested type of logic to execute.</param>
/// <returns></returns>
// ReSharper disable once CSharpWarnings::CS1998
public async Task<bool> Logic(string type, params object[] param)
{
if (type == "core_area_changed_event")
{
var oldSeed = (uint)param[0];
var newSeed = (uint)param[1];
var oldArea = (DatWorldAreaWrapper)param[2];
var newArea = (DatWorldAreaWrapper)param[3];
_ignoreAnimatedItems.Clear();
return true;
}
so this part?
Code:/// The routine's coroutine logic to execute. /// </summary> /// <param name="type">The requested type of logic to execute.</param> /// <returns></returns> // ReSharper disable once CSharpWarnings::CS1998 public async Task<bool> Logic(string type, params object[] param) { if (type == "core_area_changed_event") { var oldSeed = (uint)param[0]; var newSeed = (uint)param[1]; var oldArea = (DatWorldAreaWrapper)param[2]; var newArea = (DatWorldAreaWrapper)param[3]; _ignoreAnimatedItems.Clear(); return true; }