summaryrefslogtreecommitdiff
path: root/src/Game/Actor/Query/queryCheckCurseRRetryEverOnce.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Game/Actor/Query/queryCheckCurseRRetryEverOnce.cpp')
-rw-r--r--src/Game/Actor/Query/queryCheckCurseRRetryEverOnce.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/Game/Actor/Query/queryCheckCurseRRetryEverOnce.cpp b/src/Game/Actor/Query/queryCheckCurseRRetryEverOnce.cpp
new file mode 100644
index 00000000..57f4377d
--- /dev/null
+++ b/src/Game/Actor/Query/queryCheckCurseRRetryEverOnce.cpp
@@ -0,0 +1,31 @@
+#include "Game/Actor/Query/queryCheckCurseRRetryEverOnce.h"
+#include <evfl/Query.h>
+#include "Game/DLC/aocChampionBalladManager.h"
+
+namespace uking::query {
+
+CheckCurseRRetryEverOnce::CheckCurseRRetryEverOnce(const InitArg& arg)
+ : ksys::act::ai::Query(arg) {}
+
+CheckCurseRRetryEverOnce::~CheckCurseRRetryEverOnce() = default;
+
+int CheckCurseRRetryEverOnce::doQuery() {
+ auto* manager = ChampionBalladManager::instance();
+ if (!manager)
+ return 0;
+
+ auto blight = BlightType(*mCurseRType);
+ if (blight <= BlightType::Water)
+ return manager->getBlightRematchCount(blight) > 0;
+ return 0;
+}
+
+void CheckCurseRRetryEverOnce::loadParams(const evfl::QueryArg& arg) {
+ loadInt(arg.param_accessor, "CurseRType");
+}
+
+void CheckCurseRRetryEverOnce::loadParams() {
+ getDynamicParam(&mCurseRType, "CurseRType");
+}
+
+} // namespace uking::query