From d39e8400fca291ded5a9c44cd0b798f1bd5c747c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Fri, 26 Mar 2021 14:53:08 +0100 Subject: [PATCH] query: Implement CheckContainerItem --- data/status_query.yml | 2 +- data/uking_functions.csv | 2 +- src/Game/AI/Query/queryCheckContainerItem.cpp | 11 +++++++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/data/status_query.yml b/data/status_query.yml index 416f76f6..26519c65 100644 --- a/data/status_query.yml +++ b/data/status_query.yml @@ -25,7 +25,7 @@ query::CheckAreaTransition: query::CheckBalladOfHeroActiveTiming: status: pending query::CheckContainerItem: - status: pending + status: done query::CheckCookResultStatus: status: pending query::CheckCurrentMap: diff --git a/data/uking_functions.csv b/data/uking_functions.csv index c6130469..4621fdeb 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -40604,7 +40604,7 @@ 0x0000007100687cbc,AI_Query_CheckContainerItem::ctor,72,_ZN5uking5query18CheckContainerItemC1ERKN4ksys3act2ai5Query7InitArgE 0x0000007100687d04,AI_Query_CheckContainerItem::dtor,20,_ZN5uking5query18CheckContainerItemD1Ev 0x0000007100687d18,AI_Query_CheckContainerItem::dtorDelete,52,_ZN5uking5query18CheckContainerItemD0Ev -0x0000007100687d4c,AI_Query_CheckContainerItem::doQuery,76, +0x0000007100687d4c,AI_Query_CheckContainerItem::doQuery,76,_ZN5uking5query18CheckContainerItem7doQueryEv 0x0000007100687d98,AI_Query_CheckContainerItem::m10,64,_ZN5uking5query18CheckContainerItem10loadParamsERKN4evfl8QueryArgE 0x0000007100687dd8,AI_Query_CheckContainerItem::loadParams,64,_ZN5uking5query18CheckContainerItem10loadParamsEv 0x0000007100687e18,AI_Query_CheckContainerItem::rtti1,204,_ZNK5uking5query18CheckContainerItem27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE diff --git a/src/Game/AI/Query/queryCheckContainerItem.cpp b/src/Game/AI/Query/queryCheckContainerItem.cpp index 48015944..0089e306 100644 --- a/src/Game/AI/Query/queryCheckContainerItem.cpp +++ b/src/Game/AI/Query/queryCheckContainerItem.cpp @@ -1,5 +1,7 @@ #include "Game/AI/Query/queryCheckContainerItem.h" #include +#include "KingSystem/ActorSystem/actActorUtil.h" +#include "KingSystem/ActorSystem/actTag.h" namespace uking::query { @@ -7,9 +9,14 @@ CheckContainerItem::CheckContainerItem(const InitArg& arg) : ksys::act::ai::Quer CheckContainerItem::~CheckContainerItem() = default; -// FIXME: implement int CheckContainerItem::doQuery() { - return -1; + if (ksys::act::hasTag(mPorchItemName, ksys::act::tags::HeartContainer)) + return 1; + + if (ksys::act::hasTag(mPorchItemName, ksys::act::tags::StaminaContainer)) + return 1; + + return 0; } void CheckContainerItem::loadParams(const evfl::QueryArg& arg) {