diff options
Diffstat (limited to 'src/Game/AI/Query/queryHasCookResultInPorch.cpp')
| -rw-r--r-- | src/Game/AI/Query/queryHasCookResultInPorch.cpp | 43 |
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; } |
