diff --git a/GolemHelper/Automation/AutomationLogic.cpp b/GolemHelper/Automation/AutomationLogic.cpp index e23aa77..547fb53 100644 --- a/GolemHelper/Automation/AutomationLogic.cpp +++ b/GolemHelper/Automation/AutomationLogic.cpp @@ -13,6 +13,10 @@ bool AutomationLogic::ShouldSkipBoonStep(int stepIndex) { return true; } + if (g_state.showBoonAdvanced && g_state.skipAegis && stepIndex == 10) { + return true; + } + return false; } @@ -120,10 +124,11 @@ void AutomationLogic::ApplyAllBoons() { } std::string advancedBoons = ""; - if (g_state.showBoonAdvanced && (g_state.addResistance || g_state.addStability)) { + if (g_state.showBoonAdvanced && (g_state.addResistance || g_state.addStability || g_state.skipAegis)) { advancedBoons = " + "; if (g_state.addResistance) advancedBoons += "Resistance "; if (g_state.addStability) advancedBoons += "Stability "; + if (g_state.skipAegis) advancedBoons += "Skip Aegis "; advancedBoons.pop_back(); } diff --git a/GolemHelper/Common/Types.h b/GolemHelper/Common/Types.h index 098168d..0e1ec63 100644 --- a/GolemHelper/Common/Types.h +++ b/GolemHelper/Common/Types.h @@ -28,6 +28,7 @@ struct GolemTemplate { bool isDefaultTemplate; bool addResistance; bool addStability; + bool skipAegis; GolemTemplate() : name("Unnamed Template"), @@ -41,7 +42,8 @@ struct GolemTemplate { hitboxType(HITBOX_SMALL), isDefaultTemplate(false), addResistance(false), - addStability(false) { + addStability(false), + skipAegis(false) { } }; @@ -62,6 +64,7 @@ struct GolemHelperState { bool showBoonAdvanced = false; bool addResistance = false; bool addStability = false; + bool skipAegis = false; bool alwaysHideIcon = false; int debugCounter = 0; diff --git a/GolemHelper/Config/TemplateManager.cpp b/GolemHelper/Config/TemplateManager.cpp index f3c516e..a8042f0 100644 --- a/GolemHelper/Config/TemplateManager.cpp +++ b/GolemHelper/Config/TemplateManager.cpp @@ -79,6 +79,9 @@ void TemplateManager::LoadTemplates() { else if (key == "addStability") { currentTemplate.addStability = (value == "1"); } + else if (key == "skipAegis") { + currentTemplate.skipAegis = (value == "1"); + } } if (inTemplate && !currentTemplate.name.empty()) { @@ -130,7 +133,8 @@ void TemplateManager::SaveTemplates() { file << "fiveBleedingStacks=" << (temp.fiveBleedingStacks ? "1" : "0") << "\n"; file << "hitboxType=" << temp.hitboxType << "\n"; file << "addResistance=" << (temp.addResistance ? "1" : "0") << "\n"; - file << "addStability=" << (temp.addStability ? "1" : "0") << "\n\n"; + file << "addStability=" << (temp.addStability ? "1" : "0") << "\n"; + file << "skipAegis=" << (temp.skipAegis ? "1" : "0") << "\n\n"; savedCount++; } } @@ -226,6 +230,7 @@ GolemTemplate TemplateManager::CreateTemplateFromCurrentSettings() { temp.hitboxType = g_state.hitboxType; temp.addResistance = g_state.addResistance; temp.addStability = g_state.addStability; + temp.skipAegis = g_state.skipAegis; temp.isDefaultTemplate = false; return temp; } @@ -241,6 +246,7 @@ void TemplateManager::ApplyTemplateToSettings(const GolemTemplate& temp) { g_state.hitboxType = temp.hitboxType; g_state.addResistance = temp.addResistance; g_state.addStability = temp.addStability; + g_state.skipAegis = temp.skipAegis; if (temp.isDefaultTemplate) { g_state.showAdvanced = false; @@ -250,7 +256,7 @@ void TemplateManager::ApplyTemplateToSettings(const GolemTemplate& temp) { if (temp.skipSlow || temp.skipBurning || temp.fiveBleedingStacks) { g_state.showAdvanced = true; } - if (temp.addResistance || temp.addStability) { + if (temp.addResistance || temp.addStability || temp.skipAegis) { g_state.showBoonAdvanced = true; } } diff --git a/GolemHelper/GolemHelper.cpp b/GolemHelper/GolemHelper.cpp index 4146d74..ec07790 100644 --- a/GolemHelper/GolemHelper.cpp +++ b/GolemHelper/GolemHelper.cpp @@ -35,7 +35,7 @@ void Load(AddonAPI* aApi) { MapUtils::UpdateQuickAccessVisibility(); - g_api->Log(ELogLevel_INFO, "GolemHelper", "=== GolemHelper v1.4.0.0 Loaded ==="); + g_api->Log(ELogLevel_INFO, "GolemHelper", "=== GolemHelper v1.4.1.0 Loaded ==="); g_api->Log(ELogLevel_INFO, "GolemHelper", "GolemHelper addon loaded successfully!"); } @@ -62,7 +62,7 @@ extern "C" __declspec(dllexport) AddonDefinition* GetAddonDef() { def.Signature = -424248; def.APIVersion = NEXUS_API_VERSION; def.Name = "GolemHelper"; - def.Version = { 1, 4, 0, 0 }; + def.Version = { 1, 4, 1, 0 }; def.Author = "Azrub"; def.Description = "Automates the process of setting optimal boon and golem configurations in the training area"; def.Load = Load; diff --git a/GolemHelper/UI/UIManager.cpp b/GolemHelper/UI/UIManager.cpp index 24d5884..035fa49 100644 --- a/GolemHelper/UI/UIManager.cpp +++ b/GolemHelper/UI/UIManager.cpp @@ -17,7 +17,7 @@ void UIManager::RenderUI() { if (ImGui::Begin("GolemHelper", &g_state.showUI, ImGuiWindowFlags_AlwaysAutoResize)) { - ImGui::TextColored(ImVec4(0.2f, 0.8f, 1.0f, 1.0f), "GolemHelper v1.4.0.0"); + ImGui::TextColored(ImVec4(0.2f, 0.8f, 1.0f, 1.0f), "GolemHelper v1.4.1.0"); ImGui::Separator(); if (ImGui::BeginTabBar("GolemHelperTabs", ImGuiTabBarFlags_None)) { @@ -44,7 +44,8 @@ void UIManager::RenderUI() { temp.fiveBleedingStacks == g_state.fiveBleedingStacks && temp.hitboxType == g_state.hitboxType && temp.addResistance == g_state.addResistance && - temp.addStability == g_state.addStability) { + temp.addStability == g_state.addStability && + temp.skipAegis == g_state.skipAegis) { currentTemplateName = temp.name; foundMatchingTemplate = true; break; @@ -123,6 +124,7 @@ void UIManager::RenderSettingsTab() { if (g_state.showBoonAdvanced && !g_state.environmentDamage) { ImGui::Checkbox("Add Resistance", &g_state.addResistance); ImGui::Checkbox("Add Stability", &g_state.addStability); + ImGui::Checkbox("Skip Aegis", &g_state.skipAegis); } ImGui::Spacing(); @@ -355,10 +357,11 @@ void UIManager::RenderTemplatesTab() { ImGui::Text("Conditions: %s", conditions.c_str()); } - if (selectedTemplate.addResistance || selectedTemplate.addStability) { + if (selectedTemplate.addResistance || selectedTemplate.addStability || selectedTemplate.skipAegis) { std::string boonSettings; if (selectedTemplate.addResistance) boonSettings += "Resistance, "; if (selectedTemplate.addStability) boonSettings += "Stability, "; + if (selectedTemplate.skipAegis) boonSettings += "Skip Aegis, "; if (!boonSettings.empty()) { boonSettings.pop_back(); boonSettings.pop_back(); @@ -425,6 +428,7 @@ void UIManager::RenderOptions() { g_state.showBoonAdvanced = false; g_state.addResistance = false; g_state.addStability = false; + g_state.skipAegis = false; g_state.stepDelay = 290; g_state.initialDelay = 390; g_state.alwaysHideIcon = false;