From a12378a7807766f30c74dede03609d30ad80a30b Mon Sep 17 00:00:00 2001 From: RobbyV2 Date: Fri, 31 Jul 2026 13:16:18 -0400 Subject: [PATCH] query: match CheckCookResultStatus::doQuery --- data/status_query.yml | 2 +- data/uking_functions.csv | 2 +- .../AI/Query/queryCheckCookResultStatus.cpp | 20 +++++++++++++++++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/data/status_query.yml b/data/status_query.yml index 34557ea9f..1cf747c5b 100644 --- a/data/status_query.yml +++ b/data/status_query.yml @@ -27,7 +27,7 @@ query::CheckBalladOfHeroActiveTiming: query::CheckContainerItem: status: done query::CheckCookResultStatus: - status: pending + status: done query::CheckCurrentMap: status: pending query::CheckCurseRRetryEverOnce: diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 390b92ce2..3097c85e2 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -40804,7 +40804,7 @@ Address,Quality,Size,Name 0x0000007100687f40,O,000052,_ZN5uking5query21CheckCookResultStatusC1ERKN4ksys3act2ai5Query7InitArgE 0x0000007100687f74,O,000020,_ZN5uking5query21CheckCookResultStatusD1Ev 0x0000007100687f88,O,000052,_ZN5uking5query21CheckCookResultStatusD0Ev -0x0000007100687fbc,U,000140,AI_Query_CheckCookResultStatus::doQuery +0x0000007100687fbc,O,000140,_ZN5uking5query21CheckCookResultStatus7doQueryEv 0x0000007100688048,O,000064,_ZN5uking5query21CheckCookResultStatus10loadParamsERKN4evfl8QueryArgE 0x0000007100688088,O,000100,_ZN5uking5query21CheckCookResultStatus10loadParamsEv 0x00000071006880ec,O,000204,_ZNK5uking5query21CheckCookResultStatus27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE diff --git a/src/Game/AI/Query/queryCheckCookResultStatus.cpp b/src/Game/AI/Query/queryCheckCookResultStatus.cpp index 444bba432..ce9eb3227 100644 --- a/src/Game/AI/Query/queryCheckCookResultStatus.cpp +++ b/src/Game/AI/Query/queryCheckCookResultStatus.cpp @@ -1,5 +1,8 @@ #include "Game/AI/Query/queryCheckCookResultStatus.h" #include +#include "Game/Cooking/cookManager.h" +#include "KingSystem/ActorSystem/actActorUtil.h" +#include "KingSystem/ActorSystem/actTag.h" namespace uking::query { @@ -7,9 +10,22 @@ CheckCookResultStatus::CheckCookResultStatus(const InitArg& arg) : ksys::act::ai CheckCookResultStatus::~CheckCookResultStatus() = default; -// FIXME: implement int CheckCookResultStatus::doQuery() { - return -1; + auto* cooking_mgr = CookingMgr::instance(); + if (!cooking_mgr) + return 0; + + CookItem cook_item; + cooking_mgr->getCookItem(cook_item); + + switch (*mCheckType) { + case 0: + return !ksys::act::hasTag(cook_item.actor_name, ksys::act::tags::CookFailure); + case 1: + return cook_item.is_crit; + default: + return 0; + } } void CheckCookResultStatus::loadParams(const evfl::QueryArg& arg) {