setReadOnly();
$userID = Session::getUserID();
$db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env');
$gameStor->cacheValues(['killturn', 'autorun_user', 'turnterm']);
increaseRefresh("세력일람", 2);
$me = $db->queryFirstRow(
'SELECT refresh_score, turntime FROM `general`
LEFT JOIN general_access_log AS l ON `general`.no = l.general_id WHERE owner=%i', $userID
);
$limitState = checkLimit($me['refresh_score']);
if ($limitState >= 2) {
printLimitMsg($me['turntime']);
exit();
}
?>
= UniqueConst::$serverName ?>: 세력일람
= WebUtil::printJS('../d_shared/common_path.js') ?>
= WebUtil::printCSS('../d_shared/common.css') ?>
= WebUtil::printDist('vue', [], true) ?>
= WebUtil::printDist('ts', ['common', 'extKingdoms']) ?>
= WebUtil::printStaticValues($gameStor->getValues(['killturn', 'autorun_user', 'turnterm'])) ?>
세 력 일 람 = closeButton() ?> |
$lhs['power'];
});
$nations[0] = getNationStaticInfo(0);
foreach ($db->query('SELECT npc,name,city,nation,officer_level,penalty,permission FROM general ORDER BY dedication DESC') as $general) {
$nationID = $general['nation'];
if (!key_exists('generals', $nations[$nationID])) {
$nations[$nationID]['generals'] = [];
}
$nations[$nationID]['generals'][] = $general;
}
foreach ($db->queryAllLists('SELECT city, name, nation FROM city') as [$cityID, $cityName, $nationID]) {
if (!key_exists('cities', $nations[$nationID])) {
$nations[$nationID]['cities'] = [];
}
$nations[$nationID]['cities'][$cityID] = $cityName;
}
foreach ($nations as $nation) {
if ($nation['nation'] == 0) {
//재야 도시, 장수
continue;
}
$generals = $nation['generals'];
$chiefs = [];
$ambassadors = [];
$auditors = [];
foreach ($generals as $general) {
$officerLevel = $general['officer_level'];
if ($officerLevel >= 5) {
$chiefs[$officerLevel] = $general;
}
$generalPermission = checkSecretPermission($general, false);
if ($generalPermission == 4) {
$ambassadors[] = $general['name'];
} else if ($generalPermission == 3) {
$auditors[] = $general['name'];
}
}
echo "
| 【 {$nation['name']} 】 |
| 성 향 |
" . getNationType($nation['type']) . " |
작 위 |
" . getNationLevel($nation['level']) . " |
국 력 |
{$nation['power']} |
장수 / 속령 |
{$nation['gennum']} / " . count($nation['cities'] ?? []) . " |
";
for ($chiefLevel = 12; $chiefLevel >= 5; $chiefLevel--) {
if ($chiefLevel % 4 == 0) {
echo '
';
}
$chief = $chiefs[$chiefLevel] ?? ['name' => '-', 'npc' => 0];
$officerLevelText = getOfficerLevelText($chiefLevel, $nation['level']);
$chiefText = formatName($chief['name'], $chief['npc']);
echo "| {$officerLevelText} |
{$chiefText} | ";
}
echo "
| 외교권자 | ";
echo join(', ', $ambassadors);
echo " | 조언자 | ";
echo count($auditors) . '명';
echo " |
| ";
if ($nation['level'] > 0) {
echo "속령 일람 : ";
foreach ($nation['cities'] as $cityID => $cityName) {
if ($cityID == $nation['capital']) {
echo "[{$cityName}], ";
} else {
echo "{$cityName}, ";
}
}
} else {
$cityName = CityConst::byID($chiefs[12]['city'])->name;
echo "현재 위치 : {$cityName}";
}
echo "
|
| 장수 일람 : ";
foreach ($generals as $general) {
echo formatName($general['name'], $general['npc']).', ';
}
echo "
|
";
}
//재야
echo "
| 【 재 야 】 |
| |
장 수 |
{$nations[0]['gennum']} |
속 령 |
" . count($nations[0]['cities'] ?? []) . " |
| 속령 일람 : ";
foreach ($nations[0]['cities'] ?? [] as $cityName) {
echo "{$cityName}, ";
}
echo "
|
| 장수 일람 : ";
foreach ($nations[0]['generals'] as $general) {
$generalText = formatName($general['name'], $general['npc']);
echo "{$generalText}, ";
}
echo "
|
";
?>
| = closeButton() ?> |
| = banner() ?> |