Exemple #1
0
 public BasicFlaskRoutineSettings()
 {
     TicksPerSecond             = new RangeNode <int>(10, 1, 30);
     EnableInHideout            = new ToggleNode(false);
     AutoFlask                  = new ToggleNode(false);
     ForceBubblingAsInstantOnly = new ToggleNode(false);
     ForcePanickedAsInstantOnly = new ToggleNode(false);
     HPPotion                                = new RangeNode <int>(65, 0, 100);
     InstantHPPotion                         = new RangeNode <int>(35, 0, 100);
     DisableLifeSecUse                       = new ToggleNode(false);
     ManaPotion                              = new RangeNode <int>(65, 0, 100);
     InstantManaPotion                       = new RangeNode <int>(35, 0, 100);
     MinManaFlask                            = new RangeNode <int>(50, 0, 100);
     RemAilment                              = new ToggleNode(false);
     RemFrozen                               = new ToggleNode(false);
     RemBurning                              = new ToggleNode(false);
     RemShocked                              = new ToggleNode(false);
     RemCurse                                = new ToggleNode(false);
     RemPoison                               = new ToggleNode(false);
     RemBleed                                = new ToggleNode(false);
     CorruptCount                            = new RangeNode <int>(10, 0, 20);
     SpeedFlaskEnable                        = new ToggleNode(false);
     QuicksilverFlaskEnable                  = new ToggleNode(false);
     SilverFlaskEnable                       = new ToggleNode(false);
     MinMsPlayerMoving                       = new RangeNode <int>(1500, 1, 10000);
     DefensiveFlaskEnable                    = new ToggleNode(false);
     HPPercentDefensive                      = new RangeNode <int>(50, 0, 100);
     ESPercentDefensive                      = new RangeNode <int>(50, 0, 100);
     OffensiveAsDefensiveEnable              = new ToggleNode(false);
     DefensiveMonsterCount                   = new RangeNode <int>(0, 0, 30);
     DefensiveMonsterDistance                = new RangeNode <int>(400, 0, 1500);
     DefensiveCountNormalMonsters            = new ToggleNode(false);
     DefensiveCountRareMonsters              = new ToggleNode(false);
     DefensiveCountMagicMonsters             = new ToggleNode(false);
     DefensiveCountUniqueMonsters            = new ToggleNode(false);
     DefensiveIgnoreFullHealthUniqueMonsters = new ToggleNode(false);
     OffensiveFlaskEnable                    = new ToggleNode(false);
     HPPercentOffensive                      = new RangeNode <int>(50, 0, 100);
     ESPercentOffensive                      = new RangeNode <int>(50, 0, 100);
     OffensiveMonsterCount                   = new RangeNode <int>(0, 0, 30);
     OffensiveMonsterDistance                = new RangeNode <int>(400, 0, 1500);
     OffensiveCountNormalMonsters            = new ToggleNode(false);
     OffensiveCountRareMonsters              = new ToggleNode(false);
     OffensiveCountMagicMonsters             = new ToggleNode(false);
     OffensiveCountUniqueMonsters            = new ToggleNode(false);
     OffensiveIgnoreFullHealthUniqueMonsters = new ToggleNode(false);
     BossingModeToggle                       = new ToggleNode(false);
     BossingMode                             = false;
     BossingModeHotkey                       = new HotkeyNode(Keys.T);
     FlaskSettings                           = new FlaskSetting[5]
     {
         new FlaskSetting(new ToggleNode(true), new HotkeyNode(Keys.D1), new RangeNode <int>(0, 0, 5)),
         new FlaskSetting(new ToggleNode(true), new HotkeyNode(Keys.D2), new RangeNode <int>(0, 0, 5)),
         new FlaskSetting(new ToggleNode(true), new HotkeyNode(Keys.D3), new RangeNode <int>(0, 0, 5)),
         new FlaskSetting(new ToggleNode(true), new HotkeyNode(Keys.D4), new RangeNode <int>(0, 0, 5)),
         new FlaskSetting(new ToggleNode(true), new HotkeyNode(Keys.D5), new RangeNode <int>(0, 0, 5))
     };
 }
