Skip to content

Commit b583f00

Browse files
authored
Merge pull request #162 from hgh32/master
match more ai::Query
2 parents 1b79b40 + 276f32f commit b583f00

13 files changed

Lines changed: 134 additions & 60 deletions

data/status_query.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
query::BranchByDyeColor:
2-
status: pending
2+
status: done
33
query::BranchByGameOver:
44
status: pending
55
query::CanCreateMakeItemList:
@@ -17,9 +17,9 @@ query::CheckActorAction14_2:
1717
query::CheckAddPorchItem:
1818
status: pending
1919
query::CheckAppPoint:
20-
status: pending
20+
status: done
2121
query::CheckAppShopSelect:
22-
status: pending
22+
status: done
2323
query::CheckAreaTransition:
2424
status: pending
2525
query::CheckBalladOfHeroActiveTiming:
@@ -47,9 +47,9 @@ query::CheckDownloadItemNum:
4747
query::CheckDuringBloodyMoon:
4848
status: pending
4949
query::CheckDyeShopSelect:
50-
status: pending
50+
status: done
5151
query::CheckE3Mode:
52-
status: pending
52+
status: done
5353
query::CheckEatActor:
5454
status: pending
5555
query::CheckElapsedTimeOfMiniGame:
@@ -97,13 +97,13 @@ query::CheckHorseTakenOut:
9797
query::CheckIsOpenItemCategory:
9898
status: done
9999
query::CheckItemShopDecide:
100-
status: pending
100+
status: done
101101
query::CheckItemShopPorchVacancy:
102-
status: pending
102+
status: done
103103
query::CheckItemShopSelect:
104104
status: pending
105105
query::CheckItemShopSelectBuy:
106-
status: pending
106+
status: done
107107
query::CheckJustBeforeEventCancel:
108108
status: pending
109109
query::CheckLastDamageAttacker:
@@ -115,7 +115,7 @@ query::CheckMapArea:
115115
query::CheckMasterSwordState:
116116
status: pending
117117
query::CheckMaterialValue:
118-
status: pending
118+
status: done
119119
query::CheckMiniGameTime:
120120
status: pending
121121
query::CheckMiniGameTimeOver:
@@ -127,7 +127,7 @@ query::CheckOwnedHorseFamiliarity:
127127
query::CheckPictureBookVacancy:
128128
status: pending
129129
query::CheckPlacedItemSaled:
130-
status: pending
130+
status: done
131131
query::CheckPlayerDeadCause:
132132
status: pending
133133
query::CheckPlayerEquip:
@@ -149,7 +149,7 @@ query::CheckPlayerTemperatureCondition:
149149
query::CheckPlayerWeaponFired:
150150
status: pending
151151
query::CheckPorchInItem:
152-
status: pending
152+
status: done
153153
query::CheckProConUse:
154154
status: done
155155
query::CheckRainRatio:
@@ -163,7 +163,7 @@ query::CheckResultOfNPCConflict:
163163
query::CheckRoad:
164164
status: pending
165165
query::CheckRupee:
166-
status: pending
166+
status: done
167167
query::CheckSelectPicture:
168168
status: pending
169169
query::CheckSellResult:
@@ -235,7 +235,7 @@ query::HasEnoughPayment:
235235
query::HasItemDye:
236236
status: done
237237
query::HasItemDyeSpecifiedColor:
238-
status: pending
238+
status: done
239239
query::HasPorchArrow:
240240
status: done
241241
query::HasPorchItem:
@@ -245,7 +245,7 @@ query::HasPorchItemByCategory:
245245
query::HasPouchItemByPouchCategory:
246246
status: done
247247
query::HasSetItem:
248-
status: pending
248+
status: done
249249
query::HasSpecificArmorSeries:
250250
status: pending
251251
query::IsAppAlreadyExchanged:
@@ -301,7 +301,7 @@ query::IsSoldOut:
301301
query::IsSuccessEndLastDemoAction:
302302
status: done
303303
query::IsTerrorDisappeared:
304-
status: pending
304+
status: done
305305
query::IsWaitRevival:
306306
status: pending
307307
query::IsWeaponDrawn:

