summaryrefslogtreecommitdiff
path: root/src/Game/AI/Query/queryHasCookResultInPorch.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Game/AI/Query/queryHasCookResultInPorch.cpp')
-rw-r--r--src/Game/AI/Query/queryHasCookResultInPorch.cpp43
1 files changed, 42 insertions, 1 deletions
diff --git a/src/Game/AI/Query/queryHasCookResultInPorch.cpp b/src/Game/AI/Query/queryHasCookResultInPorch.cpp
index 581803ec..534de0f5 100644
--- a/src/Game/AI/Query/queryHasCookResultInPorch.cpp
+++ b/src/Game/AI/Query/queryHasCookResultInPorch.cpp
@@ -1,5 +1,6 @@
#include "Game/AI/Query/queryHasCookResultInPorch.h"
#include <evfl/Query.h>
+#include "Game/UI/uiUtils.h"
namespace uking::query {
@@ -7,8 +8,48 @@ HasCookResultInPorch::HasCookResultInPorch(const InitArg& arg) : ksys::act::ai::
HasCookResultInPorch::~HasCookResultInPorch() = default;
-// FIXME: implement
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;
}