test(compare): trace monthly post tail effects
This commit is contained in:
@@ -364,6 +364,13 @@ function comparisonMonthlyEventTraceMain(): void
|
||||
DB::db()->delete('ng_auction', '`type` = %s AND finished = 0', 'uniqueItem');
|
||||
DB::db()->query('DELETE FROM storage WHERE namespace LIKE %s', 'ut\\_%');
|
||||
}
|
||||
if (($setup['clearNeutralAuctions'] ?? false) === true) {
|
||||
DB::db()->delete(
|
||||
'ng_auction',
|
||||
'`type` IN %ls AND host_general_id = 0',
|
||||
['buyRice', 'sellRice'],
|
||||
);
|
||||
}
|
||||
foreach (comparisonIntegerList($setup['clearNationTurnIds'] ?? [], 'clearNationTurnIds') as $nationId) {
|
||||
DB::db()->delete('nation_turn', 'nation_id = %i', $nationId);
|
||||
}
|
||||
@@ -525,7 +532,16 @@ function comparisonMonthlyEventTraceMain(): void
|
||||
}
|
||||
UniqueConst::$hiddenSeed = $worldPatch['hiddenSeed'];
|
||||
}
|
||||
foreach (['isunited', 'refreshLimit', 'block_change_scout', 'lastNPCTroopLeaderID'] as $key) {
|
||||
foreach ([
|
||||
'isunited',
|
||||
'refreshLimit',
|
||||
'block_change_scout',
|
||||
'lastNPCTroopLeaderID',
|
||||
'tournament',
|
||||
'tnmt_trig',
|
||||
'tnmt_pattern',
|
||||
'prev_winner',
|
||||
] as $key) {
|
||||
if (array_key_exists($key, $gameEnvironmentPatch)) {
|
||||
$gameStorage->setValue($key, $gameEnvironmentPatch[$key]);
|
||||
}
|
||||
@@ -544,6 +560,8 @@ function comparisonMonthlyEventTraceMain(): void
|
||||
(int)($db->queryFirstField('SELECT COALESCE(MAX(nation), 0) FROM nation') ?? 0);
|
||||
$eventIdBeforeAction =
|
||||
(int)($db->queryFirstField('SELECT COALESCE(MAX(id), 0) FROM event') ?? 0);
|
||||
$auctionIdBeforeAction =
|
||||
(int)($db->queryFirstField('SELECT COALESCE(MAX(id), 0) FROM ng_auction') ?? 0);
|
||||
$snapshotRequest = ['observe' => $request['observe'] ?? []];
|
||||
$snapshotRequest['observe']['logAfterId'] =
|
||||
(int)($db->queryFirstField('SELECT COALESCE(MAX(id), 0) FROM general_record') ?? 0);
|
||||
@@ -817,6 +835,30 @@ function comparisonMonthlyEventTraceMain(): void
|
||||
'develcost',
|
||||
]);
|
||||
}
|
||||
if ($actionName === 'PostUpdateMonthly') {
|
||||
$response['gameEnvironment'] = KVStorage::getStorage(DB::db(), 'game_env')->getValues([
|
||||
'tournament',
|
||||
'tnmt_trig',
|
||||
'tnmt_pattern',
|
||||
'tnmt_type',
|
||||
'tnmt_auto',
|
||||
'phase',
|
||||
]);
|
||||
$response['createdNeutralAuctions'] = array_map(
|
||||
static fn(array $row): array => [
|
||||
'id' => (int)$row['id'],
|
||||
'type' => $row['type'],
|
||||
'target' => $row['target'],
|
||||
'detail' => Json::decode($row['detail']),
|
||||
],
|
||||
iterator_to_array(
|
||||
$db->query(
|
||||
'SELECT id, `type`, target, detail FROM ng_auction WHERE id > %i AND host_general_id = 0 ORDER BY id',
|
||||
$auctionIdBeforeAction,
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (in_array($actionName, ['OpenNationBetting', 'FinishNationBetting'], true)) {
|
||||
$bettingStorage = KVStorage::getStorage(DB::db(), 'betting');
|
||||
$response['betting'] = $bettingStorage->getAll();
|
||||
|
||||
Reference in New Issue
Block a user