test(compare): trace deterministic monthly seed progression

This commit is contained in:
2026-08-03 18:57:01 +00:00
parent 3b2fd1082f
commit f16a6b6880
23 changed files with 1274 additions and 213 deletions
@@ -71,6 +71,21 @@ class ProcessSemiAnnual extends \sammo\Event\Action
$resource = $this->resource;
$traceGeneralIDs = array_filter(explode(',', (string)getenv('REF_AI_TRACE_GENERAL_IDS')), 'strlen');
if (getenv('REF_DETERMINISTIC_INSTALL_ENABLED') === '1' && getenv('SEED_PARITY_MONTHLY_RESOURCE_TRACE') === '1') {
foreach ($traceGeneralIDs as $generalID) {
$current = $db->queryFirstField('SELECT %b FROM general WHERE no = %i', $resource, (int)$generalID);
if ($current !== null) {
fwrite(STDOUT, 'MONTHLY_RESOURCE_REF ' . json_encode([
'action' => 'ProcessSemiAnnual',
'resource' => $resource,
'generalId' => (int)$generalID,
'current' => (int)$current,
], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "\n");
}
}
}
// 내정 1% 감소
$db->update('city', [
'dead' => 0,
@@ -90,6 +105,20 @@ class ProcessSemiAnnual extends \sammo\Event\Action
$resource => $db->sqleval('IF(%b > 10000, %b * 0.97, %b * 0.99)', $resource, $resource, $resource)
], '%b > 1000', $resource);
if (getenv('REF_DETERMINISTIC_INSTALL_ENABLED') === '1' && getenv('SEED_PARITY_MONTHLY_RESOURCE_TRACE') === '1') {
foreach ($traceGeneralIDs as $generalID) {
$next = $db->queryFirstField('SELECT %b FROM general WHERE no = %i', $resource, (int)$generalID);
if ($next !== null) {
fwrite(STDOUT, 'MONTHLY_RESOURCE_REF ' . json_encode([
'action' => 'ProcessSemiAnnualAfter',
'resource' => $resource,
'generalId' => (int)$generalID,
'next' => (int)$next,
], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "\n");
}
}
}
// > 100000 유지비 5%, > 100000 유지비 3%, > 1000 유지비 1%
$db->update('nation', [
$resource => $db->sqleval('IF(%b > 100000, %b * 0.95, IF(%b > 10000, %b * 0.97, %b * 0.99))', $resource, $resource, $resource, $resource, $resource)