summaryrefslogtreecommitdiff
path: root/src/Game/AI/Query/queryHasCookResultInPorch.cpp
blob: 534de0f54577cc197cfc1ff1ffe6b3c92e3b213c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include "Game/AI/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