Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion data/status_query.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ query::CheckBalladOfHeroActiveTiming:
query::CheckContainerItem:
status: done
query::CheckCookResultStatus:
status: pending
status: done
query::CheckCurrentMap:
status: pending
query::CheckCurseRRetryEverOnce:
Expand Down
2 changes: 1 addition & 1 deletion data/uking_functions.csv
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
20 changes: 18 additions & 2 deletions src/Game/AI/Query/queryCheckCookResultStatus.cpp
Original file line number Diff line number Diff line change
@@ -1,15 +1,31 @@
#include "Game/AI/Query/queryCheckCookResultStatus.h"
#include <evfl/Query.h>
#include "Game/Cooking/cookManager.h"
#include "KingSystem/ActorSystem/actActorUtil.h"
#include "KingSystem/ActorSystem/actTag.h"

namespace uking::query {

CheckCookResultStatus::CheckCookResultStatus(const InitArg& arg) : ksys::act::ai::Query(arg) {}

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) {
Expand Down