summaryrefslogtreecommitdiff
path: root/src/Game/Actor/Query/queryHasCookResultInPorch.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2026-10-04 21:14:43 +0100
committerGitHub <noreply@github.com>2026-10-04 21:14:43 +0100
commit88b478ac375a4f965241bf086567556d353b6dd4 (patch)
tree47151f27f6619337944c1fcbce64dd01d2cfac95 /src/Game/Actor/Query/queryHasCookResultInPorch.cpp
parenta005c77334319d42bb3285fb8d141e11f0873cc9 (diff)
parentec2ec9ad6dc334522d5175967be8e4a468874896 (diff)
Merge pull request #211 from leoetlino/stack/01-moves
Move source files around to better match link order
Diffstat (limited to 'src/Game/Actor/Query/queryHasCookResultInPorch.cpp')
-rw-r--r--src/Game/Actor/Query/queryHasCookResultInPorch.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/Game/Actor/Query/queryHasCookResultInPorch.cpp b/src/Game/Actor/Query/queryHasCookResultInPorch.cpp
new file mode 100644
index 00000000..fefb3959
--- /dev/null
+++ b/src/Game/Actor/Query/queryHasCookResultInPorch.cpp
@@ -0,0 +1,68 @@
+#include "Game/Actor/Query/queryHasCookResultInPorch.h"
+#include <evfl/Query.h>
+#include "Game/UI/uiUtils.h"
+
+namespace uking::query {
+
+HasCookResultInPorch::HasCookResultInPorch(const InitArg& arg) : ksys::act::ai::Query(arg) {}
+
+HasCookResultInPorch::~HasCookResultInPorch() = default;
+
+int HasCookResultInPorch::doQuery() {
+ s32 num;
+
+ if (mCookEffectType == "AllOK")
+ num = ui::countCookResultsAllOk(mPorchItemName);
+ else
+ num = ui::countCookResultsCheck(mPorchItemName, getEffect());
+
+ if (num < *mCount)
+ return 0;
+ else if (num == *mCount)
+ return 1;
+ else if (num > *mCount)
+ return 2;
+ return 0;
+}
+
+int HasCookResultInPorch::getEffect() const {
+ if (mCookEffectType == "None")
+ return -1;
+ if (mCookEffectType == "ResistHot")
+ return 4;
+ if (mCookEffectType == "ResistCold")
+ return 5;
+ if (mCookEffectType == "ResistElectric")
+ return 6;
+ if (mCookEffectType == "AttackUp")
+ return 10;
+ if (mCookEffectType == "DefenseUp")
+ return 11;
+ if (mCookEffectType == "Quietness")
+ return 12;
+ if (mCookEffectType == "AllSpeed")
+ return 13;
+ if (mCookEffectType == "Fireproof")
+ return 16;
+ if (mCookEffectType == "GutsRecover")
+ return 14;
+ if (mCookEffectType == "ExGutsMaxUp")
+ return 15;
+ if (mCookEffectType == "LifeMaxUp")
+ return 2;
+ return -1;
+}
+
+void HasCookResultInPorch::loadParams(const evfl::QueryArg& arg) {
+ loadInt(arg.param_accessor, "Count");
+ loadString(arg.param_accessor, "PorchItemName");
+ loadString(arg.param_accessor, "CookEffectType");
+}
+
+void HasCookResultInPorch::loadParams() {
+ getDynamicParam(&mCount, "Count");
+ getDynamicParam(&mPorchItemName, "PorchItemName");
+ getDynamicParam(&mCookEffectType, "CookEffectType");
+}
+
+} // namespace uking::query