diff --git a/cheat-library/src/user/cheat/imap/InteractiveMap.cpp b/cheat-library/src/user/cheat/imap/InteractiveMap.cpp index 7e60217..0f65dc9 100644 --- a/cheat-library/src/user/cheat/imap/InteractiveMap.cpp +++ b/cheat-library/src/user/cheat/imap/InteractiveMap.cpp @@ -411,6 +411,14 @@ namespace cheat::feature } ImGui::CloseCurrentPopup(); } + if (ImGui::Button("Complete progress")) + { + for (auto& [pointID, point] : label.points) + { + CompletePoint(&point); + } + ImGui::CloseCurrentPopup(); + } ImGui::EndPopup(); } diff --git a/cheat-library/src/user/cheat/player/InfiniteStamina.cpp b/cheat-library/src/user/cheat/player/InfiniteStamina.cpp index 4aa9d25..dd256b2 100644 --- a/cheat-library/src/user/cheat/player/InfiniteStamina.cpp +++ b/cheat-library/src/user/cheat/player/InfiniteStamina.cpp @@ -27,8 +27,8 @@ namespace cheat::feature ConfigWidget("Enabled", f_Enabled, "Enables infinite stamina option."); ConfigWidget("Move Sync Packet Replacement", f_PacketReplacement, - "This mode prevents sending server packets with stamina cost actions,\n" \ - "e.g. swim, climb, sprint, etc.\n" \ + "This mode prevents sending server packets with stamina cost actions,\n" + "e.g. swim, climb, sprint, etc.\n" "NOTE: This is may be more safe than the standard method. More testing is needed."); } @@ -52,14 +52,23 @@ namespace cheat::feature // Note. Changes received from the server (not sure about this for current time), // that means that server know our stamina, and changes it in client can be detected. // Not working for water because server sending drown action when your stamina down to zero. (Also guess for now) - bool InfiniteStamina::OnPropertySet(app::PropType__Enum propType) + bool InfiniteStamina::OnPropertySet(app::PropType__Enum propType) { using PT = app::PropType__Enum; + static bool override_cheat = true; - return !f_Enabled || f_PacketReplacement || - (propType != PT::PROP_MAX_STAMINA && - propType != PT::PROP_CUR_PERSIST_STAMINA && - propType != PT::PROP_CUR_TEMPORARY_STAMINA); + if (propType == PT::PROP_CUR_TEMPORARY_STAMINA) + override_cheat = true; + + const bool result = !f_Enabled || f_PacketReplacement || override_cheat || + (propType != PT::PROP_MAX_STAMINA && + propType != PT::PROP_CUR_PERSIST_STAMINA && + propType != PT::PROP_CUR_TEMPORARY_STAMINA); + + if (propType == PT::PROP_MAX_STAMINA) + override_cheat = false; + + return result; } // Infinite stamina packet mode.