Exemple #2
0
 public BuildYourOwnRoutineSettings() : base()
 {
     //var centerPos = BasePlugin.API.GameController.Window.GetWindowRectangle().Center;
     //LastSettingSize = new ImGuiVector2(620, 376);
     //LastSettingPos = new ImGuiVector2(centerPos.X - LastSettingSize.X / 2, centerPos.Y - LastSettingSize.Y / 2);
     ShowSettings  = new ToggleNode(false);
     FlaskSettings = new FlaskSetting[5]
     {
         new FlaskSetting(new HotkeyNode(Keys.D1)),
         new FlaskSetting(new HotkeyNode(Keys.D2)),
         new FlaskSetting(new HotkeyNode(Keys.D3)),
         new FlaskSetting(new HotkeyNode(Keys.D4)),
         new FlaskSetting(new HotkeyNode(Keys.D5))
     };
     TicksPerSecond = new RangeNode <int>(10, 1, 30);
 }
        public void Render()
        {
            Plugin.Settings.TicksPerSecond.Value = ImGuiExtension.IntSlider("Ticks Per Second", Plugin.Settings.TicksPerSecond);
            Plugin.Settings.Debug = ImGuiExtension.Checkbox("Debug", Plugin.Settings.Debug);

            if (ImGui.TreeNodeEx("Individual Flask Settings", TreeNodeFlags.DefaultOpen))
            {
                for (int i = 0; i < 5; i++)
                {
                    FlaskSetting currentFlask = Plugin.Settings.FlaskSettings[i];
                    if (ImGui.TreeNodeEx("Flask " + (i + 1) + " Settings", TreeNodeFlags.DefaultOpen))
                    {
                        currentFlask.Hotkey.Value = ImGuiExtension.HotkeySelector("Hotkey", currentFlask.Hotkey);
                        ImGui.TreePop();
                    }
                }

                ImGui.TreePop();
            }
        }
        public override void DrawSettings()
        {
            //base.DrawSettings();

            ImGuiTreeNodeFlags collapsingHeaderFlags = ImGuiTreeNodeFlags.CollapsingHeader;

            if (ImGui.TreeNodeEx("Plugin Options", collapsingHeaderFlags))
            {
                Settings.EnableInHideout.Value = ImGuiExtension.Checkbox("Enable in Hideout", Settings.EnableInHideout);
                ImGui.Separator();
                Settings.TicksPerSecond.Value = ImGuiExtension.IntSlider("Ticks Per Second", Settings.TicksPerSecond); ImGuiExtension.ToolTipWithText("(?)", "Determines how many times the plugin checks flasks every second.\nLower for less resources, raise for faster response (but higher chance to chug potions).");
                ImGui.Separator();
                Settings.Debug.Value = ImGuiExtension.Checkbox("Debug Mode", Settings.Debug);
                ImGui.Separator();
                Settings.BossingModeToggle.Value = ImGuiExtension.Checkbox("Disable Defensive and Offensive Flasking", Settings.BossingModeToggle);
                ImGui.Separator();
                Settings.BossingModeHotkey.Value = ImGuiExtension.HotkeySelector("BossingModeHotkey", Settings.BossingModeHotkey.Value);
                ImGui.TreePop();
            }


            if (ImGui.TreeNodeEx("Flask Options", collapsingHeaderFlags))
            {
                if (ImGui.TreeNode("Individual Flask Settings"))
                {
                    for (int i = 0; i < 5; i++)
                    {
                        FlaskSetting currentFlask = Settings.FlaskSettings[i];
                        if (ImGui.TreeNode("Flask " + (i + 1) + " Settings"))
                        {
                            currentFlask.Enabled.Value      = ImGuiExtension.Checkbox("Enable", currentFlask.Enabled);
                            currentFlask.Hotkey.Value       = ImGuiExtension.HotkeySelector("Hotkey", currentFlask.Hotkey);
                            currentFlask.ReservedUses.Value =
                                ImGuiExtension.IntSlider("Reserved Uses", currentFlask.ReservedUses);
                            ImGuiExtension.ToolTipWithText("(?)",
                                                           "The absolute number of uses reserved on a flask.\nSet to 1 to always have 1 use of the flask available for manual use.");
                            ImGui.TreePop();
                        }
                    }

                    ImGui.TreePop();
                }

                if (ImGui.TreeNode("Health and Mana"))
                {
                    Settings.AutoFlask.Value = ImGuiExtension.Checkbox("Enable", Settings.AutoFlask);

                    ImGuiExtension.SpacedTextHeader("Settings");
                    Settings.ForceBubblingAsInstantOnly.Value =
                        ImGuiExtension.Checkbox("Force Bubbling as Instant only", Settings.ForceBubblingAsInstantOnly);
                    ImGuiExtension.ToolTipWithText("(?)",
                                                   "When enabled, flasks with the Bubbling mod will only be used as an instant flask.");
                    Settings.ForcePanickedAsInstantOnly.Value =
                        ImGuiExtension.Checkbox("Force Panicked as Instant only", Settings.ForcePanickedAsInstantOnly);
                    ImGuiExtension.ToolTipWithText("(?)",
                                                   "When enabled, flasks with the Panicked mod will only be used as an instant flask. \nNote, Panicked will not be used until under 35%% with this enabled."); //
                    ImGuiExtension.SpacedTextHeader("Health Flask");
                    Settings.HPPotion.Value        = ImGuiExtension.IntSlider("Min Life % Auto HP Flask", Settings.HPPotion);
                    Settings.InstantHPPotion.Value =
                        ImGuiExtension.IntSlider("Min Life % Auto Instant HP Flask", Settings.InstantHPPotion);
                    Settings.DisableLifeSecUse.Value =
                        ImGuiExtension.Checkbox("Disable Life/Hybrid Flask Offensive/Defensive Usage",
                                                Settings.DisableLifeSecUse);

                    ImGuiExtension.SpacedTextHeader("Mana Flask");
                    ImGui.Spacing();
                    Settings.ManaPotion.Value =
                        ImGuiExtension.IntSlider("Min Mana % Auto Mana Flask", Settings.ManaPotion);
                    Settings.InstantManaPotion.Value = ImGuiExtension.IntSlider("Min Mana % Auto Instant MP Flask",
                                                                                Settings.InstantManaPotion);
                    Settings.MinManaFlask.Value =
                        ImGuiExtension.IntSlider("Min Mana Auto Mana Flask", Settings.MinManaFlask);
                    ImGui.TreePop();
                }

                if (ImGui.TreeNode("Remove Ailments"))
                {
                    Settings.RemAilment.Value = ImGuiExtension.Checkbox("Enable", Settings.RemAilment);

                    ImGuiExtension.SpacedTextHeader("Ailments");
                    Settings.RemFrozen.Value = ImGuiExtension.Checkbox("Frozen", Settings.RemFrozen);
                    ImGui.SameLine();
                    Settings.RemBurning.Value = ImGuiExtension.Checkbox("Burning", Settings.RemBurning);
                    Settings.RemShocked.Value = ImGuiExtension.Checkbox("Shocked", Settings.RemShocked);
                    ImGui.SameLine();
                    Settings.RemCurse.Value  = ImGuiExtension.Checkbox("Cursed", Settings.RemCurse);
                    Settings.RemPoison.Value = ImGuiExtension.Checkbox("Poison", Settings.RemPoison);
                    ImGui.SameLine();
                    Settings.RemBleed.Value     = ImGuiExtension.Checkbox("Bleed", Settings.RemBleed);
                    Settings.CorruptCount.Value =
                        ImGuiExtension.IntSlider("Corrupting Blood Stacks", Settings.CorruptCount);
                    ImGui.TreePop();
                }

                if (ImGui.TreeNode("Speed Flasks"))
                {
                    Settings.SpeedFlaskEnable.Value = ImGuiExtension.Checkbox("Enable", Settings.SpeedFlaskEnable);

                    ImGuiExtension.SpacedTextHeader("Flasks");
                    Settings.QuicksilverFlaskEnable.Value =
                        ImGuiExtension.Checkbox("Quicksilver Flask", Settings.QuicksilverFlaskEnable);
                    Settings.SilverFlaskEnable.Value =
                        ImGuiExtension.Checkbox("Silver Flask", Settings.SilverFlaskEnable);

                    ImGuiExtension.SpacedTextHeader("Settings");
                    Settings.MinMsPlayerMoving.Value =
                        ImGuiExtension.IntSlider("Milliseconds Spent Moving", Settings.MinMsPlayerMoving);
                    ImGuiExtension.ToolTipWithText("(?)",
                                                   "Milliseconds spent moving before flask will be used.\n1000 milliseconds = 1 second");
                    ImGui.TreePop();
                }

                if (ImGui.TreeNode("Defensive Flasks"))
                {
                    Settings.DefensiveFlaskEnable.Value =
                        ImGuiExtension.Checkbox("Enable", Settings.DefensiveFlaskEnable);
                    ImGui.Spacing();
                    ImGui.Separator();
                    Settings.HPPercentDefensive.Value =
                        ImGuiExtension.IntSlider("Min Life %", Settings.HPPercentDefensive);
                    Settings.ESPercentDefensive.Value =
                        ImGuiExtension.IntSlider("Min ES %", Settings.ESPercentDefensive);
                    Settings.OffensiveAsDefensiveEnable.Value =
                        ImGuiExtension.Checkbox("Use offensive flasks for defense",
                                                Settings.OffensiveAsDefensiveEnable);
                    ImGui.Separator();

                    Settings.DefensiveMonsterCount.Value =
                        ImGuiExtension.IntSlider("Monster Count", Settings.DefensiveMonsterCount);
                    Settings.DefensiveMonsterDistance.Value =
                        ImGuiExtension.IntSlider("Monster Distance", Settings.DefensiveMonsterDistance);
                    Settings.DefensiveCountNormalMonsters.Value =
                        ImGuiExtension.Checkbox("Normal Monsters", Settings.DefensiveCountNormalMonsters);
                    Settings.DefensiveCountRareMonsters.Value =
                        ImGuiExtension.Checkbox("Rare Monsters", Settings.DefensiveCountRareMonsters);
                    Settings.DefensiveCountMagicMonsters.Value =
                        ImGuiExtension.Checkbox("Magic Monsters", Settings.DefensiveCountMagicMonsters);
                    Settings.DefensiveCountUniqueMonsters.Value =
                        ImGuiExtension.Checkbox("Unique Monsters", Settings.DefensiveCountUniqueMonsters);
                    Settings.DefensiveIgnoreFullHealthUniqueMonsters.Value =
                        ImGuiExtension.Checkbox("Ignore Full Health Unique Monsters", Settings.DefensiveIgnoreFullHealthUniqueMonsters);
                    ImGui.TreePop();
                }

                if (ImGui.TreeNode("Offensive Flasks"))
                {
                    Settings.OffensiveFlaskEnable.Value =
                        ImGuiExtension.Checkbox("Enable", Settings.OffensiveFlaskEnable);
                    ImGui.Spacing();
                    ImGui.Separator();
                    Settings.HPPercentOffensive.Value =
                        ImGuiExtension.IntSlider("Min Life %", Settings.HPPercentOffensive);
                    Settings.ESPercentOffensive.Value =
                        ImGuiExtension.IntSlider("Min ES %", Settings.ESPercentOffensive);
                    ImGui.Separator();
                    Settings.OffensiveMonsterCount.Value =
                        ImGuiExtension.IntSlider("Monster Count", Settings.OffensiveMonsterCount);
                    Settings.OffensiveMonsterDistance.Value =
                        ImGuiExtension.IntSlider("Monster Distance", Settings.OffensiveMonsterDistance);
                    Settings.OffensiveCountNormalMonsters.Value =
                        ImGuiExtension.Checkbox("Normal Monsters", Settings.OffensiveCountNormalMonsters);
                    Settings.OffensiveCountRareMonsters.Value =
                        ImGuiExtension.Checkbox("Rare Monsters", Settings.OffensiveCountRareMonsters);
                    Settings.OffensiveCountMagicMonsters.Value =
                        ImGuiExtension.Checkbox("Magic Monsters", Settings.OffensiveCountMagicMonsters);
                    Settings.OffensiveCountUniqueMonsters.Value =
                        ImGuiExtension.Checkbox("Unique Monsters", Settings.OffensiveCountUniqueMonsters);
                    Settings.OffensiveIgnoreFullHealthUniqueMonsters.Value =
                        ImGuiExtension.Checkbox("Ignore Full Health Unique Monsters", Settings.OffensiveIgnoreFullHealthUniqueMonsters);
                    ImGui.TreePop();
                }

                ImGui.TreePop();
            }
        }