data/uking_functions.csv

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40511,7 +40511,7 @@ Address,Quality,Size,Name
4051140511
0x0000007100683e48,O,000048,_ZN5uking5query16BranchByDyeColorC1ERKN4ksys3act2ai5Query7InitArgE
4051240512
0x0000007100683e78,O,000020,_ZN5uking5query16BranchByDyeColorD1Ev
4051340513
0x0000007100683e8c,O,000052,_ZN5uking5query16BranchByDyeColorD0Ev
40514-
0x0000007100683ec0,U,000036,AI_Query_BranchByDyeColor::doQuery
40514+
0x0000007100683ec0,O,000036,_ZN5uking5query16BranchByDyeColor7doQueryEv
4051540515
0x0000007100683ee4,O,000004,_ZN5uking5query16BranchByDyeColor10loadParamsERKN4evfl8QueryArgE
4051640516
0x0000007100683ee8,O,000004,_ZN5uking5query16BranchByDyeColor10loadParamsEv
4051740517
0x0000007100683eec,O,000004,_ZN4ksys3act2ai5Query10loadParamsEv
@@ -40595,13 +40595,13 @@ Address,Quality,Size,Name
4059540595
0x00000071006870e8,O,000048,_ZN5uking5query13CheckAppPointC1ERKN4ksys3act2ai5Query7InitArgE
4059640596
0x0000007100687118,O,000020,_ZN5uking5query13CheckAppPointD1Ev
4059740597
0x000000710068712c,O,000052,_ZN5uking5query13CheckAppPointD0Ev
40598-
0x0000007100687160,U,000108,AI_Query_CheckAppPoint::doQuery
40598+
0x0000007100687160,O,000108,_ZN5uking5query13CheckAppPoint7doQueryEv
4059940599
0x00000071006871cc,O,000204,_ZNK5uking5query13CheckAppPoint27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
4060040600
0x0000007100687298,O,000092,_ZNK5uking5query13CheckAppPoint18getRuntimeTypeInfoEv
4060140601
0x00000071006872f4,O,000048,_ZN5uking5query18CheckAppShopSelectC1ERKN4ksys3act2ai5Query7InitArgE
4060240602
0x0000007100687324,O,000020,_ZN5uking5query18CheckAppShopSelectD1Ev
4060340603
0x0000007100687338,O,000052,_ZN5uking5query18CheckAppShopSelectD0Ev
40604-
0x000000710068736c,U,000132,AI_Query_CheckAppShopSelect::doQuery
40604+
0x000000710068736c,O,000132,_ZN5uking5query18CheckAppShopSelect7doQueryEv
4060540605
0x00000071006873f0,O,000204,_ZNK5uking5query18CheckAppShopSelect27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
4060640606
0x00000071006874bc,O,000092,_ZNK5uking5query18CheckAppShopSelect18getRuntimeTypeInfoEv
4060740607
0x0000007100687518,O,000056,_ZN5uking5query19CheckAreaTransitionC1ERKN4ksys3act2ai5Query7InitArgE
@@ -40712,7 +40712,7 @@ Address,Quality,Size,Name
4071240712
0x0000007100689c90,O,000048,_ZN5uking5query18CheckDyeShopSelectC1ERKN4ksys3act2ai5Query7InitArgE
4071340713
0x0000007100689cc0,O,000020,_ZN5uking5query18CheckDyeShopSelectD1Ev
4071440714
0x0000007100689cd4,O,000052,_ZN5uking5query18CheckDyeShopSelectD0Ev
40715-
0x0000007100689d08,U,000152,AI_Query_CheckDyeShopSelect::doQuery
40715+
0x0000007100689d08,O,000152,_ZN5uking5query18CheckDyeShopSelect7doQueryEv
4071640716
0x0000007100689da0,O,000204,_ZNK5uking5query18CheckDyeShopSelect27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
4071740717
0x0000007100689e6c,O,000092,_ZNK5uking5query18CheckDyeShopSelect18getRuntimeTypeInfoEv
4071840718
0x0000007100689ec8,O,000048,_ZN5uking5query11CheckE3ModeC1ERKN4ksys3act2ai5Query7InitArgE
@@ -40893,13 +40893,13 @@ Address,Quality,Size,Name
4089340893
0x000000710068f09c,O,000048,_ZN5uking5query19CheckItemShopDecideC1ERKN4ksys3act2ai5Query7InitArgE
4089440894
0x000000710068f0cc,O,000020,_ZN5uking5query19CheckItemShopDecideD1Ev
4089540895
0x000000710068f0e0,O,000052,_ZN5uking5query19CheckItemShopDecideD0Ev
40896-
0x000000710068f114,U,000132,AI_Query_CheckItemShopDecide::doQuery
40896+
0x000000710068f114,O,000132,_ZN5uking5query19CheckItemShopDecide7doQueryEv
4089740897
0x000000710068f198,O,000204,_ZNK5uking5query19CheckItemShopDecide27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
4089840898
0x000000710068f264,O,000092,_ZNK5uking5query19CheckItemShopDecide18getRuntimeTypeInfoEv
4089940899
0x000000710068f2c0,O,000048,_ZN5uking5query25CheckItemShopPorchVacancyC1ERKN4ksys3act2ai5Query7InitArgE
4090040900
0x000000710068f2f0,O,000020,_ZN5uking5query25CheckItemShopPorchVacancyD1Ev
4090140901
0x000000710068f304,O,000052,_ZN5uking5query25CheckItemShopPorchVacancyD0Ev
40902-
0x000000710068f338,U,000132,AI_Query_CheckItemShopPorchVacancy::doQuery
40902+
0x000000710068f338,O,000132,_ZN5uking5query25CheckItemShopPorchVacancy7doQueryEv
4090340903
0x000000710068f3bc,O,000204,_ZNK5uking5query25CheckItemShopPorchVacancy27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
4090440904
0x000000710068f488,O,000092,_ZNK5uking5query25CheckItemShopPorchVacancy18getRuntimeTypeInfoEv
4090540905
0x000000710068f4e4,O,000048,_ZN5uking5query19CheckItemShopSelectC1ERKN4ksys3act2ai5Query7InitArgE
@@ -40911,7 +40911,7 @@ Address,Quality,Size,Name
4091140911
0x000000710068f710,O,000048,_ZN5uking5query22CheckItemShopSelectBuyC1ERKN4ksys3act2ai5Query7InitArgE
4091240912
0x000000710068f740,O,000020,_ZN5uking5query22CheckItemShopSelectBuyD1Ev
4091340913
0x000000710068f754,O,000052,_ZN5uking5query22CheckItemShopSelectBuyD0Ev
40914-
0x000000710068f788,U,000128,AI_Query_CheckItemShopSelectBuy::doQuery
40914+
0x000000710068f788,O,000128,_ZN5uking5query22CheckItemShopSelectBuy7doQueryEv
4091540915
0x000000710068f808,O,000204,_ZNK5uking5query22CheckItemShopSelectBuy27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
4091640916
0x000000710068f8d4,O,000092,_ZNK5uking5query22CheckItemShopSelectBuy18getRuntimeTypeInfoEv
4091740917
0x000000710068f930,O,000072,_ZN5uking5query23CheckLastDamageAttackerC1ERKN4ksys3act2ai5Query7InitArgE
@@ -40947,7 +40947,7 @@ Address,Quality,Size,Name
4094740947
0x0000007100690344,O,000048,_ZN5uking5query18CheckMaterialValueC1ERKN4ksys3act2ai5Query7InitArgE
4094840948
0x0000007100690374,O,000020,_ZN5uking5query18CheckMaterialValueD1Ev
4094940949
0x0000007100690388,O,000052,_ZN5uking5query18CheckMaterialValueD0Ev
40950-
0x00000071006903bc,U,000120,AI_Query_CheckMaterialValue::doQuery
40950+
0x00000071006903bc,O,000120,_ZN5uking5query18CheckMaterialValue7doQueryEv
4095140951
0x0000007100690434,O,000204,_ZNK5uking5query18CheckMaterialValue27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
4095240952
0x0000007100690500,O,000092,_ZNK5uking5query18CheckMaterialValue18getRuntimeTypeInfoEv
4095340953
0x000000710069055c,O,000056,_ZN5uking5query17CheckMiniGameTimeC1ERKN4ksys3act2ai5Query7InitArgE
@@ -40991,7 +40991,7 @@ Address,Quality,Size,Name
4099140991
0x0000007100691624,O,000048,_ZN5uking5query20CheckPlacedItemSaledC1ERKN4ksys3act2ai5Query7InitArgE
4099240992
0x0000007100691654,O,000020,_ZN5uking5query20CheckPlacedItemSaledD1Ev
4099340993
0x0000007100691668,O,000052,_ZN5uking5query20CheckPlacedItemSaledD0Ev
40994-
0x000000710069169c,U,000136,AI_Query_CheckPlacedItemSaled::doQuery
40994+
0x000000710069169c,O,000136,_ZN5uking5query20CheckPlacedItemSaled7doQueryEv
4099540995
0x0000007100691724,O,000204,_ZNK5uking5query20CheckPlacedItemSaled27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
4099640996
0x00000071006917f0,O,000092,_ZNK5uking5query20CheckPlacedItemSaled18getRuntimeTypeInfoEv
4099740997
0x000000710069184c,O,000052,_ZN5uking5query20CheckPlayerDeadCauseC1ERKN4ksys3act2ai5Query7InitArgE
@@ -41398,7 +41398,7 @@ Address,Quality,Size,Name
4139841398
0x000000710069b634,O,000048,_ZN5uking5query24HasItemDyeSpecifiedColorC1ERKN4ksys3act2ai5Query7InitArgE
4139941399
0x000000710069b664,O,000020,_ZN5uking5query24HasItemDyeSpecifiedColorD1Ev
4140041400
0x000000710069b678,O,000052,_ZN5uking5query24HasItemDyeSpecifiedColorD0Ev
41401-
0x000000710069b6ac,U,000052,AI_Query_HasItemDyeSpecifiedColor::doQuery
41401+
0x000000710069b6ac,O,000052,_ZN5uking5query24HasItemDyeSpecifiedColor7doQueryEv
4140241402
0x000000710069b6e0,O,000204,_ZNK5uking5query24HasItemDyeSpecifiedColor27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
4140341403
0x000000710069b7ac,O,000092,_ZNK5uking5query24HasItemDyeSpecifiedColor18getRuntimeTypeInfoEv
4140441404
0x000000710069b808,O,000052,_ZN5uking5query13HasPorchArrowC1ERKN4ksys3act2ai5Query7InitArgE
@@ -41436,7 +41436,7 @@ Address,Quality,Size,Name
4143641436
0x000000710069c564,O,000076,_ZN5uking5query10HasSetItemC1ERKN4ksys3act2ai5Query7InitArgE
4143741437
0x000000710069c5b0,O,000020,_ZN5uking5query10HasSetItemD1Ev
4143841438
0x000000710069c5c4,O,000052,_ZN5uking5query10HasSetItemD0Ev
41439-
0x000000710069c5f8,m,000200,_ZN5uking5query10HasSetItem7doQueryEv
41439+
0x000000710069c5f8,O,000200,_ZN5uking5query10HasSetItem7doQueryEv
4144041440
0x000000710069c6c0,O,000112,_ZN5uking5query10HasSetItem10loadParamsERKN4evfl8QueryArgE
4144141441
0x000000710069c730,O,000100,_ZN5uking5query10HasSetItem10loadParamsEv
4144241442
0x000000710069c794,O,000204,_ZNK5uking5query10HasSetItem27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE

