From 60dd80779a92120c74e7bda9e1ccf2695e2c7c19 Mon Sep 17 00:00:00 2001 From: theo3 Date: Thu, 1 Jul 2021 19:28:09 -0700 Subject: match some ai::Query --- src/Game/AI/Query/queryHasCookResultInPorch.cpp | 43 ++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) (limited to 'src/Game/AI/Query/queryHasCookResultInPorch.cpp') 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 +#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; } -- cgit v1.2.3