src/Game/AI/Query/queryBranchByDyeColor.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
#include "Game/AI/Query/queryBranchByDyeColor.h"
22
#include <evfl/Query.h>
3+
#include "KingSystem/GameData/gdtCommonFlagsUtils.h"
34

45
namespace uking::query {
56

67
BranchByDyeColor::BranchByDyeColor(const InitArg& arg) : ksys::act::ai::Query(arg) {}
78

89
BranchByDyeColor::~BranchByDyeColor() = default;
910

10-
// FIXME: implement
1111
int BranchByDyeColor::doQuery() {
12-
return -1;
12+
auto index = ksys::gdt::getFlag_ColorChange_MaterialIndex();
13+
if (index >= 1 && index <= 15) {
14+
return index;
15+
}
16+
return 0;
1317
}
1418

1519
void BranchByDyeColor::loadParams(const evfl::QueryArg& arg) {}

src/Game/AI/Query/queryCheckAppPoint.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
#include "Game/AI/Query/queryCheckAppPoint.h"
22
#include <evfl/Query.h>
3+
#include "KingSystem/GameData/gdtSpecialFlags.h"
34

45
namespace uking::query {
56

67
CheckAppPoint::CheckAppPoint(const InitArg& arg) : ksys::act::ai::Query(arg) {}
78

89
CheckAppPoint::~CheckAppPoint() = default;
910

10-
// FIXME: implement
1111
int CheckAppPoint::doQuery() {
12-
return -1;
12+
s32 reach = ksys::gdt::getS32ByKey("ReachPointActorDiscoverNum");
13+
s32 use = ksys::gdt::getS32ByKey("App_ExtendUsePoint");
14+
return reach - use > 1;
1315
}
1416

1517
void CheckAppPoint::loadParams(const evfl::QueryArg& arg) {}

src/Game/AI/Query/queryCheckAppShopSelect.cpp

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,27 @@
11
#include "Game/AI/Query/queryCheckAppShopSelect.h"
22
#include <evfl/Query.h>
3+
#include "KingSystem/GameData/gdtManager.h"
34

45
namespace uking::query {
56

67
CheckAppShopSelect::CheckAppShopSelect(const InitArg& arg) : ksys::act::ai::Query(arg) {}
78

89
CheckAppShopSelect::~CheckAppShopSelect() = default;
910

10-
// FIXME: implement
1111
int CheckAppShopSelect::doQuery() {
12-
return -1;
12+
auto* gdm = ksys::gdt::Manager::instance();
13+
if (gdm != nullptr) {
14+
int screen_type = -1;
15+
if (gdm->getParam().get().getS32(&screen_type, "Shop_ScreenType")) {
16+
if (screen_type == 15) {
17+
return 0;
18+
}
19+
if (screen_type == 0) {
20+
return 1;
21+
}
22+
}
23+
}
24+
return 1;
1325
}
1426

1527
void CheckAppShopSelect::loadParams(const evfl::QueryArg& arg) {}

src/Game/AI/Query/queryCheckDyeShopSelect.cpp

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,27 @@
11
#include "Game/AI/Query/queryCheckDyeShopSelect.h"
22
#include <evfl/Query.h>
3+
#include "KingSystem/GameData/gdtManager.h"
34

45
namespace uking::query {
56

67
CheckDyeShopSelect::CheckDyeShopSelect(const InitArg& arg) : ksys::act::ai::Query(arg) {}
78

89
CheckDyeShopSelect::~CheckDyeShopSelect() = default;
910

10-
// FIXME: implement
1111
int CheckDyeShopSelect::doQuery() {
12-
return -1;
12+
auto* gdm = ksys::gdt::Manager::instance();
13+
if (gdm != nullptr) {
14+
int screen_type = -1;
15+
if (gdm->getParam().get().getS32(&screen_type, "Shop_ScreenType") && (screen_type != 0)) {
16+
if (screen_type == 9) {
17+
return 0;
18+
}
19+
if (screen_type == 10) {
20+
return 1;
21+
}
22+
}
23+
}
24+
return 2;
1325
}
1426

1527
void CheckDyeShopSelect::loadParams(const evfl::QueryArg& arg) {}

src/Game/AI/Query/queryCheckItemShopDecide.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
#include "Game/AI/Query/queryCheckItemShopDecide.h"
22
#include <evfl/Query.h>
3+
#include "KingSystem/GameData/gdtManager.h"
34

45
namespace uking::query {
56

67
CheckItemShopDecide::CheckItemShopDecide(const InitArg& arg) : ksys::act::ai::Query(arg) {}
78

89
CheckItemShopDecide::~CheckItemShopDecide() = default;
910

10-
// FIXME: implement
1111
int CheckItemShopDecide::doQuery() {
12-
return -1;
12+
bool decide = false;
13+
auto* gdm = ksys::gdt::Manager::instance();
14+
if (gdm != nullptr) {
15+
if (gdm->getParam().get().getBool(&decide, "Shop_IsDecide") && decide) {
16+
return 1;
17+
}
18+
}
19+
return 0;
1320
}
1421

1522
void CheckItemShopDecide::loadParams(const evfl::QueryArg& arg) {}

src/Game/AI/Query/queryCheckItemShopPorchVacancy.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include "Game/AI/Query/queryCheckItemShopPorchVacancy.h"
22
#include <evfl/Query.h>
3+
#include "KingSystem/GameData/gdtManager.h"
34

45
namespace uking::query {
56

@@ -8,9 +9,16 @@ CheckItemShopPorchVacancy::CheckItemShopPorchVacancy(const InitArg& arg)
89

910
CheckItemShopPorchVacancy::~CheckItemShopPorchVacancy() = default;
1011

11-
// FIXME: implement
1212
int CheckItemShopPorchVacancy::doQuery() {
13-
return -1;
13+
auto* gdm = ksys::gdt::Manager::instance();
14+
if (gdm != nullptr) {
15+
int item_state = -1;
16+
if (gdm->getParam().get().getS32(&item_state, "Shop_CurrentItemState") &&
17+
(item_state == 7)) {
18+
return 0;
19+
}
20+
}
21+
return 1;
1422
}
1523

1624
void CheckItemShopPorchVacancy::loadParams(const evfl::QueryArg& arg) {}

src/Game/AI/Query/queryCheckItemShopSelectBuy.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
#include "Game/AI/Query/queryCheckItemShopSelectBuy.h"
22
#include <evfl/Query.h>
3+
#include "KingSystem/GameData/gdtManager.h"
34

45
namespace uking::query {
56

67
CheckItemShopSelectBuy::CheckItemShopSelectBuy(const InitArg& arg) : ksys::act::ai::Query(arg) {}
78

89
CheckItemShopSelectBuy::~CheckItemShopSelectBuy() = default;
910

10-
// FIXME: implement
1111
int CheckItemShopSelectBuy::doQuery() {
12-
return -1;
12+
auto* gdm = ksys::gdt::Manager::instance();
13+
if (gdm != nullptr) {
14+
int screen_type = -1;
15+
if (gdm->getParam().get().getS32(&screen_type, "Shop_ScreenType")) {
16+
return screen_type != 1;
17+
}
18+
}
19+
return 0;
1320
}
1421

1522
void CheckItemShopSelectBuy::loadParams(const evfl::QueryArg& arg) {}

0 commit comments

Comments
 (0)