forked from devsam/core
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7b75f4e01b | ||
|
|
a9fc69e70f | ||
|
|
a06c574327 | ||
|
|
420ae2f45b | ||
|
|
850073a096 | ||
|
|
e40aa88253 | ||
|
|
ff92b0149a | ||
|
|
e6049a17a2 | ||
|
|
9bc1bc13f2 | ||
|
|
b9cda08a4e | ||
|
|
4e2193fe6f | ||
|
|
155af45378 | ||
|
|
66d6bbc772 | ||
|
|
066a6d4e6a | ||
|
|
94f5834b61 | ||
|
|
947286bd09 | ||
|
|
a0dee353b5 | ||
|
|
308b1f2348 | ||
|
|
897780cf1c | ||
|
|
0f8a8011be | ||
|
|
7ebfd960b1 | ||
|
|
7b3d64996d | ||
|
|
e578a2f310 | ||
|
|
eecb4f699b | ||
|
|
9f4f7a759e | ||
|
|
11a98eb184 | ||
|
|
ed0bc5e19f | ||
|
|
020a2d2668 | ||
|
|
27cdd3ee4b | ||
|
|
43a95979e1 | ||
|
|
800106f9cb | ||
|
|
e5c50e48d3 | ||
|
|
08e43bed71 | ||
|
|
6773b8cddb | ||
|
|
23c030fd00 | ||
|
|
d5e67bb16d | ||
|
|
188e3a0fa6 | ||
|
|
b31ee022af | ||
|
|
87e063e03e | ||
|
|
48fe26e4b1 | ||
|
|
88fcc64537 | ||
|
|
d9beabbbbc | ||
|
|
3da0a7d950 | ||
|
|
50b1db75f0 | ||
|
|
94bb96d208 | ||
|
|
93490276fd | ||
|
|
73a7bf5a61 | ||
|
|
8a1f8f8e2c | ||
|
|
39c88c11c4 | ||
|
|
c2e956a639 | ||
|
|
368f31d1fa | ||
|
|
d3390dc490 | ||
|
|
eb36b6a52f | ||
|
|
be882000ad | ||
|
|
266c1c6a5b | ||
|
|
7864fe1e0f | ||
|
|
fe08fe0e2e | ||
|
|
87775a9471 | ||
|
|
8089457aa8 | ||
|
|
e443f92ddb | ||
|
|
cb65666600 | ||
|
|
6ed174e5dc | ||
|
|
dd7f0ef3bf | ||
|
|
ec8e43a2a9 | ||
|
|
a83b6b55cd | ||
|
|
d43f15e096 | ||
|
|
e09fdefa68 | ||
|
|
2b483749bc | ||
|
|
048d71920c | ||
|
|
47366086d5 | ||
|
|
f9a73be82b | ||
|
|
e7918469e5 | ||
|
|
687559a1a3 | ||
|
|
398c11e607 | ||
|
|
191544d28b | ||
|
|
647c2439e3 | ||
|
|
da2a6f347a |
@@ -45,7 +45,6 @@ return [
|
||||
'hwe/api.php',
|
||||
'hwe/a_traffic.php',
|
||||
'hwe/battle_simulator.php',
|
||||
'hwe/b_battleCenter.php',
|
||||
'hwe/b_betting.php',
|
||||
'hwe/v_chiefCenter.php',
|
||||
'hwe/b_currentCity.php',
|
||||
@@ -58,7 +57,6 @@ return [
|
||||
'hwe/b_myPage.php',
|
||||
'hwe/v_processing.php',
|
||||
'hwe/b_tournament.php',
|
||||
'hwe/b_troop.php',
|
||||
'hwe/c_tournament.php',
|
||||
'hwe/func_auction.php',
|
||||
'hwe/func_command.php',
|
||||
@@ -83,7 +81,6 @@ return [
|
||||
'hwe/j_board_article_add.php',
|
||||
'hwe/j_board_comment_add.php',
|
||||
'hwe/j_board_get_articles.php',
|
||||
'hwe/j_die_immediately.php',
|
||||
'hwe/j_diplomacy_destroy_letter.php',
|
||||
'hwe/j_diplomacy_get_letter.php',
|
||||
'hwe/j_diplomacy_respond_letter.php',
|
||||
|
||||
@@ -34,6 +34,7 @@ $templates = new \League\Plates\Engine(__DIR__ . '/templates');
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', ['common', 'bestGeneral']) ?>
|
||||
</head>
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ increaseRefresh("왕조일람", 1);
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', 'common') ?>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -28,6 +28,7 @@ $serverID = $emperior['server_id'] ?? ($emperior['serverID'] ?? null);
|
||||
<meta name="viewport" content="width=1024" />
|
||||
<title><?= UniqueConst::$serverName ?>: 왕조일람</title>
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', 'common', true) ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ if ($gameStor->isunited) {
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', 'common') ?>
|
||||
|
||||
</head>
|
||||
|
||||
@@ -49,6 +49,7 @@ if ($scenarioIdx && key_exists($scenarioIdx, $scenarioList[$seasonIdx] ?? [])) {
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', ['common', 'hallOfFame']) ?>
|
||||
</head>
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ if ($con >= 2) {
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', ['common', 'extKingdoms']) ?>
|
||||
<?= WebUtil::printStaticValues($gameStor->getValues(['killturn', 'autorun_user', 'turnterm'])) ?>
|
||||
</head>
|
||||
|
||||
@@ -30,6 +30,7 @@ $sel[$type] = "selected";
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', ['common']) ?>
|
||||
</head>
|
||||
|
||||
|
||||
@@ -83,6 +83,7 @@ if ($admin['maxonline'] < $curonline) {
|
||||
}
|
||||
</style>
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', ['common']) ?>
|
||||
</head>
|
||||
|
||||
|
||||
@@ -1,208 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
$v = new Validator($_POST + $_GET);
|
||||
$v->rule('required', 'gen')
|
||||
->rule('integer', 'gen');
|
||||
|
||||
$btn = Util::getReq('btn');
|
||||
$gen = Util::getReq('gen', 'int', 0);
|
||||
$reqQueryType = Util::getReq('query_type', 'string', null);
|
||||
|
||||
// $queryTypeText, $reqArgType(0=>None, 1=>AdditionalColumn, 2=>rankVal, 3=>aux), $comp
|
||||
$queryMap = [
|
||||
'turntime' => ['최근턴', 0, function ($lhs, $rhs) {
|
||||
return - ($lhs['turntime'] <=> $rhs['turntime']);
|
||||
}],
|
||||
'recent_war' => ['최근전투', 1, function ($lhs, $rhs) {
|
||||
return - ($lhs['recent_war'] <=> $rhs['recent_war']);
|
||||
}],
|
||||
'name' => ['장수명', 0, function ($lhs, $rhs) {
|
||||
if ($lhs['npc'] !== $rhs['npc']) {
|
||||
return $lhs['npc'] <=> $rhs['npc'];
|
||||
}
|
||||
return $lhs['name'] <=> $rhs['name'];
|
||||
}],
|
||||
'warnum' => ['전투수', 2, function ($lhs, $rhs) {
|
||||
return - ($lhs['warnum'] <=> $rhs['warnum']);
|
||||
}]
|
||||
];
|
||||
|
||||
if ($reqQueryType === null || !key_exists($reqQueryType, $queryMap)) {
|
||||
$reqQueryType = Util::array_first_key($queryMap);
|
||||
}
|
||||
|
||||
|
||||
//로그인 검사
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
|
||||
increaseRefresh("감찰부", 2);
|
||||
//전투 추진을 위해 갱신
|
||||
TurnExecutionHelper::executeAllCommand();
|
||||
$gameStor->resetCache();
|
||||
|
||||
$testGeneralNationID = $db->queryFirstField('SELECT nation FROM general WHERE no = %i', $gen);
|
||||
|
||||
$me = $db->queryFirstRow('SELECT no,nation,officer_level,con,turntime,belong,permission,penalty from general where owner=%i', $userID);
|
||||
$nationID = $me['nation'];
|
||||
|
||||
$con = checkLimit($me['con']);
|
||||
if ($con >= 2) {
|
||||
printLimitMsg($me['turntime']);
|
||||
exit();
|
||||
}
|
||||
|
||||
$permission = checkSecretPermission($me);
|
||||
if ($permission < 0) {
|
||||
echo '국가에 소속되어있지 않습니다.';
|
||||
die();
|
||||
} else if ($permission < 1) {
|
||||
echo "권한이 부족합니다. 수뇌부가 아니거나 사관년도가 부족합니다.";
|
||||
die();
|
||||
}
|
||||
|
||||
//잘못된 접근
|
||||
if ($testGeneralNationID != $nationID) {
|
||||
$gen = 0;
|
||||
}
|
||||
|
||||
if ($btn == '정렬') {
|
||||
$gen = 0;
|
||||
}
|
||||
|
||||
|
||||
[$queryTypeText, $reqArgType, $comp] = $queryMap[$reqQueryType];
|
||||
if ($reqArgType === 0) {
|
||||
$generalBasicList = $db->query('SELECT no, name, npc, turntime, officer_level FROM general WHERE nation = %i', $nationID);
|
||||
} else if ($reqArgType === 1) {
|
||||
$generalBasicList = $db->query('SELECT no, name, npc, turntime, officer_level, %b FROM general WHERE nation = %i', $reqQueryType, $nationID);
|
||||
} else if ($reqArgType === 2) {
|
||||
$generalBasicList = $db->query(
|
||||
'SELECT no, name, npc, turntime, officer_level, value as %b
|
||||
FROM general LEFT JOIN rank_data
|
||||
ON general.no = rank_data.general_id
|
||||
WHERE rank_data.type = %s AND general.nation = %i',
|
||||
$reqQueryType,
|
||||
$reqQueryType,
|
||||
$nationID
|
||||
);
|
||||
} else if ($reqArgType === 3) {
|
||||
$generalBasicList = array_map(function ($arr) {
|
||||
$arr['aux'] = Json::decode($arr['aux']);
|
||||
return $arr;
|
||||
}, $db->query('SELECT no, name, npc, turntime, officer_level, aux FROM general WHERE nation = %i', $nationID));
|
||||
} else {
|
||||
throw new \sammo\MustNotBeReachedException();
|
||||
}
|
||||
|
||||
|
||||
usort($generalBasicList, $comp);
|
||||
|
||||
if (!$gen) {
|
||||
$gen = $generalBasicList[0]['no'];
|
||||
}
|
||||
$showGeneral = General::createGeneralObjFromDB($gen);
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title><?= UniqueConst::$serverName ?>: 감찰부</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=500" />
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
<?= WebUtil::printDist('ts', ['common', 'battleCenter']) ?>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="container" class="bg0">
|
||||
<div class="row gx-0">
|
||||
<div class="col">감 찰 부<br><?= closeButton() ?></div>
|
||||
</div>
|
||||
<div class="row gx-0">
|
||||
<div class="col-12" style="border-left: solid 1px gray; border-right:solid 1px gray;">
|
||||
<form name=form1 method=get>
|
||||
정렬순서 :
|
||||
<select name='query_type' size=1>
|
||||
<?php foreach ($queryMap as $queryType => [$queryTypeText,]) : ?>
|
||||
<option <?= $queryType == $reqQueryType ? 'selected' : '' ?> value='<?= $queryType ?>'><?= $queryTypeText ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<input type=submit name=btn value='정렬'>
|
||||
대상장수 :
|
||||
<select name=gen size=1>
|
||||
<?php foreach ($generalBasicList as $general) : ?>
|
||||
<option <?= $gen == $general['no'] ? 'selected' : '' ?> value='<?= $general['no'] ?>'><?= $general['officer_level'] > 4 ? "*{$general['name']}*" : $general['name'] ?> (<?= substr($general['turntime'], 14, 5) ?>)</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<input type=submit name=btn value='조회'>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col col-12 col-md-6">
|
||||
<div class="row mx-0">
|
||||
<div class="col bg1 header-cell" style="color:skyblue">장수 정보</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col"><?php generalInfo($showGeneral); ?><?php generalInfo2($showGeneral); ?></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col col-12 col-md-6">
|
||||
<div class="row mx-0">
|
||||
<div class="col bg1 header-cell">장수 열전</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col"><?= formatHistoryToHTML(getGeneralHistoryLogAll($gen)) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col col-12 col-md-6">
|
||||
<div class="row mx-0">
|
||||
<div class="col bg1 header-cell">전투 기록</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col"><?= formatHistoryToHTML(getBattleDetailLogRecent($gen, 24)) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col col-12 col-md-6">
|
||||
<div class="row mx-0">
|
||||
<div class="col bg1 header-cell">전투 결과</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col"><?= formatHistoryToHTML(getBattleResultRecent($gen, 24)) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if ($showGeneral->getNPCType() > 1 || $permission >= 2) : ?>
|
||||
<div class="col col-12 col-md-6">
|
||||
<div class="row mx-0">
|
||||
<div class="col bg1 header-cell">개인 기록</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col"><?= formatHistoryToHTML(getGeneralActionLogRecent($gen, 24)) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="row gx-0">
|
||||
<div class="col "><?= closeButton() ?></div>
|
||||
</div>
|
||||
<div class="row bg0 gx-0">
|
||||
<div class="col bg0"><?= banner() ?></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
+9
-8
@@ -23,8 +23,8 @@ $generalID = $session->generalID;
|
||||
|
||||
$me = $db->queryFirstRow('SELECT no,tournament,con,turntime from general where owner=%i', $userID);
|
||||
|
||||
$admin = $gameStor->getValues(['tournament', 'phase', 'tnmt_type', 'develcost']);
|
||||
|
||||
$admin = $gameStor->getValues(['tournament', 'phase', 'tnmt_type', 'turnterm', 'develcost']);
|
||||
$turnTerm = $admin['turnterm'];
|
||||
$con = checkLimit($me['con']);
|
||||
if ($con >= 2) {
|
||||
printLimitMsg($me['turntime']);
|
||||
@@ -99,7 +99,7 @@ $str2 = getTournamentTime();
|
||||
if ($str2) {
|
||||
$str2 = ', ' . $str2;
|
||||
}
|
||||
$str3 = getTournamentTermText();
|
||||
$str3 = getTournamentTermText($turnTerm);
|
||||
if ($str3) {
|
||||
$str3 = ', ' . $str3;
|
||||
}
|
||||
@@ -119,6 +119,7 @@ if ($str3) {
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', ['common', 'betting']) ?>
|
||||
<?= WebUtil::printStaticValues([
|
||||
'staticValues'=>[
|
||||
@@ -135,7 +136,7 @@ if ($str3) {
|
||||
</table>
|
||||
<table align=center width=1120 class='tb_layout bg0'>
|
||||
<tr>
|
||||
<td colspan=16><input type=button value='갱신' onclick='location.reload()'></td>
|
||||
<td colspan=16><button type="button" class="btn btn-secondary" onclick='location.reload()'>갱신</button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=16 align=center>
|
||||
@@ -441,13 +442,13 @@ if ($str3) {
|
||||
|
||||
if ($admin['tournament'] == 6) {
|
||||
echo "
|
||||
<tr align=center>";
|
||||
<tr align=center style='height:2.5em;'>";
|
||||
|
||||
foreach (range(0, 15) as $i) {
|
||||
$key = $keyMap[$i] ?? -1;
|
||||
echo "
|
||||
<td>
|
||||
<select size=1 id='target_{$key}' style=color:white;background-color:black;>
|
||||
<select size=1 id='target_{$key}' style='color:white;background-color:black;padding:0.2rem 0.1rem;'>
|
||||
<option style=color:white; value=10>금10</option>
|
||||
<option style=color:white; value=20>금20</option>
|
||||
<option style=color:white; value=50>금50</option>
|
||||
@@ -461,12 +462,12 @@ if ($str3) {
|
||||
|
||||
echo "
|
||||
</tr>
|
||||
<tr align=center>";
|
||||
<tr align=center style='height:2.2em;'>";
|
||||
|
||||
foreach (range(0, 15) as $i) {
|
||||
$key = $keyMap[$i] ?? -1;
|
||||
echo "
|
||||
<td><input type=button class='submitBtn' data-target='{$key}' value=베팅! style=width:100%;color:white;background-color:black;></td>";
|
||||
<td><input type=button class='submitBtn' data-target='{$key}' value=베팅! style='width:100%;color:white;padding:0.2rem 0.1rem;background-color:black;'></td>";
|
||||
}
|
||||
|
||||
echo "</tr>";
|
||||
|
||||
@@ -13,9 +13,11 @@ $userID = Session::getUserID();
|
||||
$userGrade = Session::getUserGrade();
|
||||
|
||||
$db = DB::db();
|
||||
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
increaseRefresh("현재도시", 1);
|
||||
|
||||
$lastExecute = substr($gameStor->turntime, 5, 14);
|
||||
|
||||
$me = $db->queryFirstRow('SELECT no,nation,officer_level,city from general where owner=%i', $userID);
|
||||
$myNation = $db->queryFirstRow('SELECT nation,level,spy FROM nation WHERE nation=%i', $me['nation']) ?? [
|
||||
'nation' => 0,
|
||||
@@ -53,6 +55,7 @@ $templates = new \League\Plates\Engine('templates');
|
||||
font-size: x-small;
|
||||
}
|
||||
</style>
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', ['common', 'currentCity']) ?>
|
||||
</head>
|
||||
|
||||
@@ -446,7 +449,7 @@ $templates = new \League\Plates\Engine('templates');
|
||||
<table align=center width=1000 class='tb_layout bg2'>
|
||||
<tr>
|
||||
<td colspan=11 align=center style='color:<?= newColor($cityNation['color']) ?>; background:<?= $cityNation['color'] ?>'>【 <?= CityConst::$regionMap[$city['region']] ?> | <?= CityConst::$levelMap[$city['level']] ?> 】 <?= $city['name'] ?></td>
|
||||
<td style='color:<?= newColor($cityNation['color']) ?>; background:<?= $cityNation['color'] ?>' class='center'><?= date('m-d H:i:s') ?></td>
|
||||
<td style='color:<?= newColor($cityNation['color']) ?>; background:<?= $cityNation['color'] ?>' class='center'><?= $lastExecute ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=center width=48 class=bg1>주민</td>
|
||||
|
||||
@@ -57,6 +57,7 @@ $templates = new \League\Plates\Engine('templates');
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', ['common']) ?>
|
||||
</head>
|
||||
|
||||
|
||||
@@ -54,6 +54,7 @@ if ($meLevel >= 5) {
|
||||
var chiefStatMin = <?= GameConst::$chiefStatMin ?>;
|
||||
var myLevel = <?= $meLevel ?>;
|
||||
</script>
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', ['common', 'bossInfo']) ?>
|
||||
|
||||
<?php
|
||||
|
||||
@@ -39,6 +39,7 @@ $sel = [$type => "selected"];
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', ['common', 'extExpandCity']) ?>
|
||||
</head>
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@ if ($gameStor->isunited) {
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', ['common']) ?>
|
||||
</head>
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ if ($nationID == 0) {
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', ['common']) ?>
|
||||
</head>
|
||||
|
||||
|
||||
+19
-8
@@ -5,8 +5,9 @@ namespace sammo;
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
$showDieImmediatelyBtn = false;
|
||||
$availableDieImmediately = false;
|
||||
$showDieOnPrestartBtn = false;
|
||||
$showBuildNationCandidateBtn = false;
|
||||
$availableDieOnPrestart = false;
|
||||
|
||||
//로그인 검사
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
@@ -31,12 +32,16 @@ if ($myset > 0) {
|
||||
$targetTime = addTurn($me->getVar('lastrefresh'), $gameStor->turnterm, 2);
|
||||
if ($gameStor->turntime <= $gameStor->opentime) {
|
||||
//서버 가오픈시 할 수 있는 행동
|
||||
if ($me->getNPCType() == 0) {
|
||||
$showDieImmediatelyBtn = true;
|
||||
if ($me->getNPCType() == 0 && $me->getNationID() == 0) {
|
||||
$showDieOnPrestartBtn = true;
|
||||
if ($targetTime <= TimeUtil::now()) {
|
||||
$availableDieImmediately = true;
|
||||
$availableDieOnPrestart = true;
|
||||
}
|
||||
}
|
||||
|
||||
if($me->getNationID() == 0){
|
||||
$showBuildNationCandidateBtn = true;
|
||||
}
|
||||
}
|
||||
|
||||
$use_treatment = $me->getAuxVar('use_treatment') ?? 10;
|
||||
@@ -51,7 +56,7 @@ $use_auto_nation_turn = $me->getAuxVar('use_auto_nation_turn') ?? 1;
|
||||
<meta name="viewport" content="width=500" />
|
||||
<title><?= UniqueConst::$serverName ?>: 내정보</title>
|
||||
<?= WebUtil::printStaticValues([
|
||||
'availableDieImmediately' => $availableDieImmediately,
|
||||
'availableDieOnPrestart' => $availableDieOnPrestart,
|
||||
'staticValues' => [
|
||||
'items' => Util::mapWithKey(fn (string $key, BaseItem $item) => [
|
||||
'name' => $item->getName(),
|
||||
@@ -65,6 +70,7 @@ $use_auto_nation_turn = $me->getAuxVar('use_auto_nation_turn') ?? 1;
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', ['myPage']) ?>
|
||||
</head>
|
||||
|
||||
@@ -122,9 +128,14 @@ $use_auto_nation_turn = $me->getAuxVar('use_auto_nation_turn') ?? 1;
|
||||
<!--빙의 해제용 삭턴 조절<br>
|
||||
<a href="b_myPage.php?detachNPC=1"><button type="button" style=background-color:<?= GameConst::$basecolor2 ?>;color:white;width:160px;height:30px;font-size:14px;>빙의 해체 요청</button></a>-->
|
||||
|
||||
<?php if ($showDieImmediatelyBtn) : ?>
|
||||
<?php if ($showDieOnPrestartBtn) : ?>
|
||||
가오픈 기간 내 장수 삭제 (<?= substr($targetTime, 0, 19) ?> 부터)<br>
|
||||
<a href="c_die_immediately.php" id='die_immediately'><button type="button" style=background-color:<?= GameConst::$basecolor2 ?>;color:white;width:160px;height:30px;font-size:14px;>장수 삭제</button></a><br><br>
|
||||
<button type="button" id='dieOnPrestart' style=background-color:<?= GameConst::$basecolor2 ?>;color:white;width:160px;height:30px;font-size:14px;>장수 삭제</button><br><br>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($showBuildNationCandidateBtn) : ?>
|
||||
서버 개시 이전 거병(2턴부터 건국 가능)<br>
|
||||
<button type="button" id='buildNationCandidate' style=background-color:<?= GameConst::$basecolor2 ?>;color:white;width:160px;height:30px;font-size:14px;>사전 거병</button><br><br>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($gameStor->npcmode == 2 && $me->getNPCType() == 0) : ?>
|
||||
|
||||
+68
-114
@@ -17,7 +17,8 @@ TurnExecutionHelper::executeAllCommand();
|
||||
$me = $db->queryFirstRow('select no,tournament,con,turntime from general where owner=%i', $userID);
|
||||
$generalID = $session->generalID;
|
||||
|
||||
$admin = $gameStor->getValues(['tournament', 'phase', 'tnmt_msg', 'tnmt_type', 'develcost', 'tnmt_trig']);
|
||||
$admin = $gameStor->getValues(['tournament', 'phase', 'turnterm', 'tnmt_msg', 'tnmt_type', 'develcost', 'tnmt_trig']);
|
||||
$turnTerm = $admin['turnterm'];
|
||||
|
||||
$con = checkLimit($me['con']);
|
||||
if ($con >= 2) {
|
||||
@@ -109,6 +110,7 @@ $globalBetTotal = array_sum($globalBet);
|
||||
<meta name="viewport" content="width=1024" />
|
||||
<title><?= UniqueConst::$serverName ?>: 토너먼트</title>
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', 'common', true) ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
</head>
|
||||
@@ -120,128 +122,80 @@ $globalBetTotal = array_sum($globalBet);
|
||||
</tr>
|
||||
</table>
|
||||
<table align=center class='tb_layout bg0'>
|
||||
<?php
|
||||
if ($session->userGrade >= 5) {
|
||||
$sel = [];
|
||||
echo "
|
||||
<form method=post action=c_tournament.php>
|
||||
<tr><td colspan=8><input type=textarea size=150 style=color:white;background-color:black; name=msg><input type=submit name=btn value='메시지'></td></tr>
|
||||
<tr><td colspan=8>
|
||||
<input type=button value='갱신' onclick='location.reload()'>";
|
||||
<?php if ($session->userGrade >= 5) : ?>
|
||||
<form method=post action=c_tournament.php>
|
||||
<tr>
|
||||
<td colspan=8><input type=textarea size=150 style=color:white;background-color:black; name=msg><input type=submit name=btn value='메시지'></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=8>
|
||||
<button type="button" class="btn btn-secondary" onclick='location.reload()'>갱신</button>
|
||||
<?php if ($admin['tournament'] == 0) : ?>
|
||||
<select name=auto size=1 style=color:white;background-color:black;>
|
||||
<option style=color:white; value=0 <?= !$admin['tnmt_trig'] ? 'selected' : '' ?>>수동진행</option>
|
||||
<option style=color:white; value=1 <?= $admin['tnmt_trig'] ? 'selected' : '' ?>>자동진행</option>
|
||||
</select>
|
||||
<input type=submit name=btn value='자동개최설정'>
|
||||
<?php else : ?>
|
||||
<input type=submit name=btn value='중단' onclick='return confirm("진짜 중단하시겠습니까?")'>
|
||||
<?php endif; ?>
|
||||
|
||||
switch ($admin['tnmt_trig']) {
|
||||
case 0:
|
||||
$sel[0] = "selected";
|
||||
break;
|
||||
case 1:
|
||||
$sel[1] = "selected";
|
||||
break;
|
||||
case 2:
|
||||
$sel[2] = "selected";
|
||||
break;
|
||||
case 3:
|
||||
$sel[3] = "selected";
|
||||
break;
|
||||
case 4:
|
||||
$sel[4] = "selected";
|
||||
break;
|
||||
case 5:
|
||||
$sel[5] = "selected";
|
||||
break;
|
||||
case 6:
|
||||
$sel[6] = "selected";
|
||||
break;
|
||||
case 7:
|
||||
$sel[7] = "selected";
|
||||
break;
|
||||
}
|
||||
|
||||
if ($admin['tournament'] == 0) {
|
||||
?>
|
||||
<select name=auto size=1 style=color:white;background-color:black;>
|
||||
<option style=color:white; value=0>수동진행</option>
|
||||
<option style=color:white; value=1>12분 05일</option>
|
||||
<option style=color:white; value=2>07분 10시</option>
|
||||
<option style=color:white; value=3>03분 04시</option>
|
||||
<option style=color:white; value=4>01분 82분</option>
|
||||
<option style=color:white; value=5>30초 41분</option>
|
||||
<option style=color:white; value=6>15초 21분</option>
|
||||
<option style=color:white; value=7>05초 07분</option>
|
||||
</select>
|
||||
<select name=type size=1 style=color:white;background-color:black;>
|
||||
<option style=color:white; value=0>전력전</option>
|
||||
<option style=color:white; value=1>통솔전</option>
|
||||
<option style=color:white; value=2>일기토</option>
|
||||
<option style=color:white; value=3>설전</option>
|
||||
</select>
|
||||
<input type=submit name=btn value='개최'>
|
||||
<select name=trig size=1 style=color:white;background-color:black;>
|
||||
<option style=color:white; value=0 <?= $sel[0] ?? '' ?>>수동진행</option>
|
||||
<option style=color:white; value=1 <?= $sel[1] ?? '' ?>>12분 05일</option>
|
||||
<option style=color:white; value=2 <?= $sel[2] ?? '' ?>>07분 10시</option>
|
||||
<option style=color:white; value=3 <?= $sel[3] ?? '' ?>>03분 04시</option>
|
||||
<option style=color:white; value=4 <?= $sel[4] ?? '' ?>>01분 82분</option>
|
||||
<option style=color:white; value=5 <?= $sel[5] ?? '' ?>>30초 41분</option>
|
||||
<option style=color:white; value=6 <?= $sel[6] ?? '' ?>>15초 21분</option>
|
||||
<option style=color:white; value=7 <?= $sel[7] ?? '' ?>>05초 07분</option>
|
||||
</select>
|
||||
<input type=submit name=btn value='자동개최설정'>
|
||||
<input type=submit name=btn value='포상'>
|
||||
<input type=submit name=btn value='회수'>
|
||||
<?php
|
||||
} else {
|
||||
echo "<input type=submit name=btn value='중단' onclick='return confirm(\"진짜 중단하시겠습니까?\")'>";
|
||||
}
|
||||
<?php switch ($admin['tournament']) {
|
||||
case 1:
|
||||
echo "<input type=submit name=btn value='랜덤투입'>";
|
||||
echo "<input type=submit name=btn value='랜덤전부투입'>";
|
||||
break;
|
||||
case 2:
|
||||
echo "<input type=submit name=btn value='예선'><input type=submit name=btn value='예선전부'>";
|
||||
break;
|
||||
case 3:
|
||||
echo "<input type=submit name=btn value='추첨'><input type=submit name=btn value='추첨전부'>";
|
||||
break;
|
||||
case 4:
|
||||
echo "<input type=submit name=btn value='본선'><input type=submit name=btn value='본선전부'>";
|
||||
break;
|
||||
case 5:
|
||||
echo "<input type=submit name=btn value='배정'>";
|
||||
break;
|
||||
case 6:
|
||||
echo "<input type=submit name=btn value='베팅마감'>";
|
||||
break;
|
||||
case 7:
|
||||
echo "<input type=submit name=btn value='16강'>";
|
||||
break;
|
||||
case 8:
|
||||
echo "<input type=submit name=btn value='8강'>";
|
||||
break;
|
||||
case 9:
|
||||
echo "<input type=submit name=btn value='4강'>";
|
||||
break;
|
||||
case 10:
|
||||
echo "<input type=submit name=btn value='결승'>";
|
||||
break;
|
||||
} ?>
|
||||
|
||||
switch ($admin['tournament']) {
|
||||
case 1:
|
||||
echo "<input type=submit name=btn value='랜덤투입'>";
|
||||
echo "<input type=submit name=btn value='랜덤전부투입'>";
|
||||
break;
|
||||
case 2:
|
||||
echo "<input type=submit name=btn value='예선'><input type=submit name=btn value='예선전부'>";
|
||||
break;
|
||||
case 3:
|
||||
echo "<input type=submit name=btn value='추첨'><input type=submit name=btn value='추첨전부'>";
|
||||
break;
|
||||
case 4:
|
||||
echo "<input type=submit name=btn value='본선'><input type=submit name=btn value='본선전부'>";
|
||||
break;
|
||||
case 5:
|
||||
echo "<input type=submit name=btn value='배정'>";
|
||||
break;
|
||||
case 6:
|
||||
echo "<input type=submit name=btn value='베팅마감'>";
|
||||
break;
|
||||
case 7:
|
||||
echo "<input type=submit name=btn value='16강'>";
|
||||
break;
|
||||
case 8:
|
||||
echo "<input type=submit name=btn value='8강'>";
|
||||
break;
|
||||
case 9:
|
||||
echo "<input type=submit name=btn value='4강'>";
|
||||
break;
|
||||
case 10:
|
||||
echo "<input type=submit name=btn value='결승'>";
|
||||
break;
|
||||
}
|
||||
|
||||
echo "
|
||||
</td></tr>
|
||||
</form>";
|
||||
} elseif ($me['no'] > 0 && $me['tournament'] == 0 && $admin['tournament'] == 1) {
|
||||
echo "<form method=post action=c_tournament.php><tr><td colspan=8><input type=button value='갱신' onclick='location.reload()'><input type=submit name=btn value='참가' onclick='return confirm(\"참가비 금{$admin['develcost']}이 필요합니다. 참가하시겠습니까?\")'></td></tr></form>";
|
||||
} else {
|
||||
echo "<tr><td colspan=8><input type=button value='갱신' onclick='location.reload()'></td></tr>";
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
</form>
|
||||
<?php elseif ($me['no'] > 0 && $me['tournament'] == 0 && $admin['tournament'] == 1) : ?>
|
||||
<form method=post action=c_tournament.php>
|
||||
<tr>
|
||||
<td colspan=8><button type="button" class="btn btn-secondary" onclick='location.reload()'>갱신</button><button type="submit" class="btn btn-sammo-base2" onclick='return confirm("참가비 금<?= $admin['develcost'] ?>이 필요합니다. 참가하시겠습니까?")'>참가</button><input type='hidden' name='btn' value='참가'/></td>
|
||||
</tr>
|
||||
</form>
|
||||
<?php else : ?>
|
||||
<tr>
|
||||
<td colspan=8><button type="button" class="btn btn-secondary" onclick='location.reload()'>갱신</button></td>
|
||||
</tr>
|
||||
<?php endif;
|
||||
|
||||
$str1 = getTournament($admin['tournament']);
|
||||
$str2 = getTournamentTime();
|
||||
if ($str2) {
|
||||
$str2 = ', ' . $str2;
|
||||
}
|
||||
$str3 = getTournamentTermText();
|
||||
$str3 = getTournamentTermText($turnTerm);
|
||||
if ($str3) {
|
||||
$str3 = ', ' . $str3;
|
||||
}
|
||||
|
||||
-230
@@ -1,230 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
//로그인 검사
|
||||
$session = Session::requireGameLogin()->setReadOnly();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
|
||||
increaseRefresh("부대편성", 1);
|
||||
|
||||
$me = $db->queryFirstRow('SELECT no,nation,troop FROM general WHERE owner=%i', $userID);
|
||||
|
||||
$troops = [];
|
||||
foreach ($db->query('SELECT troop_leader,name FROM troop WHERE nation = %i', $me['nation']) as $rawTroop) {
|
||||
$troops[$rawTroop['troop_leader']] = [
|
||||
'name' => $rawTroop['name'],
|
||||
'users' => []
|
||||
];
|
||||
}
|
||||
|
||||
foreach ($db->query(
|
||||
'SELECT no,name,turntime,troop,city FROM general WHERE troop!=0 AND nation = %i ORDER BY turntime ASC',
|
||||
$me['nation']
|
||||
) as $general) {
|
||||
if (!key_exists($general['troop'], $troops)) {
|
||||
trigger_error("올바르지 않은 부대 소속 {$general['no']}, {$general['name']} : {$general['troop']}");
|
||||
continue;
|
||||
}
|
||||
|
||||
$general['cityText'] = CityConst::byID($general['city'])->name;
|
||||
|
||||
$troops[$general['troop']]['users'][] = $general;
|
||||
}
|
||||
|
||||
if ($troops) {
|
||||
$troopLeaders = $db->query(
|
||||
'SELECT no,name,picture,imgsvr,turntime,city,troop FROM general WHERE no IN %li',
|
||||
array_keys($troops)
|
||||
);
|
||||
$generalTurnList = [];
|
||||
|
||||
foreach ($db->queryAllLists(
|
||||
'SELECT general_id, turn_idx, brief FROM general_turn WHERE general_id IN %li AND turn_idx < 5 ORDER BY general_id ASC, turn_idx ASC',
|
||||
array_column($troopLeaders, 'no')
|
||||
) as [$generalID, $turnIdx, $brief]) {
|
||||
if (!key_exists($generalID, $generalTurnList)) {
|
||||
$generalTurnList[$generalID] = [];
|
||||
}
|
||||
$generalTurnList[$generalID][$turnIdx] = $brief;
|
||||
}
|
||||
|
||||
foreach ($troopLeaders as $troopLeader) {
|
||||
$imageTemp = GetImageURL($troopLeader['imgsvr']);
|
||||
|
||||
$troopLeader['pictureFullPath'] = "$imageTemp/{$troopLeader['picture']}";
|
||||
$troopLeader['cityText'] = CityConst::byID($troopLeader['city'])->name;
|
||||
|
||||
$turnText = [];
|
||||
foreach ($generalTurnList[$troopLeader['no']] as $rawTurnIdx => $brief) {
|
||||
if ($brief != '집합') {
|
||||
$brief = '~';
|
||||
}
|
||||
$turnIdx = $rawTurnIdx + 1;
|
||||
$turnText[] = "{$turnIdx} : {$brief}";
|
||||
}
|
||||
$troopLeader['turnText'] = join('<br>', $turnText);
|
||||
$troops[$troopLeader['troop']]['leader'] = $troopLeader;
|
||||
}
|
||||
}
|
||||
|
||||
uasort($troops, function ($lhs, $rhs) {
|
||||
return $lhs['leader']['turntime'] <=> $rhs['leader']['turntime'];
|
||||
})
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=1024" />
|
||||
<title><?= UniqueConst::$serverName ?>: 부대편성</title>
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css" />
|
||||
<?= WebUtil::printDist('ts', ['common', 'troop'], true) ?>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div style="width:1000px;margin:auto;">
|
||||
<table width=1000 class='tb_layout bg0'>
|
||||
<tr>
|
||||
<td>부 대 편 성<br><?= backButton() ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table id="troop_list" class='tb_layout bg0'>
|
||||
<thead>
|
||||
<tr>
|
||||
<td width=64 class='bg1 center'>선 택</td>
|
||||
<td width=130 class='bg1 center'>부 대 정 보</td>
|
||||
<td width=100 class='bg1 center'>부 대 장</td>
|
||||
<td width=576 class='bg1 center' style=table-layout:fixed;word-break:break-all;>장 수</td>
|
||||
<td width=130 class='bg1 center' style=table-layout:fixed;word-break:break-all;>부대장행동</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan='5'>
|
||||
<?php if (!$troops) : ?>
|
||||
<?php elseif ($me['troop'] == 0) : ?>
|
||||
<input type=button id='btnJoinTroop' value='부 대 가 입'>
|
||||
<?php else : ?>
|
||||
<input type=button id="btnLeaveTroop" value='부 대 탈 퇴'>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
<?php
|
||||
foreach ($troops as $troopNo => $troop) {
|
||||
$troopLeader = $troop['leader'];
|
||||
$genlistText = [];
|
||||
$cityText = $troopLeader['cityText'];
|
||||
$cityID = $troopLeader['city'];
|
||||
$leaderID = $troopLeader['no'];
|
||||
|
||||
foreach ($troop['users'] as $troopUser) {
|
||||
$spanClass = 'troopUser';
|
||||
if ($troopUser['city'] !== $cityID) {
|
||||
$spanClass .= ' diffCity';
|
||||
}
|
||||
if ($troopUser['no'] == $leaderID) {
|
||||
$spanClass .= ' leader';
|
||||
}
|
||||
$genlistText[] = "<span class='$spanClass' data-general-id='{$troopUser['no']}'
|
||||
><span class='generalName'>{$troopUser['name']}</span><span class='cityText'>【{$troopUser['cityText']}】</span
|
||||
></span>";
|
||||
}
|
||||
|
||||
$genlistText = sprintf('%s (%d명)', join(', ', $genlistText), count($genlistText)); ?>
|
||||
|
||||
<?php if ($me['troop'] == 0) : ?>
|
||||
<tr>
|
||||
<td align=center rowspan=2><input type='radio' class='troopId' name='troop' value='<?= $troopNo ?>'></td>
|
||||
<td align=center><?= $troop['name'] ?><br>【 <?= $cityText ?> 】</td>
|
||||
<td height=64 class='generalIcon' style='background:no-repeat center url("<?= $troopLeader['pictureFullPath'] ?>");background-size:64px;'> </td>
|
||||
<td rowspan=2 width=62><?= $genlistText ?></td>
|
||||
<td rowspan=2><?= $troopLeader['turnText'] ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=center>
|
||||
<font size=2>【턴】 <?= substr($troopLeader['turntime'], 14, 5) ?></font>
|
||||
</td>
|
||||
<td align=center>
|
||||
<font size=1><?= $troopLeader['name'] ?></font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=5>
|
||||
|
||||
<?php else : ?>
|
||||
<tr>
|
||||
<td align=center rowspan=2> </td>
|
||||
<td align=center><?= $troop['name'] ?><br>【 <?= $cityText ?> 】</td>
|
||||
<td height=64 class='generalIcon' style='background:no-repeat center url("<?= $troopLeader['pictureFullPath'] ?>");background-size:64px;'> </td>
|
||||
<td rowspan=2 width=62><?= $genlistText ?></td>
|
||||
<td rowspan=2>
|
||||
<?php if ($me['no'] == $troopLeader['no']) : ?>
|
||||
<select id='genNo' name=gen size=3 style=color:white;background-color:black;font-size:14px;width:128px;>";
|
||||
<?php foreach ($troop['users'] as $troopUser) : ?>
|
||||
<?php if ($troopUser['no'] == $me['no']) {
|
||||
continue;
|
||||
} ?>
|
||||
<option value='<?= $troopUser['no'] ?>'><?= $troopUser['name'] ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select><br>
|
||||
<input type=button id='btnKickTroop' value='부 대 추 방' style=width:130px;height:25px;>
|
||||
<?php else : ?>
|
||||
<?= $troopLeader['turnText'] ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align=center>
|
||||
<font size=2>【턴】 <?= substr($troopLeader['turntime'], 14, 5) ?></font>
|
||||
</td>
|
||||
<td align=center>
|
||||
<font size=1><?= $troopLeader['name'] ?></font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=5></td>
|
||||
</tr>
|
||||
<?php endif;
|
||||
} //foreach ($troops as $troopNo=>$troop) {
|
||||
?>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
<br>
|
||||
<table width=1000 class='tb_layout bg0'>
|
||||
<tr>
|
||||
<td width=80 class='bg1'>부 대 명</td>
|
||||
<td width=130><input type=text style=color:white;background-color:black; size=18 maxlength=18 id='nameplate'></td>
|
||||
<?php if ($me['troop'] == 0) : ?>
|
||||
<td><input type=button id='btnCreateTroop' value='부 대 창 설'></td>
|
||||
<?php else : ?>
|
||||
<td><input type=button id='btnChangeTroopName' value='부 대 변 경'></td>
|
||||
<?php endif; ?>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table width=1000 class='tb_layout bg0'>
|
||||
<tr>
|
||||
<td><?= backButton() ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?= banner() ?> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -54,6 +54,7 @@ if ($nationID) {
|
||||
var city = <?= Json::encode($city) ?>;
|
||||
var nation = <?= Json::encode($nation) ?>;
|
||||
</script>
|
||||
<?= WebUtil::printDist('vue', [], true) ?>
|
||||
<?= WebUtil::printDist('ts', ['common', 'battle_simulator']) ?>
|
||||
</head>
|
||||
|
||||
|
||||
@@ -113,11 +113,11 @@ if($session->userGrade < 5) {
|
||||
}
|
||||
|
||||
if($btn == "자동개최설정") {
|
||||
$gameStor->tnmt_trig = $trig;
|
||||
$gameStor->tnmt_trig = !!$trig;
|
||||
} elseif($btn == "개최") {
|
||||
startTournament($auto, $type);
|
||||
} elseif($btn == "중단") {
|
||||
$gameStor->tnmt_auto = 0;
|
||||
$gameStor->tnmt_auto = false;
|
||||
$gameStor->tournament = 0;
|
||||
$gameStor->phase = 0;
|
||||
} elseif($btn == "랜덤투입") {
|
||||
|
||||
+2
-2
@@ -1358,7 +1358,7 @@ function triggerTournament(RandUtil $rng)
|
||||
if ($tournament != 0) {
|
||||
return;
|
||||
}
|
||||
if ($tnmt_trig == 0) {
|
||||
if (!$tnmt_trig) {
|
||||
return;
|
||||
}
|
||||
if (!$rng->nextBool(0.4)) {
|
||||
@@ -1374,7 +1374,7 @@ function triggerTournament(RandUtil $rng)
|
||||
|
||||
$tnmt_type = array_pop($tnmt_pattern);
|
||||
$gameStor->setValue('tnmt_pattern', $tnmt_pattern);
|
||||
startTournament($tnmt_trig, $tnmt_type);
|
||||
startTournament($tnmt_type);
|
||||
}
|
||||
|
||||
function CheckHall($no)
|
||||
|
||||
@@ -18,7 +18,7 @@ function registerAuction(RandUtil $rng)
|
||||
[AuctionType::BuyRice->value, AuctionType::SellRice->value],
|
||||
));
|
||||
|
||||
$neutralbuyRiceCnt = $neutralAuctionCnt[AuctionType::BuyRice->value];
|
||||
$neutralbuyRiceCnt = $neutralAuctionCnt[AuctionType::BuyRice->value] ?? 0;
|
||||
|
||||
// 판매건 등록
|
||||
if ($rng->nextBool(1 / ($neutralbuyRiceCnt + 5))) {
|
||||
@@ -38,7 +38,7 @@ function registerAuction(RandUtil $rng)
|
||||
AuctionBuyRice::openResourceAuction($dummyGeneral, $amount, $term, $cost, $topv);
|
||||
}
|
||||
|
||||
$neutralSellRiceCnt = $neutralAuctionCnt[AuctionType::SellRice->value];
|
||||
$neutralSellRiceCnt = $neutralAuctionCnt[AuctionType::SellRice->value] ?? 0;
|
||||
// 구매건 등록
|
||||
if ($rng->nextBool(1 / ($neutralSellRiceCnt + 5))) {
|
||||
//평균 쌀의 5% ~ 25%
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
namespace sammo;
|
||||
|
||||
use sammo\DTO\AuctionInfo;
|
||||
use sammo\Enums\AuctionType;
|
||||
use sammo\Enums\InheritanceKey;
|
||||
use sammo\Enums\RankColumn;
|
||||
|
||||
@@ -1053,6 +1055,16 @@ function checkEmperior()
|
||||
$nationLogger = new ActionLogger(0, $nationID, $admin['year'], $admin['month']);
|
||||
$nationLogger->pushNationalHistoryLog("<D><b>{$nationName}</b></>{$josaYi} 전토를 통일");
|
||||
|
||||
/** @var int[] */
|
||||
$auctionList = $db->queryFirstColumn(
|
||||
'SELECT `id` FROM `ng_auction` WHERE `type` = %s AND `finished` = 0 ORDER BY `close_date` ASC',
|
||||
AuctionType::UniqueItem->value
|
||||
);
|
||||
foreach($auctionList as $auctionID){
|
||||
$auction = new AuctionUniqueItem($auctionID, new DummyGeneral(true));
|
||||
$auction->closeAuction(true);
|
||||
}
|
||||
|
||||
$inheritPointManager = InheritancePointManager::getInstance();
|
||||
$allUserGenerals = General::createGeneralObjListFromDB($db->queryFirstColumn('SELECT `no` FROM general WHERE npc < 2'));
|
||||
foreach ($allUserGenerals as $genObj) {
|
||||
|
||||
@@ -254,6 +254,7 @@ function pushGeneralHistoryLog(int $generalID, ?array $history, $year=null, $mon
|
||||
|
||||
}
|
||||
|
||||
/** @deprecated */
|
||||
function getGeneralHistoryLogAll(int $generalID):array {
|
||||
$db = DB::db();
|
||||
|
||||
@@ -263,6 +264,15 @@ function getGeneralHistoryLogAll(int $generalID):array {
|
||||
);
|
||||
}
|
||||
|
||||
function getGeneralHistoryLogWithLogID(int $generalID):array {
|
||||
$db = DB::db();
|
||||
|
||||
return Util::convertPairArrayToDict($db->queryAllLists(
|
||||
'SELECT `id`, `text` from general_record WHERE general_id = %i AND log_type = "history" order by id desc',
|
||||
$generalID
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
function pushNationHistoryLog(int $nationID, ?array $history, ?int $year=null, ?int $month=null) {
|
||||
if(!$history){
|
||||
|
||||
+22
-77
@@ -5,17 +5,25 @@ namespace sammo;
|
||||
use sammo\DTO\BettingInfo;
|
||||
use sammo\Enums\InheritanceKey;
|
||||
|
||||
/**
|
||||
* @param int $turnTerm 서버 턴 단위
|
||||
* @return int 토너먼트 초 단위
|
||||
*/
|
||||
function calcTournamentTerm(int $turnTerm): int{
|
||||
return Util::valueFit($turnTerm, 5, 120);
|
||||
}
|
||||
|
||||
function processTournament()
|
||||
{
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
|
||||
$admin = $gameStor->getValues(['tournament', 'phase', 'tnmt_type', 'tnmt_auto', 'tnmt_time', 'last_tournament_betting_id']);
|
||||
$admin = $gameStor->getValues(['tournament', 'phase', 'tnmt_type', 'tnmt_auto', 'tnmt_time', 'turnterm', 'last_tournament_betting_id']);
|
||||
$now = new \DateTime();
|
||||
$offset = $now->getTimestamp() - (new \DateTime($admin['tnmt_time']))->getTimestamp();
|
||||
|
||||
//수동일땐 무시
|
||||
if ($admin['tnmt_auto'] == 0) {
|
||||
if (!$admin['tnmt_auto']) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -28,18 +36,7 @@ function processTournament()
|
||||
}
|
||||
|
||||
//현시간이 스탬프 지나친경우
|
||||
$unit = [
|
||||
1 => 720,
|
||||
2 => 420,
|
||||
3 => 180,
|
||||
4 => 60,
|
||||
5 => 30,
|
||||
6 => 15,
|
||||
7 => 5,
|
||||
][$admin['tnmt_auto']] ?? null;
|
||||
if($unit === null){
|
||||
throw new MustNotBeReachedException();
|
||||
}
|
||||
$unit = calcTournamentTerm($admin['turnterm']);
|
||||
|
||||
//업데이트 횟수
|
||||
$iter = intdiv($offset, $unit) + 1;
|
||||
@@ -123,10 +120,7 @@ function processTournament()
|
||||
|
||||
//베팅은 무조건 60페이즈후 진행(최대 1시간)
|
||||
if ($tnmt == 6) {
|
||||
$betTerm = $unit * 60;
|
||||
if ($betTerm > 3600) {
|
||||
$betTerm = 3600;
|
||||
}
|
||||
$betTerm = Util::valueFit($unit * 60, null, 3600);
|
||||
//처리 초 더한 날짜
|
||||
$dt = date("Y-m-d H:i:s", strtotime($admin['tnmt_time']) + $unit * $i + $betTerm);
|
||||
$gameStor->tournament = $tnmt;
|
||||
@@ -134,20 +128,6 @@ function processTournament()
|
||||
$gameStor->tnmt_time = $dt;
|
||||
return;
|
||||
}
|
||||
|
||||
if ($admin['tnmt_auto'] == 1) {
|
||||
//처리 초 더한 날짜
|
||||
$dt = date("Y-m-d H:i:s", strtotime($admin['tnmt_time']) + $unit * $i);
|
||||
$hr = substr($dt, 11, 2);
|
||||
//지정시간대 넘어가면 중단 20~24시
|
||||
if ($hr < 20) {
|
||||
$dt = substr($dt, 0, 11) . "20:00:00";
|
||||
$gameStor->tournament = $tnmt;
|
||||
$gameStor->phase = $phase;
|
||||
$gameStor->tnmt_time = $dt;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$second = $unit * $iter;
|
||||
@@ -156,35 +136,9 @@ function processTournament()
|
||||
$gameStor->tnmt_time = (new \DateTimeImmutable($admin['tnmt_time']))->add(new \DateInterval("PT{$second}S"))->format('Y-m-d H:i:s');
|
||||
}
|
||||
|
||||
function getTournamentTerm(): ?int
|
||||
function getTournamentTermText(int $turnTerm)
|
||||
{
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
|
||||
$tnmt_auto = $gameStor->tnmt_auto;
|
||||
if ($tnmt_auto === null) {
|
||||
$tnmt_auto = $gameStor->tnmt_trig;
|
||||
}
|
||||
|
||||
return [
|
||||
0 => null,
|
||||
1 => 12 * 60,
|
||||
2 => 7 * 60,
|
||||
3 => 3 * 60,
|
||||
4 => 1 * 60,
|
||||
5 => 30,
|
||||
6 => 15,
|
||||
7 => 5,
|
||||
][$tnmt_auto] ?? null;
|
||||
}
|
||||
|
||||
function getTournamentTermText()
|
||||
{
|
||||
$term = getTournamentTerm();
|
||||
|
||||
if ($term === null) {
|
||||
return '수동';
|
||||
}
|
||||
$term = calcTournamentTerm($turnTerm);
|
||||
|
||||
if ($term % 60 === 0) {
|
||||
$termMin = intdiv($term, 60);
|
||||
@@ -320,26 +274,18 @@ function printFighting($tournament, $phase)
|
||||
}
|
||||
}
|
||||
|
||||
function startTournament($auto, $type)
|
||||
function startTournament($type)
|
||||
{
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
|
||||
eraseTnmtFightLogAll();
|
||||
|
||||
$unit = [
|
||||
1 => 60,
|
||||
2 => 60,
|
||||
3 => 60,
|
||||
4 => 60,
|
||||
5 => 30,
|
||||
6 => 15,
|
||||
7 => 5,
|
||||
][$auto] ?? 60;
|
||||
$admin = $gameStor->getValues(['year', 'month', 'turnterm']);
|
||||
$turnTerm = $admin['turnterm'];
|
||||
$unit = calcTournamentTerm($turnTerm);
|
||||
|
||||
$admin = $gameStor->getValues(['year', 'month']);
|
||||
|
||||
$gameStor->tnmt_auto = $auto;
|
||||
$gameStor->tnmt_auto = true;
|
||||
$gameStor->tnmt_time = (new \DateTimeImmutable())->add(new \DateInterval("PT{$unit}M"))->format('Y-m-d H:i:s');
|
||||
$gameStor->tournament = 1;
|
||||
$gameStor->tnmt_type = $type;
|
||||
@@ -392,7 +338,7 @@ function getDummyBettingInfo(string $tnmt_type): BettingInfo
|
||||
);
|
||||
}
|
||||
|
||||
function startBetting($type, $unit)
|
||||
function startBetting($type)
|
||||
{
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
@@ -431,7 +377,6 @@ function startBetting($type, $unit)
|
||||
aux: $general
|
||||
);
|
||||
}
|
||||
$candidateCnt = count($candidates);
|
||||
|
||||
Betting::openBetting(new BettingInfo(
|
||||
id: $bettingID,
|
||||
@@ -982,7 +927,7 @@ function setGift($tnmt_type, $tnmt, $phase)
|
||||
}
|
||||
|
||||
//자동진행 끝
|
||||
$gameStor->tnmt_auto = 0;
|
||||
$gameStor->tnmt_auto = false;
|
||||
|
||||
//장수열전 기록
|
||||
/** @var ActionLogger */
|
||||
@@ -1041,7 +986,7 @@ function setRefund()
|
||||
}
|
||||
|
||||
//자동진행 끝
|
||||
$gameStor->tnmt_auto = 0;
|
||||
$gameStor->tnmt_auto = false;
|
||||
}
|
||||
|
||||
//10차이 1.1, 50 차이 1.17, 100차이 1.2
|
||||
|
||||
+1
-1
@@ -190,7 +190,7 @@ if ($lastVoteID) {
|
||||
NPC선택 : <?= $npcmode ?>
|
||||
</div>
|
||||
<div class="s-border-t col py-2 col-4 col-md-2" style="color:<?= $color ?>;">
|
||||
토너먼트 : <?= getTournamentTermText() ?>
|
||||
토너먼트 : <?= getTournamentTermText($gameStor->turnterm) ?>
|
||||
</div>
|
||||
<div class="s-border-t col py-2 col-4 col-md-2" style="color:<?= $color ?>;">
|
||||
기타 설정: <?= $otherTextInfo ?>
|
||||
|
||||
+3
-9
@@ -194,17 +194,11 @@ if ($session->userGrade < 5 && !$allowReset) {
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="tournament_trig" class="col-sm-3 col-form-label"><span class="text-nowrap">토너먼트 자동 시작</span> <span class="text-nowrap">경기 단위</span></label>
|
||||
<label for="tournament_trig" class="col-sm-3 col-form-label"><span class="text-nowrap">토너먼트 자동 시작</span></label>
|
||||
<div class="col-sm-9" id="tournament_trig">
|
||||
<div id="tournament_trig" class="btn-group-toggle btn-group flex-wrap" data-bs-toggle="buttons">
|
||||
<input type="radio" class="btn-check" id="tournament_trig_0" name="tournament_trig" value="0"><label for="tournament_trig_0" class="btn btn-secondary w-25">안함</label>
|
||||
<input type="radio" class="btn-check" id="tournament_trig_1" name="tournament_trig" value="1"><label for="tournament_trig_1" class="btn btn-secondary w-25">12분(총 5일)</label>
|
||||
<input type="radio" class="btn-check" id="tournament_trig_2" name="tournament_trig" value="2"><label for="tournament_trig_2" class="btn btn-secondary w-25">7분(총 10시간)</label>
|
||||
<input type="radio" class="btn-check" id="tournament_trig_3" name="tournament_trig" value="3"><label for="tournament_trig_3" class="btn btn-secondary w-25">3분(총 4시간)</label>
|
||||
<input type="radio" class="btn-check" id="tournament_trig_4" name="tournament_trig" value="4" checked><label for="tournament_trig_4" class="btn btn-secondary w-25">1분(총 82분)</label>
|
||||
<input type="radio" class="btn-check" id="tournament_trig_5" name="tournament_trig" value="5"><label for="tournament_trig_5" class="btn btn-secondary w-25">30초(총 41분)</label>
|
||||
<input type="radio" class="btn-check" id="tournament_trig_6" name="tournament_trig" value="6"><label for="tournament_trig_6" class="btn btn-secondary w-25">15초(총 21분)</label>
|
||||
<input type="radio" class="btn-check" id="tournament_trig_7" name="tournament_trig" value="7"><label for="tournament_trig_7" class="btn btn-secondary w-25">5초(총 7분)</label>
|
||||
<input type="radio" class="btn-check" id="tournament_trig_0" name="tournament_trig" value="0"><label for="tournament_trig_0" class="btn btn-secondary w-25">수동</label>
|
||||
<input type="radio" class="btn-check" id="tournament_trig_1" name="tournament_trig" checked value="1"><label for="tournament_trig_1" class="btn btn-secondary w-25">자동</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+2
-2
@@ -56,7 +56,7 @@ else if(
|
||||
$status = 'closed';
|
||||
}
|
||||
else if(
|
||||
$isUnited > 0 &&
|
||||
$isUnited > 0 &&
|
||||
$now->getTimestamp() - $lastTurn->getTimestamp() > ($reservedDate->getTimestamp() - $now->getTimestamp()) * 2
|
||||
){
|
||||
//천통 & 비정지 상태 & 2/3 넘음
|
||||
@@ -88,7 +88,7 @@ $result = ResetHelper::buildScenario(
|
||||
$options['block_general_create'],
|
||||
$options['npcmode'],
|
||||
$options['show_img_level'],
|
||||
$options['tournament_trig'],
|
||||
!!$options['tournament_trig'],
|
||||
$options['join_mode'],
|
||||
$options['starttime'],
|
||||
$options['autorun_user']?:null
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
<?php
|
||||
namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
|
||||
WebUtil::requireAJAX();
|
||||
|
||||
$availableDieImmediately = false;
|
||||
|
||||
//로그인 검사
|
||||
$session = Session::requireGameLogin();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
|
||||
$general = $db->queryFirstRow('SELECT no,name,owner_name,npc,lastrefresh FROM general WHERE owner=%i AND npc = 0', $userID);
|
||||
|
||||
if(!$general){
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'장수가 없습니다.'
|
||||
]);
|
||||
}
|
||||
|
||||
increaseRefresh("장수 삭제", 1);
|
||||
$gameStor->cacheValues(['turnterm', 'opentime', 'turntime', 'year', 'month']);
|
||||
|
||||
if($gameStor->turntime > $gameStor->opentime){
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'이미 서버가 시작되었습니다.'
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
$targetTime = addTurn($general['lastrefresh'], $gameStor->turnterm, 2);
|
||||
if($targetTime > TimeUtil::now()){
|
||||
$targetTimeShort = substr($targetTime, 0, 19);
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>"아직 삭제할 수 없습니다. {$targetTimeShort} 부터 가능합니다."
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
$generalObj = General::createGeneralObjFromDB($general['no']);
|
||||
if($generalObj instanceof DummyGeneral){
|
||||
trigger_error("올바르지 않은 삭제 프로세스 $userID", E_USER_WARNING);
|
||||
}
|
||||
$generalName = $generalObj->getName();
|
||||
$josaYi = JosaUtil::pick($generalName, '이');
|
||||
$generalObj->kill($db, true, "<Y>{$generalName}</>{$josaYi} 이 홀연히 모습을 <R>감추었습니다</>");
|
||||
|
||||
$session->logoutGame();
|
||||
Json::die([
|
||||
'result'=>true,
|
||||
'reason'=>'success'
|
||||
]);
|
||||
+2
-2
@@ -111,7 +111,7 @@ $extend = (int)$_POST['extend'];
|
||||
$npcmode = (int)$_POST['npcmode'];
|
||||
$block_general_create = (bool)$_POST['block_general_create'];
|
||||
$show_img_level = (int)$_POST['show_img_level'];
|
||||
$tournament_trig = (int)$_POST['tournament_trig'];
|
||||
$tournament_trig = !!(int)$_POST['tournament_trig'];
|
||||
$join_mode = $_POST['join_mode'];
|
||||
$autorun_user_minutes = (int)$_POST['autorun_user_minutes'];
|
||||
$autorun_user_options = [];
|
||||
@@ -208,7 +208,7 @@ Json::die(ResetHelper::buildScenario(
|
||||
$block_general_create,
|
||||
$npcmode,
|
||||
$show_img_level,
|
||||
$tournament_trig,
|
||||
!!$tournament_trig,
|
||||
$join_mode,
|
||||
TimeUtil::now(),
|
||||
$autorun_user
|
||||
|
||||
@@ -53,32 +53,6 @@ if($action == '부대창설'){
|
||||
]);
|
||||
}
|
||||
|
||||
if($action == '부대변경'){
|
||||
$name = StringUtil::neutralize($name);
|
||||
if(!$name){
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'부대 이름이 없습니다.'
|
||||
]);
|
||||
}
|
||||
|
||||
$db->update('troop', [
|
||||
'name'=>$name
|
||||
], 'troop_leader=%i',$generalID);
|
||||
|
||||
if($db->affectedRows() == 0){
|
||||
Json::die([
|
||||
'result'=>false,
|
||||
'reason'=>'부대장이 아닙니다.'
|
||||
]);
|
||||
}
|
||||
|
||||
Json::die([
|
||||
'result'=>true,
|
||||
'reason'=>'success'
|
||||
]);
|
||||
}
|
||||
|
||||
if($action == '부대추방'){
|
||||
if (!$gen){
|
||||
Json::die([
|
||||
|
||||
@@ -37,7 +37,7 @@ class BidUniqueAuction extends \sammo\BaseAPI
|
||||
{
|
||||
$auctionID = $this->args['auctionID'];
|
||||
$amount = $this->args['amount'];
|
||||
$tryExtendCloseDate = $this->arg['extendCloseDate'] ?? false;
|
||||
$tryExtendCloseDate = $this->args['extendCloseDate'] ?? false;
|
||||
|
||||
$generalID = $session->generalID;
|
||||
$general = General::createGeneralObjFromDB($generalID);
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
namespace sammo\API\General;
|
||||
|
||||
use sammo\Command\General\che_거병;
|
||||
use sammo\DB;
|
||||
use sammo\Validator;
|
||||
|
||||
use sammo\Session;
|
||||
use sammo\GameConst;
|
||||
use sammo\General;
|
||||
use sammo\JosaUtil;
|
||||
use sammo\KVStorage;
|
||||
use sammo\LiteHashDRBG;
|
||||
use sammo\RandUtil;
|
||||
use sammo\UniqueConst;
|
||||
use sammo\Util;
|
||||
|
||||
use function sammo\increaseRefresh;
|
||||
|
||||
class BuildNationCandidate extends \sammo\BaseAPI
|
||||
{
|
||||
public function validateArgs(): ?string
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getRequiredSessionMode(): int
|
||||
{
|
||||
return static::REQ_GAME_LOGIN;
|
||||
}
|
||||
|
||||
public function launch(Session $session, ?\DateTimeInterface $modifiedSince, ?string $reqEtag)
|
||||
{
|
||||
$userID = $session->userID;
|
||||
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
$gameStor->cacheValues(['opentime', 'turntime']);
|
||||
|
||||
$general = $db->queryFirstRow('SELECT no,name,nation,owner_name,npc,lastrefresh FROM general WHERE owner=%i', $userID);
|
||||
|
||||
if (!$general) {
|
||||
return '장수가 없습니다';
|
||||
}
|
||||
|
||||
$generalID = $general['no'];
|
||||
|
||||
increaseRefresh("사전 거병", 1);
|
||||
|
||||
if ($gameStor->turntime > $gameStor->opentime) {
|
||||
return '게임이 시작되었습니다.';
|
||||
}
|
||||
|
||||
if ($general['nation'] != 0) {
|
||||
return '이미 국가에 소속되어있습니다.';
|
||||
}
|
||||
|
||||
$env = $gameStor->getAll();
|
||||
|
||||
$generalObj = General::createGeneralObjFromDB($general['no']);
|
||||
|
||||
$validCmd = false;
|
||||
foreach(GameConst::$availableGeneralCommand as $cmdList){
|
||||
if(in_array('che_거병', $cmdList)){
|
||||
$validCmd = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!$validCmd){
|
||||
return '거병할 수 없는 모드입니다.';
|
||||
}
|
||||
|
||||
$cmd = new che_거병($generalObj, $env);
|
||||
$failReason = $cmd->testFullConditionMet();
|
||||
if ($failReason !== null) {
|
||||
return $failReason;
|
||||
}
|
||||
|
||||
$rng = new RandUtil(new LiteHashDRBG(Util::simpleSerialize(
|
||||
UniqueConst::$hiddenSeed,
|
||||
'BuildNationCandidate',
|
||||
$generalID,
|
||||
)));
|
||||
$result = $cmd->run($rng);
|
||||
|
||||
if(!$result){
|
||||
return '거병을 실패했습니다.';
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
namespace sammo\API\General;
|
||||
|
||||
use sammo\DB;
|
||||
use sammo\DummyGeneral;
|
||||
|
||||
use sammo\Session;
|
||||
use sammo\General;
|
||||
use sammo\JosaUtil;
|
||||
use sammo\KVStorage;
|
||||
use sammo\TimeUtil;
|
||||
|
||||
use function sammo\addTurn;
|
||||
use function sammo\increaseRefresh;
|
||||
|
||||
class DieOnPrestart extends \sammo\BaseAPI
|
||||
{
|
||||
public function validateArgs(): ?string
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getRequiredSessionMode(): int
|
||||
{
|
||||
return static::REQ_GAME_LOGIN;
|
||||
}
|
||||
|
||||
public function launch(Session $session, ?\DateTimeInterface $modifiedSince, ?string $reqEtag)
|
||||
{
|
||||
//로그인 검사
|
||||
$userID = $session->userID;
|
||||
|
||||
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
$gameStor->cacheValues(['turnterm', 'opentime', 'turntime', 'year', 'month']);
|
||||
|
||||
$general = $db->queryFirstRow('SELECT no,name,nation,owner_name,npc,lastrefresh FROM general WHERE owner=%i AND npc = 0', $userID);
|
||||
|
||||
if (!$general) {
|
||||
return '장수가 없습니다';
|
||||
}
|
||||
|
||||
increaseRefresh("장수 삭제", 1);
|
||||
|
||||
|
||||
if ($gameStor->turntime > $gameStor->opentime) {
|
||||
return '게임이 시작되었습니다.';
|
||||
}
|
||||
|
||||
if ($general['nation'] != 0){
|
||||
return '이미 국가에 소속되어있습니다.';
|
||||
}
|
||||
|
||||
//서버 가오픈시 할 수 있는 행동
|
||||
$targetTime = addTurn($general['lastrefresh'], $gameStor->turnterm, 2);
|
||||
if ($targetTime > TimeUtil::now()) {
|
||||
$targetTimeShort = substr($targetTime, 0, 19);
|
||||
return "아직 삭제할 수 없습니다. {$targetTimeShort} 부터 가능합니다.";
|
||||
}
|
||||
|
||||
$generalObj = General::createGeneralObjFromDB($general['no']);
|
||||
if ($generalObj instanceof DummyGeneral) {
|
||||
trigger_error("올바르지 않은 삭제 프로세스 $userID", E_USER_WARNING);
|
||||
}
|
||||
|
||||
$generalName = $generalObj->getName();
|
||||
$josaYi = JosaUtil::pick($generalName, '이');
|
||||
$generalObj->kill($db, true, "<Y>{$generalName}</>{$josaYi} 이 홀연히 모습을 <R>감추었습니다</>");
|
||||
|
||||
$session->logoutGame();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -18,12 +18,12 @@ class GetGeneralLog extends GetNationGeneralLog
|
||||
$v = new Validator($this->args);
|
||||
$v
|
||||
->rule('required', [
|
||||
'type',
|
||||
'reqType',
|
||||
])
|
||||
->rule('int', [
|
||||
'reqTo',
|
||||
])
|
||||
->rule('in', 'type', [
|
||||
->rule('in', 'reqType', [
|
||||
self::GENERAL_HISTORY,
|
||||
self::GENERAL_ACTION,
|
||||
self::BATTLE_RESULT,
|
||||
|
||||
@@ -75,6 +75,7 @@ class Join extends \sammo\BaseAPI
|
||||
if (!$v->validate()) {
|
||||
return $v->errorStr();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -104,6 +105,10 @@ class Join extends \sammo\BaseAPI
|
||||
$inheritCity = $this->args['inheritCity'] ?? null;
|
||||
$inheritBonusStat = $this->args['inheritBonusStat'] ?? null;
|
||||
|
||||
if($inheritTurntime !== null && $inheritCity !== null){
|
||||
return '턴과 도시를 동시에 지정할 수 없습니다.';
|
||||
}
|
||||
|
||||
$rootDB = RootDB::db();
|
||||
//회원 테이블에서 정보확인
|
||||
$member = $rootDB->queryFirstRow('SELECT `no`, id, picture, grade, `name`, imgsvr FROM member WHERE no=%i', $userID);
|
||||
|
||||
@@ -67,6 +67,10 @@ class BuyHiddenBuff extends \sammo\BaseAPI
|
||||
$reqAmount = GameConst::$inheritBuffPoints[$level] - GameConst::$inheritBuffPoints[$prevLevel];
|
||||
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
if($gameStor->isunited){
|
||||
return '이미 천하가 통일되었습니다.';
|
||||
}
|
||||
$inheritStor = KVStorage::getStorage($db, "inheritance_{$userID}");
|
||||
$previousPoint = ($inheritStor->getValue('previous') ?? [0,0])[0];
|
||||
if ($previousPoint < $reqAmount) {
|
||||
|
||||
@@ -40,6 +40,10 @@ class BuyRandomUnique extends \sammo\BaseAPI
|
||||
}
|
||||
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
if($gameStor->isunited){
|
||||
return '이미 천하가 통일되었습니다.';
|
||||
}
|
||||
$inheritStor = KVStorage::getStorage($db, "inheritance_{$userID}");
|
||||
$previousPoint = ($inheritStor->getValue('previous')??[0, 0])[0];
|
||||
$reqAmount = GameConst::$inheritItemRandomPoint;
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace sammo\API\InheritAction;
|
||||
|
||||
use DateTimeInterface;
|
||||
use sammo\DB;
|
||||
use sammo\Session;
|
||||
use sammo\Validator;
|
||||
use sammo\Util;
|
||||
|
||||
class GetMoreLog extends \sammo\BaseAPI
|
||||
{
|
||||
public function validateArgs(): ?string
|
||||
{
|
||||
$v = new Validator($this->args);
|
||||
$v->rule('integer', 'lastID');
|
||||
if (!$v->validate()) {
|
||||
return $v->errorStr();
|
||||
}
|
||||
$this->args['lastID'] = Util::toInt($this->args['lastID']);
|
||||
return null;
|
||||
}
|
||||
function getRequiredSessionMode(): int
|
||||
{
|
||||
return static::REQ_GAME_LOGIN | static::REQ_READ_ONLY;
|
||||
}
|
||||
|
||||
function launch(Session $session, ?DateTimeInterface $modifiedSince, ?string $reqEtag)
|
||||
{
|
||||
$userID = $session->userID;
|
||||
$lastID = $this->args['lastID'];
|
||||
$db = DB::db();
|
||||
$lastInheritPointLogs = $db->query('SELECT id, server_id, year, month, date, text FROM user_record WHERE log_type = %s AND `user_id` = %i AND id < %i ORDER BY id desc LIMIT 30', "inheritPoint", $userID, $lastID);
|
||||
|
||||
return [
|
||||
'result'=> true,
|
||||
'log' => $lastInheritPointLogs,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -51,6 +51,11 @@ class ResetSpecialWar extends \sammo\BaseAPI
|
||||
$reqPoint = GameConst::$inheritResetAttrPointBase[$nextLevel];
|
||||
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
if($gameStor->isunited){
|
||||
return '이미 천하가 통일되었습니다.';
|
||||
}
|
||||
|
||||
$inheritStor = KVStorage::getStorage($db, "inheritance_{$userID}");
|
||||
$previousPoint = ($inheritStor->getValue('previous') ?? [0, 0])[0];
|
||||
if ($previousPoint < $reqPoint) {
|
||||
|
||||
@@ -50,6 +50,10 @@ class ResetTurnTime extends \sammo\BaseAPI
|
||||
$reqPoint = GameConst::$inheritResetAttrPointBase[$nextLevel];
|
||||
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
if($gameStor->isunited){
|
||||
return '이미 천하가 통일되었습니다.';
|
||||
}
|
||||
$inheritStor = KVStorage::getStorage($db, "inheritance_{$userID}");
|
||||
$previousPoint = ($inheritStor->getValue('previous') ?? [0, 0])[0];
|
||||
if ($previousPoint < $reqPoint) {
|
||||
|
||||
@@ -65,6 +65,10 @@ class SetNextSpecialWar extends \sammo\BaseAPI
|
||||
$reqAmount = GameConst::$inheritSpecificSpecialPoint;
|
||||
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
if($gameStor->isunited){
|
||||
return '이미 천하가 통일되었습니다.';
|
||||
}
|
||||
$inheritStor = KVStorage::getStorage($db, "inheritance_{$userID}");
|
||||
$previousPoint = ($inheritStor->getValue('previous') ?? [0, 0])[0];
|
||||
if ($previousPoint < $reqAmount) {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace sammo\API\Nation;
|
||||
|
||||
use ArrayObject;
|
||||
use sammo\DB;
|
||||
use sammo\General;
|
||||
use sammo\Session;
|
||||
@@ -44,9 +45,12 @@ class GeneralList extends \sammo\BaseAPI
|
||||
'belong' => 0,
|
||||
'connect' => 0,
|
||||
|
||||
'troop' => 0,
|
||||
'city' => 0,
|
||||
|
||||
'con' => 1,
|
||||
'specage' => 1,
|
||||
'specage2' => 1,
|
||||
'specage' => 0,
|
||||
'specage2' => 0,
|
||||
'leadership_exp' => 1,
|
||||
'strength_exp' => 1,
|
||||
'intel_exp' => 1,
|
||||
@@ -56,14 +60,12 @@ class GeneralList extends \sammo\BaseAPI
|
||||
'dex4' => 1,
|
||||
'dex5' => 1,
|
||||
|
||||
'city' => 1,
|
||||
'experience' => 1,
|
||||
'dedication' => 1,
|
||||
|
||||
'officer_level' => 1,
|
||||
'officer_city' => 1,
|
||||
'defence_train' => 1,
|
||||
'troop' => 1,
|
||||
'crewtype' => 1,
|
||||
'crew' => 1,
|
||||
'train' => 1,
|
||||
@@ -125,7 +127,7 @@ class GeneralList extends \sammo\BaseAPI
|
||||
if ($level >= 5) {
|
||||
return $level;
|
||||
}
|
||||
if ($this->permission > 1) {
|
||||
if ($this->permission >= 1) {
|
||||
return $level;
|
||||
}
|
||||
return 1;
|
||||
@@ -157,35 +159,59 @@ class GeneralList extends \sammo\BaseAPI
|
||||
|
||||
$rawGeneralList = Util::convertArrayToDict($db->query('SELECT %l from general WHERE nation = %i ORDER BY turntime ASC', Util::formatListOfBackticks($queryColumns), $nationID), 'no');
|
||||
|
||||
/** @var ArrayObject[] */
|
||||
$troops = [];
|
||||
foreach ($db->queryAllLists('SELECT troop_leader,name FROM troop WHERE nation = %i', $nationID) as [$troopLeaderID, $troopName]) {
|
||||
if (!key_exists($troopLeaderID, $rawGeneralList)) {
|
||||
continue;
|
||||
}
|
||||
$troopTurnTime = $rawGeneralList[$troopLeaderID]['turntime'];
|
||||
$troops[$troopLeaderID] = new ArrayObject([
|
||||
'id' => $troopLeaderID,
|
||||
'name' => $troopName,
|
||||
'turntime' => $troopTurnTime,
|
||||
'reservedCommand' => [],
|
||||
]);
|
||||
}
|
||||
|
||||
$reservedCommand = [];
|
||||
if ($this->permission >= 1) {
|
||||
$nonNPCGeneralIDList = [];
|
||||
foreach ($rawGeneralList as $rawGeneral) {
|
||||
if ($rawGeneral['npc'] < 2) {
|
||||
$nonNPCGeneralIDList[] = $rawGeneral['no'];
|
||||
if ($this->permission >= 1 || count($troops)) {
|
||||
$reservedCommandTargetGeneralIDList = [];
|
||||
|
||||
if($this->permission >= 1){
|
||||
foreach ($rawGeneralList as $rawGeneral) {
|
||||
if ($rawGeneral['npc'] < 2) {
|
||||
$reservedCommandTargetGeneralIDList[$rawGeneral['no']] = $rawGeneral['no'];
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach($troops as $troop){
|
||||
$reservedCommandTargetGeneralIDList[$troop['id']] = $troop['id'];
|
||||
}
|
||||
|
||||
|
||||
$rawTurnList = $db->query(
|
||||
'SELECT general_id, turn_idx, action, arg, brief FROM general_turn WHERE general_id IN %li AND turn_idx < 5 ORDER BY general_id asc, turn_idx asc',
|
||||
$nonNPCGeneralIDList
|
||||
);
|
||||
|
||||
foreach ($rawTurnList as $rawTurn) {
|
||||
[
|
||||
'general_id' => $generalID,
|
||||
'action' => $action,
|
||||
'arg' => $arg,
|
||||
'brief' => $brief,
|
||||
] = $rawTurn;
|
||||
if (!key_exists($generalID, $reservedCommand)) {
|
||||
$reservedCommand[$generalID] = [];
|
||||
if($reservedCommandTargetGeneralIDList){
|
||||
$rawTurnList = $db->query(
|
||||
'SELECT general_id, turn_idx, action, arg, brief FROM general_turn WHERE general_id IN %li AND turn_idx < 5 ORDER BY general_id asc, turn_idx asc',
|
||||
array_values($reservedCommandTargetGeneralIDList)
|
||||
);
|
||||
|
||||
foreach ($rawTurnList as $rawTurn) {
|
||||
[
|
||||
'general_id' => $generalID,
|
||||
'action' => $action,
|
||||
'arg' => $arg,
|
||||
'brief' => $brief,
|
||||
] = $rawTurn;
|
||||
if (!key_exists($generalID, $reservedCommand)) {
|
||||
$reservedCommand[$generalID] = [];
|
||||
}
|
||||
$reservedCommand[$generalID][] = [
|
||||
'action' => $action,
|
||||
'arg' => $arg,
|
||||
'brief' => $brief
|
||||
];
|
||||
}
|
||||
$reservedCommand[$generalID][] = [
|
||||
'action' => $action,
|
||||
'arg' => $arg,
|
||||
'brief' => $brief
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -251,6 +277,17 @@ class GeneralList extends \sammo\BaseAPI
|
||||
$resultColumns[$column] = $column;
|
||||
}
|
||||
|
||||
foreach ($troops as $troop){
|
||||
$troopLeaderID = $troop['id'];
|
||||
$troop['reservedCommand'] = array_map(function($turnObj){
|
||||
$brief = $turnObj['brief'];
|
||||
if($brief == '집합'){
|
||||
return $brief;
|
||||
}
|
||||
return '-';
|
||||
}, $specialViewFilter['reservedCommand']($rawGeneralList[$troopLeaderID]));
|
||||
}
|
||||
|
||||
$generalList = [];
|
||||
foreach ($rawGeneralList as $rawGeneral) {
|
||||
//General 생성?
|
||||
@@ -271,20 +308,14 @@ class GeneralList extends \sammo\BaseAPI
|
||||
$generalList[] = $item;
|
||||
}
|
||||
|
||||
if ($this->permission >= 1) {
|
||||
$troops = $db->queryAllLists('SELECT troop_leader,name FROM troop WHERE nation = %i', $nationID);
|
||||
} else {
|
||||
$troops = null;
|
||||
}
|
||||
|
||||
|
||||
$result = [
|
||||
'result' => true,
|
||||
'permission' => $this->permission,
|
||||
'column' => array_keys($resultColumns),
|
||||
'list' => $generalList,
|
||||
'troops' => $troops,
|
||||
'troops' => array_values($troops),
|
||||
'env' => $env,
|
||||
'myGeneralID' => $session->generalID,
|
||||
];
|
||||
|
||||
return $result;
|
||||
|
||||
@@ -9,11 +9,12 @@ use sammo\Validator;
|
||||
use function sammo\checkLimit;
|
||||
use function sammo\checkSecretPermission;
|
||||
use function sammo\getBattleDetailLogMore;
|
||||
use function sammo\getBattleDetailLogRecent;
|
||||
use function sammo\getBattleResultMore;
|
||||
use function sammo\getBattleResultRecent;
|
||||
use function sammo\getGeneralActionLogMore;
|
||||
use function sammo\getGeneralActionLogRecent;
|
||||
use function sammo\getGeneralHistoryLogAll;
|
||||
use function sammo\getGeneralHistoryLogWithLogID;
|
||||
|
||||
class GetGeneralLog extends \sammo\BaseAPI
|
||||
{
|
||||
@@ -28,13 +29,13 @@ class GetGeneralLog extends \sammo\BaseAPI
|
||||
$v
|
||||
->rule('required', [
|
||||
'generalID',
|
||||
'type',
|
||||
'reqType',
|
||||
])
|
||||
->rule('integer', [
|
||||
'generalID',
|
||||
'reqTo',
|
||||
])
|
||||
->rule('in', 'type', [
|
||||
->rule('in', 'reqType', [
|
||||
self::GENERAL_HISTORY,
|
||||
self::GENERAL_ACTION,
|
||||
self::BATTLE_RESULT,
|
||||
@@ -76,7 +77,7 @@ class GetGeneralLog extends \sammo\BaseAPI
|
||||
return '같은 나라의 장수가 아닙니다.';
|
||||
}
|
||||
|
||||
$reqType = $this->args['type'];
|
||||
$reqType = $this->args['reqType'];
|
||||
if (
|
||||
$reqType === self::GENERAL_ACTION &&
|
||||
$testGeneralNPCType < 2 &&
|
||||
@@ -103,7 +104,7 @@ class GetGeneralLog extends \sammo\BaseAPI
|
||||
$userID = $session->userID;
|
||||
|
||||
$targetGeneralID = $this->getTargetGeneralID($session);
|
||||
$reqType = $this->args['type'];
|
||||
$reqType = $this->args['reqType'];
|
||||
$reqTo = $this->args['reqTo'] ?? null;
|
||||
|
||||
$db = DB::db();
|
||||
@@ -124,7 +125,7 @@ class GetGeneralLog extends \sammo\BaseAPI
|
||||
'result' => true,
|
||||
'reqType' => $reqType,
|
||||
'generalID' => $targetGeneralID,
|
||||
'log' => getGeneralHistoryLogAll($targetGeneralID)
|
||||
'log' => getGeneralHistoryLogWithLogID($targetGeneralID)
|
||||
];
|
||||
}
|
||||
|
||||
@@ -156,7 +157,7 @@ class GetGeneralLog extends \sammo\BaseAPI
|
||||
'reqType' => $reqType,
|
||||
'generalID' => $targetGeneralID,
|
||||
'log' => $reqTo === null
|
||||
? getBattleResultRecent($targetGeneralID, 30)
|
||||
? getBattleDetailLogRecent($targetGeneralID, 30)
|
||||
: getBattleDetailLogMore($targetGeneralID, $reqTo, 30)
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
|
||||
namespace sammo\API\Nation;
|
||||
|
||||
use sammo\DB;
|
||||
use sammo\GameConst;
|
||||
use sammo\General;
|
||||
use sammo\KVStorage;
|
||||
use sammo\LastTurn;
|
||||
use sammo\Session;
|
||||
use sammo\Util;
|
||||
use sammo\Validator;
|
||||
|
||||
use function sammo\buildNationCommandClass;
|
||||
use function sammo\checkLimit;
|
||||
use function sammo\checkSecretPermission;
|
||||
use function sammo\getBattleDetailLogMore;
|
||||
use function sammo\getBattleResultMore;
|
||||
use function sammo\getBattleResultRecent;
|
||||
use function sammo\getGeneralActionLogMore;
|
||||
use function sammo\getGeneralActionLogRecent;
|
||||
use function sammo\getGeneralHistoryLogAll;
|
||||
use function sammo\getNationStaticInfo;
|
||||
|
||||
class GetNationInfo extends \sammo\BaseAPI
|
||||
{
|
||||
public function validateArgs(): ?string
|
||||
{
|
||||
$v = new Validator($this->args);
|
||||
$v->rule('boolean', 'full');
|
||||
|
||||
if (!$v->validate()) {
|
||||
return $v->errorStr();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getRequiredSessionMode(): int
|
||||
{
|
||||
return static::REQ_GAME_LOGIN | static::REQ_READ_ONLY;
|
||||
}
|
||||
|
||||
public function launch(Session $session, ?\DateTimeInterface $modifiedSince, ?string $reqEtag)
|
||||
{
|
||||
$userID = $session->userID;
|
||||
|
||||
$db = DB::db();
|
||||
$nationID = $db->queryFirstField('SELECT nation FROM general WHERE `owner` = %i', $userID);
|
||||
|
||||
if (!$nationID) {
|
||||
return [
|
||||
'result' => true,
|
||||
'nation' => getNationStaticInfo(0)
|
||||
];
|
||||
}
|
||||
|
||||
$isFull = $this->args['full'] ?? false;
|
||||
|
||||
if(!$isFull){
|
||||
$nation = getNationStaticInfo($nationID);
|
||||
return [
|
||||
'result' => true,
|
||||
'nation' => $nation,
|
||||
];
|
||||
}
|
||||
|
||||
$generalObj = General::createGeneralObjFromDB($session->generalID, null, 1);
|
||||
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
$gameEnv = $gameStor->getValues(['year', 'month', 'startyear']);
|
||||
|
||||
$nation = $db->queryFirstRow(
|
||||
'SELECT nation, `name`, color, capital, gennum, gold, rice, bill, rate, secretlimit, chief_set, scout, war, strategic_cmd_limit, surlimit, tech, `power`, `level`, `type` FROM nation WHERE id = %i',
|
||||
$nationID
|
||||
);
|
||||
$nationStor = \sammo\KVStorage::getStorage($db, $nationID, 'nation_env');
|
||||
$nationStor->cacheAll();
|
||||
|
||||
|
||||
//전략 정보를 매번 읽어와야하나?
|
||||
$impossibleStrategicCommandLists = [];
|
||||
$strategicCommandLists = GameConst::$availableChiefCommand['전략'];
|
||||
$yearMonth = Util::joinYearMonth($gameEnv['year'], $gameEnv['month']);
|
||||
foreach ($strategicCommandLists as $command) {
|
||||
$cmd = buildNationCommandClass($command, $generalObj, $gameEnv, new LastTurn());
|
||||
$nextAvailableTurn = $cmd->getNextAvailableTurn();
|
||||
if ($nextAvailableTurn > $yearMonth) {
|
||||
$impossibleStrategicCommandLists[] = [$cmd->getName(), $nextAvailableTurn - $yearMonth];
|
||||
}
|
||||
}
|
||||
|
||||
$troopName = [];
|
||||
foreach ($db->queryAllLists('SELECT troop_leader, name FROM troop WHERE nation=%i', $nationID) as [$troopID, $tName]) {
|
||||
$troopName[$troopID] = $tName;
|
||||
}
|
||||
|
||||
return [
|
||||
'result' => true,
|
||||
'nation' => $nation,
|
||||
'impossibleStrategicCommandLists' => $impossibleStrategicCommandLists,
|
||||
'troops' => $troopName,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace sammo\API\Nation;
|
||||
|
||||
use sammo\Session;
|
||||
use DateTimeInterface;
|
||||
use sammo\DB;
|
||||
use sammo\StringUtil;
|
||||
use sammo\Validator;
|
||||
|
||||
use function sammo\checkSecretPermission;
|
||||
|
||||
/** @deprecated */
|
||||
class SetTroopName extends \sammo\BaseAPI
|
||||
{
|
||||
public function validateArgs(): ?string
|
||||
{
|
||||
$v = new Validator($this->args);
|
||||
$v->rule('required', [
|
||||
'troopID',
|
||||
'troopName',
|
||||
])
|
||||
->rule('stringWidthBetween', 'troopName', 1, 18)
|
||||
->rule('integer', 'troopID');
|
||||
|
||||
if (!$v->validate()) {
|
||||
return $v->errorStr();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getRequiredSessionMode(): int
|
||||
{
|
||||
return static::REQ_GAME_LOGIN | static::REQ_READ_ONLY;
|
||||
}
|
||||
|
||||
public function launch(Session $session, ?DateTimeInterface $modifiedSince, ?string $reqEtag)
|
||||
{
|
||||
$userID = $session->userID;
|
||||
$db = DB::db();
|
||||
$me = $db->queryFirstRow('SELECT `no`,nation,`officer_level`,permission,penalty FROM general WHERE `owner`=%i', $userID);
|
||||
$permission = checkSecretPermission($me, false);
|
||||
$troopID = $this->args['troopID'];
|
||||
|
||||
$generalID = $me['no'];
|
||||
if($generalID != $troopID && $permission < 4){
|
||||
return "권한이 부족합니다.";
|
||||
}
|
||||
|
||||
$troopName = StringUtil::neutralize($this->args['troopName']);
|
||||
if(!$troopName){
|
||||
return '부대 이름이 없습니다.';
|
||||
}
|
||||
|
||||
$nationID = $me['nation'];
|
||||
$db->update('troop', [
|
||||
'name'=>$troopName
|
||||
], 'troop_leader=%i AND `nation`=%i',$troopID, $nationID);
|
||||
|
||||
if($db->affectedRows() == 0){
|
||||
return '부대가 없습니다.';
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -63,9 +63,9 @@ class GetReservedCommand extends \sammo\BaseAPI
|
||||
|
||||
$nationTurnList = [];
|
||||
foreach ($db->queryAllLists(
|
||||
'SELECT officer_level, turn_idx, action, arg, brief FROM nation_turn WHERE nation_id = %i ORDER BY officer_level DESC, turn_idx ASC',
|
||||
$me['nation']
|
||||
) as [$officer_level, $turn_idx, $action, $arg, $brief]) {
|
||||
'SELECT officer_level, turn_idx, action, arg, brief FROM nation_turn WHERE nation_id = %i ORDER BY officer_level DESC, turn_idx ASC',
|
||||
$me['nation']
|
||||
) as [$officer_level, $turn_idx, $action, $arg, $brief]) {
|
||||
if (!key_exists($officer_level, $nationTurnList)) {
|
||||
$nationTurnList[$officer_level] = [];
|
||||
}
|
||||
@@ -76,6 +76,14 @@ class GetReservedCommand extends \sammo\BaseAPI
|
||||
];
|
||||
}
|
||||
|
||||
$troopList = [];
|
||||
foreach ($db->queryAllLists(
|
||||
'SELECT troop_leader, `name` FROM troop WHERE `nation` = %i',
|
||||
$nationID
|
||||
) as [$troopID, $troopName]) {
|
||||
$troopList[$troopID] = $troopName;
|
||||
}
|
||||
|
||||
|
||||
$nationChiefList = [];
|
||||
foreach ($nationTurnList as $officer_level => $turnBrief) {
|
||||
@@ -111,7 +119,8 @@ class GetReservedCommand extends \sammo\BaseAPI
|
||||
'turnTerm' => $turnTerm,
|
||||
'date' => TimeUtil::now(true),
|
||||
'chiefList' => $nationChiefList,
|
||||
'isChief'=>($me['officer_level'] > 4),
|
||||
'troopList' => $troopList,
|
||||
'isChief' => ($me['officer_level'] > 4),
|
||||
'autorun_limit' => $generalObj->getAuxVar('autorun_limit'),
|
||||
'officerLevel' => $me['officer_level'],
|
||||
'commandList' => getChiefCommandTable($generalObj),
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
namespace sammo\API\Troop;
|
||||
|
||||
use sammo\Session;
|
||||
use DateTimeInterface;
|
||||
use sammo\DB;
|
||||
|
||||
class ExitTroop extends \sammo\BaseAPI
|
||||
{
|
||||
public function validateArgs(): ?string
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getRequiredSessionMode(): int
|
||||
{
|
||||
return static::REQ_GAME_LOGIN;
|
||||
}
|
||||
|
||||
public function launch(Session $session, ?DateTimeInterface $modifiedSince, ?string $reqEtag)
|
||||
{
|
||||
$generalID = $session->generalID;
|
||||
$db = DB::db();
|
||||
|
||||
$troopID = $db->queryFirstField('SELECT troop FROM general WHERE no = %i', $generalID);
|
||||
if($troopID == 0){
|
||||
return '부대에 소속되어 있지 않습니다.';
|
||||
}
|
||||
|
||||
if($generalID != $troopID){
|
||||
$db->update('general', [
|
||||
'troop' => 0,
|
||||
], '`no` = %i', $generalID);
|
||||
return null;
|
||||
}
|
||||
|
||||
//부대장이다.
|
||||
$db->update('general', [
|
||||
'troop' => 0,
|
||||
], '`troop` = %i', $troopID);
|
||||
$db->delete('troop', 'troop_leader = %i', $troopID);
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
namespace sammo\API\Troop;
|
||||
|
||||
use sammo\Session;
|
||||
use DateTimeInterface;
|
||||
use sammo\DB;
|
||||
use sammo\StringUtil;
|
||||
use sammo\Validator;
|
||||
|
||||
class JoinTroop extends \sammo\BaseAPI
|
||||
{
|
||||
public function validateArgs(): ?string
|
||||
{
|
||||
$v = new Validator($this->args);
|
||||
$v->rule('required', [
|
||||
'troopID',
|
||||
])
|
||||
->rule('integer', 'troopID');
|
||||
|
||||
if (!$v->validate()) {
|
||||
return $v->errorStr();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getRequiredSessionMode(): int
|
||||
{
|
||||
return static::REQ_GAME_LOGIN;
|
||||
}
|
||||
|
||||
public function launch(Session $session, ?DateTimeInterface $modifiedSince, ?string $reqEtag)
|
||||
{
|
||||
$userID = $session->userID;
|
||||
$troopID = $this->args['troopID'];
|
||||
|
||||
$db = DB::db();
|
||||
$me = $db->queryFirstRow('SELECT `no`,nation,`troop`,`officer_level`,permission,penalty FROM general WHERE `owner`=%i', $userID);
|
||||
if ($me['troop'] != 0) {
|
||||
return '이미 부대에 소속되어 있습니다.';
|
||||
}
|
||||
$nationID = $me['nation'];
|
||||
if ($nationID == 0) {
|
||||
return '국가에 소속되어 있지 않습니다.';
|
||||
}
|
||||
|
||||
$troopExists = $db->queryFirstField('SELECT `troop_leader` FROM `troop` WHERE `troop_leader` = %i AND `nation` = %i', $troopID, $nationID);
|
||||
if (!$troopExists) {
|
||||
return '부대가 올바르지 않습니다.';
|
||||
}
|
||||
$generalID = $me['no'];
|
||||
|
||||
$db->update('general', [
|
||||
'troop' => $troopID,
|
||||
], '`no` = %i AND `troop` = %i', $generalID, 0);
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
namespace sammo\API\Troop;
|
||||
|
||||
use sammo\Session;
|
||||
use DateTimeInterface;
|
||||
use sammo\DB;
|
||||
use sammo\Validator;
|
||||
|
||||
class KickFromTroop extends \sammo\BaseAPI
|
||||
{
|
||||
public function validateArgs(): ?string
|
||||
{
|
||||
$v = new Validator($this->args);
|
||||
$v->rule('required', [
|
||||
'troopID',
|
||||
'generalID',
|
||||
])
|
||||
->rule('integer', 'troopID')
|
||||
->rule('integer', 'generalID');
|
||||
|
||||
if (!$v->validate()) {
|
||||
return $v->errorStr();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public function getRequiredSessionMode(): int
|
||||
{
|
||||
return static::REQ_GAME_LOGIN;
|
||||
}
|
||||
|
||||
public function launch(Session $session, ?DateTimeInterface $modifiedSince, ?string $reqEtag)
|
||||
{
|
||||
$generalID = $this->args['generalID'];
|
||||
$db = DB::db();
|
||||
|
||||
$troopID = $db->queryFirstField('SELECT troop FROM general WHERE no = %i', $generalID);
|
||||
if($troopID == 0){
|
||||
return '부대에 소속되어 있지 않습니다.';
|
||||
}
|
||||
|
||||
if($troopID != $this->args['troopID']){
|
||||
return '다른 부대에 소속되어 있습니다.';
|
||||
}
|
||||
|
||||
if($troopID == $generalID){
|
||||
return '부대장을 추방할 수 없습니다.';
|
||||
}
|
||||
|
||||
$db->update('general', [
|
||||
'troop' => 0,
|
||||
], '`no` = %i AND `troop` = %i', $generalID, $troopID);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
namespace sammo\API\Troop;
|
||||
|
||||
use sammo\Session;
|
||||
use DateTimeInterface;
|
||||
use sammo\DB;
|
||||
use sammo\StringUtil;
|
||||
use sammo\Validator;
|
||||
|
||||
class NewTroop extends \sammo\BaseAPI
|
||||
{
|
||||
public function validateArgs(): ?string
|
||||
{
|
||||
$v = new Validator($this->args);
|
||||
$v->rule('required', [
|
||||
'troopName',
|
||||
])
|
||||
->rule('stringWidthBetween', 'troopName', 1, 18);
|
||||
|
||||
if (!$v->validate()) {
|
||||
return $v->errorStr();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getRequiredSessionMode(): int
|
||||
{
|
||||
return static::REQ_GAME_LOGIN;
|
||||
}
|
||||
|
||||
public function launch(Session $session, ?DateTimeInterface $modifiedSince, ?string $reqEtag)
|
||||
{
|
||||
$userID = $session->userID;
|
||||
$troopName = StringUtil::neutralize($this->args['troopName']);
|
||||
if(!$troopName){
|
||||
return '부대 이름이 없습니다.';
|
||||
}
|
||||
|
||||
$db = DB::db();
|
||||
$me = $db->queryFirstRow('SELECT `no`,nation,`troop`,`officer_level`,permission,penalty FROM general WHERE `owner`=%i', $userID);
|
||||
if($me['troop'] != 0){
|
||||
return '이미 부대에 소속되어 있습니다.';
|
||||
}
|
||||
$nationID = $me['nation'];
|
||||
if($nationID == 0){
|
||||
return '국가에 소속되어 있지 않습니다.';
|
||||
}
|
||||
|
||||
$generalID = $me['no'];
|
||||
|
||||
$db->insert('troop', [
|
||||
'name'=>$troopName,
|
||||
'troop_leader'=>$generalID,
|
||||
'nation'=>$nationID,
|
||||
]);
|
||||
|
||||
if($db->affectedRows() == 0){
|
||||
return '부대가 생성되지 않았습니다. 버그일 수 있습니다.';
|
||||
}
|
||||
|
||||
$db->update('general', [
|
||||
'troop'=>$generalID
|
||||
], '`no` = %i', $generalID);
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
namespace sammo\API\Troop;
|
||||
|
||||
use sammo\Session;
|
||||
use DateTimeInterface;
|
||||
use sammo\DB;
|
||||
use sammo\StringUtil;
|
||||
use sammo\Validator;
|
||||
|
||||
use function sammo\checkSecretPermission;
|
||||
|
||||
class SetTroopName extends \sammo\BaseAPI
|
||||
{
|
||||
public function validateArgs(): ?string
|
||||
{
|
||||
$v = new Validator($this->args);
|
||||
$v->rule('required', [
|
||||
'troopID',
|
||||
'troopName',
|
||||
])
|
||||
->rule('stringWidthBetween', 'troopName', 1, 18)
|
||||
->rule('integer', 'troopID');
|
||||
|
||||
if (!$v->validate()) {
|
||||
return $v->errorStr();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getRequiredSessionMode(): int
|
||||
{
|
||||
return static::REQ_GAME_LOGIN | static::REQ_READ_ONLY;
|
||||
}
|
||||
|
||||
public function launch(Session $session, ?DateTimeInterface $modifiedSince, ?string $reqEtag)
|
||||
{
|
||||
$userID = $session->userID;
|
||||
$db = DB::db();
|
||||
$me = $db->queryFirstRow('SELECT `no`,nation,`officer_level`,permission,penalty FROM general WHERE `owner`=%i', $userID);
|
||||
$permission = checkSecretPermission($me, false);
|
||||
$troopID = $this->args['troopID'];
|
||||
|
||||
$generalID = $me['no'];
|
||||
if($generalID != $troopID && $permission < 4){
|
||||
return "권한이 부족합니다.";
|
||||
}
|
||||
|
||||
$troopName = StringUtil::neutralize($this->args['troopName']);
|
||||
if(!$troopName){
|
||||
return '부대 이름이 없습니다.';
|
||||
}
|
||||
|
||||
$nationID = $me['nation'];
|
||||
$db->update('troop', [
|
||||
'name'=>$troopName
|
||||
], 'troop_leader=%i AND `nation`=%i',$troopID, $nationID);
|
||||
|
||||
if($db->affectedRows() == 0){
|
||||
return '부대가 없습니다.';
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -7,13 +7,13 @@ class che_간파_노군입산부 extends \sammo\BaseItem{
|
||||
|
||||
protected $rawName = '노군입산부';
|
||||
protected $name = '노군입산부(간파)';
|
||||
protected $info = '[전투] 상대 회피 확률 -30%p, 상대 필살 확률 -10%p';
|
||||
protected $info = '[전투] 상대 회피 확률 -25%p, 상대 필살 확률 -10%p';
|
||||
protected $cost = 200;
|
||||
protected $consumable = false;
|
||||
|
||||
public function onCalcOpposeStat(General $general, string $statName, $value, $aux=null){
|
||||
if($statName === 'warAvoidRatio'){
|
||||
return $value - 0.30;
|
||||
return $value - 0.25;
|
||||
}
|
||||
if($statName === 'warCriticalRatio'){
|
||||
return $value - 0.10;
|
||||
|
||||
@@ -12,10 +12,15 @@ class che_격노_구정신단경 extends \sammo\BaseItem{
|
||||
|
||||
protected $rawName = '구정신단경';
|
||||
protected $name = '구정신단경(격노)';
|
||||
protected $info = '[전투] 상대방 필살 시 격노(필살) 발동, 회피 시도시 25% 확률로 격노 발동, 공격 시 일정 확률로 진노(1페이즈 추가)';
|
||||
protected $info = '[전투] 상대방 필살 시 격노(필살) 발동, 회피 시도시 25% 확률로 격노 발동, 공격 시 일정 확률로 진노(1페이즈 추가), 격노마다 대미지 5% 추가 중첩';
|
||||
protected $cost = 200;
|
||||
protected $consumable = false;
|
||||
|
||||
public function getWarPowerMultiplier(WarUnit $unit):array{
|
||||
$activatedCnt = $unit->hasActivatedSkillOnLog('격노');
|
||||
return [1 + 0.05*$activatedCnt, 1];
|
||||
}
|
||||
|
||||
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
|
||||
return new WarUnitTriggerCaller(
|
||||
new che_격노시도($unit, che_격노시도::TYPE_ITEM),
|
||||
|
||||
@@ -8,13 +8,13 @@ class che_내정_납금박산로 extends \sammo\BaseItem{
|
||||
|
||||
protected $rawName = '납금박산로';
|
||||
protected $name = '납금박산로(내정)';
|
||||
protected $info = '[내정] 내정 성공률 +20%p';
|
||||
protected $info = '[내정] 내정 성공률 +15%p';
|
||||
protected $cost = 200;
|
||||
protected $consumable = false;
|
||||
|
||||
public function onCalcStrategic(string $turnType, string $varType, $value){
|
||||
public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null): float{
|
||||
if(in_array($turnType, ['상업', '농업', '기술', '성벽', '수비', '치안', '민심', '인구'])){
|
||||
if($varType == 'success') return $value + 0.2;
|
||||
if($varType == 'success') return $value + 0.15;
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ class che_능력치_무력_두강주 extends \sammo\BaseItem{
|
||||
|
||||
protected $rawName = '두강주';
|
||||
protected $name = '두강주(무력)';
|
||||
protected $info = '[능력치] 무력 +5 +(5년마다 +1)';
|
||||
protected $info = '[능력치] 무력 +5 +(4년마다 +1)';
|
||||
protected $cost = 200;
|
||||
protected $consumable = false;
|
||||
|
||||
@@ -21,7 +21,7 @@ class che_능력치_무력_두강주 extends \sammo\BaseItem{
|
||||
$gameStor = KVStorage::getStorage(DB::db(), 'game_env');
|
||||
[$year, $startYear] = $gameStor->getValuesAsArray(['year', 'startyear']);
|
||||
$relYear = $year - $startYear;
|
||||
return $value + 5 + Util::valueFit(intdiv($relYear, 5), 0, GameConst::$maxTechLevel);
|
||||
return $value + 5 + Util::valueFit(intdiv($relYear, 4), 0, GameConst::$maxTechLevel);
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ class che_능력치_지력_이강주 extends \sammo\BaseItem{
|
||||
|
||||
protected $rawName = '이강주';
|
||||
protected $name = '이강주(지력)';
|
||||
protected $info = '[능력치] 지력 +5 +(5년마다 +1)';
|
||||
protected $info = '[능력치] 지력 +5 +(4년마다 +1)';
|
||||
protected $cost = 200;
|
||||
protected $consumable = false;
|
||||
|
||||
@@ -21,7 +21,7 @@ class che_능력치_지력_이강주 extends \sammo\BaseItem{
|
||||
$gameStor = KVStorage::getStorage(DB::db(), 'game_env');
|
||||
[$year, $startYear] = $gameStor->getValuesAsArray(['year', 'startyear']);
|
||||
$relYear = $year - $startYear;
|
||||
return $value + 5 + Util::valueFit(intdiv($relYear, 5), 0, GameConst::$maxTechLevel);
|
||||
return $value + 5 + Util::valueFit(intdiv($relYear, 4), 0, GameConst::$maxTechLevel);
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ class che_능력치_통솔_보령압주 extends \sammo\BaseItem{
|
||||
|
||||
protected $rawName = '보령압주';
|
||||
protected $name = '보령압주(통솔)';
|
||||
protected $info = '[능력치] 통솔 +5 +(5년마다 +1)';
|
||||
protected $info = '[능력치] 통솔 +5 +(4년마다 +1)';
|
||||
protected $cost = 200;
|
||||
protected $consumable = false;
|
||||
|
||||
@@ -21,7 +21,7 @@ class che_능력치_통솔_보령압주 extends \sammo\BaseItem{
|
||||
$gameStor = KVStorage::getStorage(DB::db(), 'game_env');
|
||||
[$year, $startYear] = $gameStor->getValuesAsArray(['year', 'startyear']);
|
||||
$relYear = $year - $startYear;
|
||||
return $value + 5 + Util::valueFit(intdiv($relYear, 5), 0, GameConst::$maxTechLevel);
|
||||
return $value + 5 + Util::valueFit(intdiv($relYear, 4), 0, GameConst::$maxTechLevel);
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
@@ -7,13 +7,13 @@ class che_명성_구석 extends \sammo\BaseItem{
|
||||
|
||||
protected $rawName = '구석';
|
||||
protected $name = '구석(명성)';
|
||||
protected $info = '명성 +15%';
|
||||
protected $info = '명성 +20%';
|
||||
protected $cost = 200;
|
||||
protected $consumable = false;
|
||||
|
||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||
if($statName == 'experience'){
|
||||
return $value * 1.15;
|
||||
return $value * 1.20;
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ class che_불굴_상편 extends \sammo\BaseItem
|
||||
|
||||
protected $rawName = '상편';
|
||||
protected $name = '상편(불굴)';
|
||||
protected $info = '[전투] 남은 병력이 적을수록 공격력 증가. 최대 +50%';
|
||||
protected $info = '[전투] 남은 병력이 적을수록 공격력 증가. 최대 +60%';
|
||||
protected $cost = 200;
|
||||
protected $consumable = false;
|
||||
|
||||
@@ -25,7 +25,7 @@ class che_불굴_상편 extends \sammo\BaseItem
|
||||
|
||||
$crewRatio = Util::valueFit($crew / ($leadership * 100), 0, 1);
|
||||
return new WarUnitTriggerCaller(
|
||||
new 전투력보정($unit, 1 + 0.5 * (1 - $crewRatio))
|
||||
new 전투력보정($unit, 1 + 0.6 * (1 - $crewRatio))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,13 +7,13 @@ class che_숙련_동작 extends \sammo\BaseItem{
|
||||
|
||||
protected $rawName = '동작';
|
||||
protected $name = '동작(숙련)';
|
||||
protected $info = '숙련 +15%';
|
||||
protected $info = '숙련 +20%';
|
||||
protected $cost = 200;
|
||||
protected $consumable = false;
|
||||
|
||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||
if($statName == 'addDex'){
|
||||
return $value * 1.15;
|
||||
return $value * 1.20;
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
@@ -8,13 +8,13 @@ class che_전략_평만지장도 extends \sammo\BaseItem{
|
||||
|
||||
protected $rawName = '평만지장도';
|
||||
protected $name = '평만지장도(전략)';
|
||||
protected $info = '[전략] 국가전략 사용시 재사용 대기 기간 -15%';
|
||||
protected $info = '[전략] 국가전략 사용시 재사용 대기 기간 -20%';
|
||||
protected $cost = 200;
|
||||
protected $consumable = false;
|
||||
|
||||
public function onCalcStrategic(string $turnType, string $varType, $value){
|
||||
if($varType == 'delay'){
|
||||
return Util::round($value * 0.85);
|
||||
return Util::round($value * 0.80);
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ class che_조달_주판 extends \sammo\BaseItem{
|
||||
protected $cost = 200;
|
||||
protected $consumable = false;
|
||||
|
||||
public function onCalcStrategic(string $turnType, string $varType, $value){
|
||||
public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null): float{
|
||||
if($turnType === '조달'){
|
||||
if($varType == 'success') return $value + 0.2;
|
||||
if($varType == 'score') return $value * 2;
|
||||
|
||||
@@ -7,17 +7,17 @@ use sammo\WarUnitTrigger\che_저지발동;
|
||||
use sammo\WarUnitTrigger\WarActivateSkills;
|
||||
use sammo\WarUnitTriggerCaller;
|
||||
|
||||
class che_반계저지_박혁론 extends \sammo\BaseItem{
|
||||
class che_진압_박혁론 extends \sammo\BaseItem{
|
||||
|
||||
protected $rawName = '박혁론';
|
||||
protected $name = '박혁론(반계저지)';
|
||||
protected $info = '[전투] 상대의 계략 되돌림 불가';
|
||||
protected $name = '박혁론(진압)';
|
||||
protected $info = '[전투] 상대의 계략 되돌림, 격노 불가';
|
||||
protected $cost = 200;
|
||||
protected $consumable = false;
|
||||
|
||||
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
|
||||
return new WarUnitTriggerCaller(
|
||||
new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_NONE, false, '반계불가'),
|
||||
new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_NONE, false, '반계불가', '격노불가'),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -9,13 +9,13 @@ class che_징병_낙주 extends \sammo\BaseItem{
|
||||
|
||||
protected $rawName = '낙주';
|
||||
protected $name = '낙주(징병)';
|
||||
protected $info = '[군사] 징·모병비 -50%, 통솔 순수 능력치 보정 +15%';
|
||||
protected $info = '[군사] 징·모병비 -30%, 통솔 순수 능력치 보정 +15%';
|
||||
protected $cost = 200;
|
||||
protected $consumable = false;
|
||||
|
||||
public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{
|
||||
if(in_array($turnType, ['징병', '모병'])){
|
||||
if($varType == 'cost') return $value * 0.5;
|
||||
if($varType == 'cost') return $value * 0.7;
|
||||
}
|
||||
|
||||
return $value;
|
||||
|
||||
@@ -7,13 +7,13 @@ class che_필살_둔갑천서 extends \sammo\BaseItem{
|
||||
|
||||
protected $rawName = '둔갑천서';
|
||||
protected $name = '둔갑천서(필살)';
|
||||
protected $info = '[전투] 필살 확률 +25%p';
|
||||
protected $info = '[전투] 필살 확률 +20%p';
|
||||
protected $cost = 200;
|
||||
protected $consumable = false;
|
||||
|
||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||
if($statName === 'warCriticalRatio'){
|
||||
return $value + 0.25;
|
||||
return $value + 0.20;
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
@@ -53,12 +53,19 @@ class AuctionUniqueItem extends Auction
|
||||
}
|
||||
|
||||
$availableCnt = 0;
|
||||
foreach(GameConst::$allItems as $itemType => $itemList){
|
||||
$availableCnt += $itemList[$itemKey] ?? 0;
|
||||
foreach (GameConst::$allItems as $itemType => $itemList) {
|
||||
if (!key_exists($itemKey, $itemList)) {
|
||||
continue;
|
||||
}
|
||||
$ownItem = $general->getItem($itemType);
|
||||
if ($ownItem !== null && !$ownItem->isBuyable()) {
|
||||
return '이미 가진 아이템이 있습니다.';
|
||||
}
|
||||
$availableCnt += $itemList[$itemKey];
|
||||
$availableCnt -= $db->queryFirstField('SELECT count(*) FROM `general` WHERE %b = %s', $itemType, $itemKey);
|
||||
}
|
||||
|
||||
if($availableCnt <= 0){
|
||||
if ($availableCnt <= 0) {
|
||||
return '그 유니크를 더 얻을 수 없습니다.';
|
||||
}
|
||||
|
||||
@@ -129,7 +136,7 @@ class AuctionUniqueItem extends Auction
|
||||
public function bid(int $amount, bool $tryExtendCloseDate): ?string
|
||||
{
|
||||
|
||||
if($this->info->finished){
|
||||
if ($this->info->finished) {
|
||||
return '경매가 종료되었습니다.';
|
||||
}
|
||||
|
||||
@@ -146,7 +153,7 @@ class AuctionUniqueItem extends Auction
|
||||
}
|
||||
|
||||
$db = DB::db();
|
||||
if($auctionIDList){
|
||||
if ($auctionIDList) {
|
||||
$rawHighestBids = Util::convertArrayToDict($db->query(
|
||||
'SELECT bid.* FROM `ng_auction_bid` bid INNER JOIN (
|
||||
SELECT `auction_id`, MAX(`amount`) as `max_amount`
|
||||
@@ -158,8 +165,7 @@ class AuctionUniqueItem extends Auction
|
||||
ON bid.`auction_id` = max_bid.`auction_id` AND bid.`amount` = max_bid.`max_amount`',
|
||||
$auctionIDList,
|
||||
) ?? [], 'auction_id');
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
$rawHighestBids = [];
|
||||
}
|
||||
|
||||
@@ -177,7 +183,14 @@ class AuctionUniqueItem extends Auction
|
||||
|
||||
$bidItemTypes = new Set();
|
||||
foreach (GameConst::$allItems as $itemType => $itemList) {
|
||||
if (($itemList[$itemCode] ?? 0) <= 0) {
|
||||
if (!key_exists($itemCode, $itemList)) {
|
||||
continue;
|
||||
}
|
||||
$ownItem = $this->general->getItem($itemType);
|
||||
if ($ownItem !== null && !$ownItem->isBuyable()) {
|
||||
return '이미 가진 아이템이 있습니다.';
|
||||
}
|
||||
if ($itemList[$itemCode] <= 0) {
|
||||
continue;
|
||||
}
|
||||
$bidItemTypes->add($itemType);
|
||||
@@ -212,6 +225,11 @@ class AuctionUniqueItem extends Auction
|
||||
return $this->_bid($amount, $tryExtendCloseDate);
|
||||
}
|
||||
|
||||
protected function setHostAsNeutral(){
|
||||
$this->info->hostGeneralID = 0;
|
||||
$this->info->detail->hostName = '(상인)';
|
||||
}
|
||||
|
||||
protected function finishAuction(AuctionBidItem $highestBid, General $bidder): ?string
|
||||
{
|
||||
$itemKey = $this->info->target;
|
||||
@@ -250,6 +268,9 @@ class AuctionUniqueItem extends Auction
|
||||
max(static::MIN_EXTENSION_MINUTES_BY_EXTENSION_QUERY, $turnTerm * static::COEFF_EXTENSION_MINUTES_LIMIT_UNIQUE_CNT) * 60
|
||||
));
|
||||
|
||||
if($bidder->getID() != $this->info->hostGeneralID){
|
||||
$this->setHostAsNeutral();
|
||||
}
|
||||
$this->extendCloseDate($extendedCloseDate, true);
|
||||
$this->extendLatestBidCloseDate(null);
|
||||
$this->applyDB();
|
||||
@@ -295,8 +316,12 @@ class AuctionUniqueItem extends Auction
|
||||
max(static::MIN_EXTENSION_MINUTES_LIMIT_BY_BID, $turnTerm * static::COEFF_EXTENSION_MINUTES_LIMIT_BY_BID) * 60
|
||||
));
|
||||
|
||||
if($bidder->getID() != $this->info->hostGeneralID){
|
||||
$this->setHostAsNeutral();
|
||||
}
|
||||
$this->extendCloseDate($extendedCloseDate, true);
|
||||
$this->extendLatestBidCloseDate(null);
|
||||
$this->applyDB();
|
||||
}
|
||||
return join(' ', $reasons);
|
||||
}
|
||||
|
||||
@@ -146,6 +146,8 @@ class AutorunNationPolicy {
|
||||
public $safeRecruitCityPopulationRatio = 0.5;
|
||||
public $properWarTrainAtmos = 90;
|
||||
|
||||
public $cureThreshold = 10;
|
||||
|
||||
///이쪽의 값이 실제 초기화 값임
|
||||
public static $defaultPolicy = [
|
||||
'reqNationGold'=>10000,
|
||||
@@ -173,6 +175,8 @@ class AutorunNationPolicy {
|
||||
'minNPCRecruitCityPopulation'=>50000,
|
||||
'safeRecruitCityPopulationRatio'=>0.5,
|
||||
'properWarTrainAtmos'=>90,
|
||||
|
||||
'cureThreshold'=>10,
|
||||
];
|
||||
|
||||
function __construct(General $general, $aiOptions, ?array $nationPolicy, ?array $serverPolicy, array $nation, array $env)
|
||||
|
||||
@@ -152,6 +152,8 @@ class che_강행 extends Command\GeneralCommand
|
||||
|
||||
[$reqGold, $reqRice] = $this->getCost();
|
||||
$general->increaseVarWithLimit('gold', -$reqGold, 0);
|
||||
$general->increaseVarWithLimit('train', -5, 20);
|
||||
$general->increaseVarWithLimit('atmos', -5, 20);
|
||||
$general->addExperience($exp);
|
||||
$general->increaseVar('leadership_exp', 1);
|
||||
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||
|
||||
@@ -139,6 +139,16 @@ class che_건국 extends Command\GeneralCommand
|
||||
$general = $this->generalObj;
|
||||
$date = $general->getTurnTime($general::TURNTIME_HM);
|
||||
$generalName = $general->getName();
|
||||
$logger = $general->getLogger();
|
||||
|
||||
$initYearMonth = Util::joinYearMonth($env['init_year'], $env['init_month']);
|
||||
$yearMonth = Util::joinYearMonth($env['year'], $env['month']);
|
||||
if($yearMonth <= $initYearMonth){
|
||||
$logger->pushGeneralActionLog("다음 턴부터 건국할 수 있습니다. <1>$date</>");
|
||||
$this->alternative = new che_인재탐색($general, $this->env, null);
|
||||
return false;
|
||||
}
|
||||
|
||||
$josaYi = JosaUtil::pick($generalName, '이');
|
||||
|
||||
$nationName = $this->arg['nationName'];
|
||||
@@ -149,7 +159,7 @@ class che_건국 extends Command\GeneralCommand
|
||||
|
||||
$josaUl = JosaUtil::pick($nationName, '을');
|
||||
|
||||
$logger = $general->getLogger();
|
||||
|
||||
|
||||
$nationTypeClass = buildNationTypeClass($nationType);
|
||||
$nationTypeName = $nationTypeClass->getName();
|
||||
|
||||
@@ -91,7 +91,7 @@ class che_집합 extends Command\GeneralCommand{
|
||||
}
|
||||
foreach($generalList as $targetGeneralID){
|
||||
$targetLogger = new ActionLogger($targetGeneralID, $general->getNationID(), $env['year'], $env['month']);
|
||||
$targetLogger->pushGeneralActionLog("{$troopName}의 부대원들은 <G><b>{$cityName}</b></>{$josaRo} 집합되었습니다.", ActionLogger::PLAIN);
|
||||
$targetLogger->pushGeneralActionLog("{$troopName} 부대원들은 <G><b>{$cityName}</b></>{$josaRo} 집합되었습니다.", ActionLogger::PLAIN);
|
||||
$targetLogger->flush();
|
||||
}
|
||||
|
||||
|
||||
@@ -65,8 +65,17 @@ class che_해산 extends Command\GeneralCommand{
|
||||
$env = $this->env;
|
||||
|
||||
$general = $this->generalObj;
|
||||
$logger = $general->getLogger();
|
||||
$date = $general->getTurnTime($general::TURNTIME_HM);
|
||||
|
||||
$initYearMonth = Util::joinYearMonth($env['init_year'], $env['init_month']);
|
||||
$yearMonth = Util::joinYearMonth($env['year'], $env['month']);
|
||||
if($yearMonth <= $initYearMonth){
|
||||
$logger->pushGeneralActionLog("다음 턴부터 해산할 수 있습니다. <1>$date</>");
|
||||
$this->alternative = new che_인재탐색($general, $this->env, null);
|
||||
return false;
|
||||
}
|
||||
|
||||
$generalName = $general->getName();
|
||||
$josaYi = JosaUtil::pick($generalName, '이');
|
||||
|
||||
@@ -87,7 +96,7 @@ class che_해산 extends Command\GeneralCommand{
|
||||
|
||||
refreshNationStaticInfo();
|
||||
|
||||
$logger = $general->getLogger();
|
||||
|
||||
$logger->pushGeneralActionLog("세력을 해산했습니다. <1>$date</>");
|
||||
$logger->pushGlobalActionLog("<Y>{$generalName}</>{$josaYi} 세력을 해산했습니다.");
|
||||
$logger->pushGeneralHistoryLog("<D><b>{$nationName}</b></>{$josaUl} 해산");
|
||||
|
||||
@@ -111,6 +111,7 @@ class che_물자원조 extends Command\NationCommand
|
||||
ConstraintHelper::OccupiedCity(),
|
||||
ConstraintHelper::BeChief(),
|
||||
ConstraintHelper::SuppliedCity(),
|
||||
ConstraintHelper::DifferentDestNation(),
|
||||
ConstraintHelper::ReqNationGold(GameConst::$basegold + (($goldAmount > 0) ? 1 : 0)),
|
||||
ConstraintHelper::ReqNationRice(GameConst::$baserice + (($riceAmount > 0) ? 1 : 0)),
|
||||
ConstraintHelper::ReqNationValue('surlimit', '외교제한', '==', 0, '외교제한중입니다.'),
|
||||
|
||||
@@ -165,7 +165,7 @@ class che_불가침파기수락 extends Command\NationCommand
|
||||
$logger->pushGeneralHistoryLog("<D><b>{$destNationName}</b></>{$josaWa}의 불가침 파기 수락");
|
||||
|
||||
$logger->pushGlobalActionLog("<Y>{$generalName}</>{$josaYiGeneral} <D><b>{$destNationName}</b></>{$josaWa}의 불가침 조약을 <M>파기</> 하였습니다.");
|
||||
$logger->pushGlobalHistoryLog("<Y><b>【종전】</b></><D><b>{$nationName}</b></>{$josaYiNation} <D><b>{$destNationName}</b></>{$josaWa}의 불가침 조약을 <M>파기</> 하였습니다.");
|
||||
$logger->pushGlobalHistoryLog("<Y><b>【파기】</b></><D><b>{$nationName}</b></>{$josaYiNation} <D><b>{$destNationName}</b></>{$josaWa}의 불가침 조약을 <M>파기</> 하였습니다.");
|
||||
|
||||
|
||||
$josaWa = JosaUtil::pick($nationName, '와');
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace sammo\Event\Action;
|
||||
|
||||
use DateTime;
|
||||
use sammo\Betting;
|
||||
use \sammo\GameConst;
|
||||
use \sammo\Util;
|
||||
@@ -10,8 +11,12 @@ use sammo\DTO\BettingInfo;
|
||||
use sammo\DTO\SelectItem;
|
||||
use sammo\Json;
|
||||
use sammo\KVStorage;
|
||||
use sammo\Message;
|
||||
use sammo\MessageTarget;
|
||||
|
||||
use function sammo\getAllNationStaticInfo;
|
||||
use function sammo\GetImageURL;
|
||||
use function sammo\getNationStaticInfo;
|
||||
|
||||
class OpenNationBetting extends \sammo\Event\Action
|
||||
{
|
||||
@@ -50,8 +55,8 @@ class OpenNationBetting extends \sammo\Event\Action
|
||||
$candidates = [];
|
||||
|
||||
$nations = getAllNationStaticInfo();
|
||||
uasort($nations, function($lhs, $rhs){
|
||||
return -($lhs['power'] <=> $rhs['power']);
|
||||
uasort($nations, function ($lhs, $rhs) {
|
||||
return - ($lhs['power'] <=> $rhs['power']);
|
||||
});
|
||||
|
||||
foreach ($nations as $nationRaw) {
|
||||
@@ -117,6 +122,32 @@ class OpenNationBetting extends \sammo\Event\Action
|
||||
}
|
||||
|
||||
$logger->flush();
|
||||
$now = new DateTime();
|
||||
$text = "새로운 {$name} 내기가 열렸습니다. 천통국 베팅란을 확인해주세요.";
|
||||
|
||||
$src = new MessageTarget(0, '', 0, 'System', '#000000');
|
||||
foreach ($db->query('SELECT `no`, `name`, `nation`, `imgsvr`, `picture` FROM `general` WHERE `npc` <= 1') as $general) {
|
||||
$generalID = $general['no'];
|
||||
$staticNation = getNationStaticInfo($general['nation']);
|
||||
$dest = new MessageTarget(
|
||||
$generalID,
|
||||
$general['name'],
|
||||
$general['nation'],
|
||||
$staticNation['name'],
|
||||
$staticNation['color'],
|
||||
GetImageURL($general['imgsvr'], $general['picture'])
|
||||
);
|
||||
$msg = new Message(
|
||||
Message::MSGTYPE_PRIVATE,
|
||||
$src,
|
||||
$dest,
|
||||
$text,
|
||||
$now,
|
||||
new DateTime('9999-12-31'),
|
||||
[]
|
||||
);
|
||||
$msg->send(true);
|
||||
}
|
||||
|
||||
return [__CLASS__, true];
|
||||
}
|
||||
|
||||
@@ -261,7 +261,7 @@ class GameConstBase
|
||||
'che_저격_매화수전' => 1, 'che_저격_비도'=>1, 'che_위압_조목삭' => 1, 'che_공성_묵자' => 1,
|
||||
'che_집중_전국책' => 1, 'che_환술_논어집해' => 1,
|
||||
|
||||
'che_반계저지_박혁론' => 1, 'che_부적_태현청생부' => 1, 'che_저지_삼황내문' => 1,
|
||||
'che_진압_박혁론' => 1, 'che_부적_태현청생부' => 1, 'che_저지_삼황내문' => 1,
|
||||
'che_행동_서촉지형도' => 1, 'che_간파_노군입산부' => 1, 'che_불굴_상편' => 1,
|
||||
'che_약탈_옥벽' => 1,
|
||||
|
||||
@@ -334,7 +334,6 @@ class GameConstBase
|
||||
'che_건국',
|
||||
'che_선양',
|
||||
'che_해산',
|
||||
'che_모반시도',
|
||||
]
|
||||
];
|
||||
|
||||
|
||||
@@ -329,7 +329,7 @@ class GameUnitConstBase{
|
||||
],
|
||||
[
|
||||
1502, self::T_SIEGE, '벽력거',
|
||||
200, 100, 6, 10, 0, 18, 5,
|
||||
200, 100, 6, 5, 0, 20, 5,
|
||||
3000, ['업'], null, 0,
|
||||
[self::T_FOOTMAN=>1.25, self::T_ARCHER=>1.25, self::T_CAVALRY=>1.25, self::T_WIZARD=>1.25, self::T_CASTLE=>1.8, 1106=>1.112],
|
||||
[self::T_FOOTMAN=>0.833, self::T_ARCHER=>0.833, self::T_CAVALRY=>0.833, self::T_WIZARD=>0.833, 1106=>0.909],
|
||||
@@ -338,7 +338,7 @@ class GameUnitConstBase{
|
||||
],
|
||||
[
|
||||
1503, self::T_SIEGE, '목우',
|
||||
50, 200, 5, 0, 0, 18, 5,
|
||||
50, 200, 5, 0, 0, 15, 5,
|
||||
3000, ['성도'], null, 0,
|
||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8],
|
||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
|
||||
|
||||
+15
-11
@@ -200,9 +200,20 @@ class GeneralAI
|
||||
|
||||
$yearMonth = Util::joinYearMonth($env['year'], $env['month']);
|
||||
|
||||
$warTarget = $db->queryAllLists(
|
||||
'SELECT you, state, term FROM diplomacy WHERE me = %i AND state IN (0, 1)',
|
||||
$nationID
|
||||
);
|
||||
|
||||
if ($yearMonth <= Util::joinYearMonth($env['startyear'] + 2, 5)) {
|
||||
$this->dipState = self::d평화;
|
||||
$this->attackable = false;
|
||||
if(!$warTarget){
|
||||
$this->dipState = self::d평화;
|
||||
$this->attackable = false;
|
||||
}
|
||||
else{
|
||||
$this->dipState = self::d선포;
|
||||
$this->attackable = false;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -210,11 +221,6 @@ class GeneralAI
|
||||
// 공격가능도시 있으면
|
||||
$this->attackable = !!$frontStatus;
|
||||
|
||||
$warTarget = $db->queryAllLists(
|
||||
'SELECT you, state, term FROM diplomacy WHERE me = %i AND state IN (0, 1)',
|
||||
$nationID
|
||||
);
|
||||
|
||||
$onWar = 0;
|
||||
$onWarReady = 0;
|
||||
$onWarYet = 0;
|
||||
@@ -237,8 +243,6 @@ class GeneralAI
|
||||
|
||||
$this->warTargetNation = $warTargetNation;
|
||||
|
||||
|
||||
|
||||
$nationStor = KVStorage::getStorage($db, $nationID, 'nation_env');
|
||||
$minWarTerm = $db->queryFirstField('SELECT min(term) FROM diplomacy WHERE me = %i AND state=1', $nationID);
|
||||
if ($minWarTerm === null) {
|
||||
@@ -2570,7 +2574,7 @@ class GeneralAI
|
||||
$gold = $general->getVar('gold');
|
||||
$gold -= $this->fullLeadership * 3;
|
||||
$rice = $general->getVar('rice');
|
||||
$rice -= $this->fullLeadership * 4 + 500;
|
||||
$rice -= $this->fullLeadership * 4;
|
||||
|
||||
if ($gold <= 0 || $rice <= 0) {
|
||||
return null;
|
||||
@@ -3714,7 +3718,7 @@ class GeneralAI
|
||||
return $reservedCommand;
|
||||
}
|
||||
|
||||
if ($general->getVar('injury') > 10) {
|
||||
if ($general->getVar('injury') > $this->nationPolicy->cureThreshold) {
|
||||
$result = buildGeneralCommandClass('che_요양', $general, $this->env);
|
||||
$result->reason = 'do요양';
|
||||
return $result;
|
||||
|
||||
@@ -163,7 +163,7 @@ class ResetHelper{
|
||||
bool $block_general_create,
|
||||
int $npcmode,
|
||||
int $show_img_level,
|
||||
int $tournament_trig,
|
||||
bool $tournament_trig,
|
||||
string $join_mode,
|
||||
string $turntime,
|
||||
?array $autorun_user
|
||||
@@ -176,13 +176,6 @@ class ResetHelper{
|
||||
];
|
||||
}
|
||||
|
||||
if($tournament_trig < 0 || $tournament_trig > 7){
|
||||
return [
|
||||
'result'=>false,
|
||||
'reason'=>'올바르지 않은 토너먼트 주기입니다.'
|
||||
];
|
||||
}
|
||||
|
||||
$clearResult = self::clearDB();
|
||||
if(!$clearResult['result']){
|
||||
return $clearResult;
|
||||
|
||||
@@ -11,6 +11,9 @@ use \sammo\GameConst;
|
||||
use sammo\RandUtil;
|
||||
use \sammo\SpecialityHelper;
|
||||
use sammo\TimeUtil;
|
||||
|
||||
use function sammo\getPersonalityClass;
|
||||
|
||||
class GeneralBuilder{
|
||||
|
||||
protected $generalID = null;
|
||||
@@ -161,7 +164,11 @@ class GeneralBuilder{
|
||||
}
|
||||
|
||||
public function setEgo(?string $ego):self{
|
||||
$this->ego = $ego;
|
||||
if($ego === null){
|
||||
$this->ego = null;
|
||||
return $this;
|
||||
}
|
||||
$this->ego = Util::getClassName(getPersonalityClass($ego));
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ class che_격노발동 extends BaseWarUnitTrigger{
|
||||
|
||||
$self->getLogger()->pushGeneralBattleDetailLog("상대의 {$targetAct}에 <C>{$reaction}</>했다!</>", ActionLogger::PLAIN);
|
||||
$oppose->getLogger()->pushGeneralBattleDetailLog("{$targetAct}에 상대가 <R>{$reaction}</>했다!</>", ActionLogger::PLAIN);
|
||||
|
||||
|
||||
if($is진노){
|
||||
$self->addBonusPhase(1);
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ use sammo\ObjectTrigger;
|
||||
use sammo\Util;
|
||||
|
||||
class che_격노시도 extends BaseWarUnitTrigger{
|
||||
protected $priority = ObjectTrigger::PRIORITY_POST + 300;
|
||||
protected $priority = ObjectTrigger::PRIORITY_BODY + 400;
|
||||
|
||||
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{
|
||||
if(!$oppose->hasActivatedSkill('필살') && !$oppose->hasActivatedSkill('회피')){
|
||||
|
||||
@@ -10,7 +10,7 @@ use sammo\ObjectTrigger;
|
||||
use sammo\ActionLogger;
|
||||
|
||||
class che_계략발동 extends BaseWarUnitTrigger{
|
||||
protected $priority = ObjectTrigger::PRIORITY_POST + 100;
|
||||
protected $priority = ObjectTrigger::PRIORITY_POST + 300;
|
||||
|
||||
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{
|
||||
if(!$self->hasActivatedSkill('계략')){
|
||||
|
||||
@@ -10,7 +10,7 @@ use sammo\ObjectTrigger;
|
||||
use sammo\ActionLogger;
|
||||
|
||||
class che_계략실패 extends BaseWarUnitTrigger{
|
||||
protected $priority = ObjectTrigger::PRIORITY_POST + 200;
|
||||
protected $priority = ObjectTrigger::PRIORITY_POST + 300;
|
||||
|
||||
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{
|
||||
if(!$self->hasActivatedSkill('계략실패')){
|
||||
|
||||
@@ -14,7 +14,7 @@ use sammo\ObjectTrigger;
|
||||
|
||||
class che_궁병선제사격 extends BaseWarUnitTrigger
|
||||
{
|
||||
protected $priority = ObjectTrigger::PRIORITY_BEGIN;
|
||||
protected $priority = ObjectTrigger::PRIORITY_BEGIN + 50;
|
||||
|
||||
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv): bool
|
||||
{
|
||||
|
||||
@@ -9,7 +9,7 @@ use sammo\Util;
|
||||
use sammo\ObjectTrigger;
|
||||
|
||||
class che_기병병종전투 extends BaseWarUnitTrigger{
|
||||
protected $priority = ObjectTrigger::PRIORITY_FINAL; //최후미
|
||||
protected $priority = ObjectTrigger::PRIORITY_FINAL + 100; //최후미
|
||||
|
||||
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{
|
||||
if(!$self->isAttacker()){
|
||||
|
||||
@@ -10,7 +10,7 @@ use sammo\ObjectTrigger;
|
||||
use sammo\ActionLogger;
|
||||
|
||||
class che_반계발동 extends BaseWarUnitTrigger{
|
||||
protected $priority = ObjectTrigger::PRIORITY_POST + 150;
|
||||
protected $priority = ObjectTrigger::PRIORITY_POST + 250;
|
||||
|
||||
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{
|
||||
if(!$self->hasActivatedSkill('반계')){
|
||||
@@ -20,7 +20,7 @@ class che_반계발동 extends BaseWarUnitTrigger{
|
||||
$general = $self->getGeneral();
|
||||
|
||||
[$opposeMagic, $damage] = $opposeEnv['magic'];
|
||||
|
||||
|
||||
|
||||
$josaUl = \sammo\JosaUtil::pick($opposeMagic, '을');
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ use sammo\Util;
|
||||
use sammo\ObjectTrigger;
|
||||
|
||||
class che_방어력증가5p extends BaseWarUnitTrigger{
|
||||
protected $priority = ObjectTrigger::PRIORITY_FINAL; //최후미
|
||||
protected $priority = ObjectTrigger::PRIORITY_FINAL + 200; //최후미
|
||||
|
||||
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{
|
||||
if(!$self->isAttacker()){
|
||||
|
||||
@@ -8,7 +8,7 @@ use sammo\GameUnitDetail;
|
||||
use sammo\ObjectTrigger;
|
||||
|
||||
class che_성벽부상무효 extends BaseWarUnitTrigger{
|
||||
protected $priority = ObjectTrigger::PRIORITY_BEGIN + 100;
|
||||
protected $priority = ObjectTrigger::PRIORITY_BEGIN + 150;
|
||||
|
||||
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{
|
||||
assert($self instanceof WarUnitGeneral, 'General만 발동 가능');
|
||||
|
||||
@@ -14,7 +14,7 @@ use sammo\GameConst;
|
||||
|
||||
class che_약탈발동 extends BaseWarUnitTrigger
|
||||
{
|
||||
protected $priority = ObjectTrigger::PRIORITY_POST + 400;
|
||||
protected $priority = ObjectTrigger::PRIORITY_POST + 350;
|
||||
|
||||
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv): bool
|
||||
{
|
||||
|
||||
@@ -10,7 +10,7 @@ use sammo\ObjectTrigger;
|
||||
use sammo\ActionLogger;
|
||||
|
||||
class che_전멸시페이즈증가 extends BaseWarUnitTrigger{
|
||||
protected $priority = ObjectTrigger::PRIORITY_POST + 700;
|
||||
protected $priority = ObjectTrigger::PRIORITY_POST + 800;
|
||||
|
||||
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{
|
||||
/** @var WarUnitGeneral $self */
|
||||
|
||||
@@ -10,7 +10,7 @@ use sammo\ObjectTrigger;
|
||||
use sammo\ActionLogger;
|
||||
|
||||
class che_전투치료발동 extends BaseWarUnitTrigger{
|
||||
protected $priority = ObjectTrigger::PRIORITY_POST + 300;
|
||||
protected $priority = ObjectTrigger::PRIORITY_POST + 550;
|
||||
|
||||
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{
|
||||
if(!$self->hasActivatedSkill('치료')){
|
||||
|
||||
@@ -9,7 +9,7 @@ use sammo\Util;
|
||||
use sammo\ObjectTrigger;
|
||||
|
||||
class che_전투치료시도 extends BaseWarUnitTrigger{
|
||||
protected $priority = ObjectTrigger::PRIORITY_PRE + 300;
|
||||
protected $priority = ObjectTrigger::PRIORITY_PRE + 350;
|
||||
|
||||
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{
|
||||
assert($self instanceof WarUnitGeneral, 'General만 발동 가능');
|
||||
|
||||
@@ -9,7 +9,7 @@ use sammo\ObjectTrigger;
|
||||
use sammo\Util;
|
||||
|
||||
class che_필살시도 extends BaseWarUnitTrigger{
|
||||
protected $priority = ObjectTrigger::PRIORITY_PRE + 100;
|
||||
protected $priority = ObjectTrigger::PRIORITY_PRE + 120;
|
||||
|
||||
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{
|
||||
if(!($self instanceof WarUnitGeneral)){
|
||||
|
||||
@@ -20,7 +20,7 @@ class che_회피발동 extends BaseWarUnitTrigger{
|
||||
$oppose->getLogger()->pushGeneralBattleDetailLog("상대가 <R>회피</>했다!</>", ActionLogger::PLAIN);
|
||||
$self->getLogger()->pushGeneralBattleDetailLog("<C>회피</>했다!</>", ActionLogger::PLAIN);
|
||||
|
||||
$oppose->multiplyWarPowerMultiply(0.2);
|
||||
$oppose->multiplyWarPowerMultiply(1/6);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ use sammo\GameUnitDetail;
|
||||
use sammo\ObjectTrigger;
|
||||
|
||||
class 능력치변경 extends BaseWarUnitTrigger{
|
||||
protected $priority = ObjectTrigger::PRIORITY_BEGIN;
|
||||
protected $priority = ObjectTrigger::PRIORITY_BEGIN + 10;
|
||||
|
||||
protected $variable;
|
||||
protected $operator;
|
||||
@@ -54,7 +54,7 @@ class 능력치변경 extends BaseWarUnitTrigger{
|
||||
}
|
||||
|
||||
$this->processConsumableItem();
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,7 @@ use sammo\GameUnitDetail;
|
||||
use sammo\ObjectTrigger;
|
||||
|
||||
class 전투력보정 extends BaseWarUnitTrigger{
|
||||
protected $priority = ObjectTrigger::PRIORITY_BEGIN;
|
||||
protected $priority = ObjectTrigger::PRIORITY_BEGIN + 20;
|
||||
|
||||
public function __construct(WarUnit $unit, protected int|float $attackerWarPowerMultiplier, protected int|float $defenderWarPowerMultiplier = 1){
|
||||
$this->object = $unit;
|
||||
|
||||
+880
-879
@@ -16,885 +16,886 @@
|
||||
],
|
||||
"diplomacy":[],
|
||||
"general":[
|
||||
[0, "아회남", null, 0, null, 65, 74, 26, 0, 160, 300, null, null],
|
||||
[0, "이적", null, 0, null, 40, 24, 84, 0, 160, 300, null, null],
|
||||
[0, "윤상", null, 0, null, 51, 44, 62, 0, 160, 300, null, null],
|
||||
[0, "윤묵", null, 0, null, 26, 15, 66, 0, 160, 300, null, null],
|
||||
[0, "우금", null, 0, null, 85, 82, 62, 0, 160, 300, null, null],
|
||||
[0, "위관", null, 0, null, 69, 46, 79, 0, 160, 300, null, null],
|
||||
[0, "원윤", null, 0, null, 32, 14, 39, 0, 160, 300, null, null],
|
||||
[0, "원희", null, 0, null, 66, 43, 63, 0, 160, 300, null, null],
|
||||
[0, "염행", null, 0, null, 78, 90, 58, 0, 160, 300, null, null],
|
||||
[0, "염유", null, 0, null, 71, 50, 71, 0, 160, 300, null, null],
|
||||
[0, "원술", null, 0, null, 76, 55, 75, 0, 160, 300, null, null],
|
||||
[0, "원상", null, 0, null, 63, 75, 42, 0, 160, 300, null, null],
|
||||
[0, "원소", null, 0, null, 90, 62, 81, 0, 160, 300, null, null],
|
||||
[0, "염상", null, 0, null, 40, 27, 71, 0, 160, 300, null, null],
|
||||
[0, "원담", null, 0, null, 60, 78, 30, 0, 160, 300, null, null],
|
||||
[0, "염포", null, 0, null, 40, 25, 82, 0, 160, 300, null, null],
|
||||
[0, "왕위", null, 0, null, 60, 70, 48, 0, 160, 300, null, null],
|
||||
[0, "왕윤", null, 0, null, 26, 6, 68, 0, 160, 300, null, null],
|
||||
[0, "왕항", null, 0, null, 76, 43, 61, 0, 160, 300, null, null],
|
||||
[0, "왕찬", null, 0, null, 15, 3, 79, 0, 160, 300, null, null],
|
||||
[0, "왕수", null, 0, null, 54, 27, 77, 0, 160, 300, null, null],
|
||||
[0, "왕숙", null, 0, null, 36, 22, 76, 0, 160, 300, null, null],
|
||||
[0, "왕준", null, 0, null, 85, 64, 84, 0, 160, 300, null, null],
|
||||
[0, "왕쌍", null, 0, null, 67, 88, 19, 0, 160, 300, null, null],
|
||||
[0, "왕창", null, 0, null, 74, 57, 79, 0, 160, 300, null, null],
|
||||
[0, "왕평", null, 0, null, 88, 81, 61, 0, 160, 300, null, null],
|
||||
[0, "왕보", null, 0, null, 62, 41, 79, 0, 160, 300, null, null],
|
||||
[0, "왕문", null, 0, null, 65, 64, 31, 0, 160, 300, null, null],
|
||||
[0, "왕릉", null, 0, null, 74, 50, 71, 0, 160, 300, null, null],
|
||||
[0, "왕루", null, 0, null, 28, 30, 79, 0, 160, 300, null, null],
|
||||
[0, "왕랑", null, 0, null, 47, 35, 79, 0, 160, 300, null, null],
|
||||
[0, "온회", null, 0, null, 62, 36, 74, 0, 160, 300, null, null],
|
||||
[0, "하안", null, 0, null, 15, 30, 72, 0, 160, 300, null, null],
|
||||
[0, "괴월", null, 0, null, 50, 38, 85, 0, 160, 300, null, null],
|
||||
[0, "괴량", null, 0, null, 68, 33, 88, 0, 160, 300, null, null],
|
||||
[0, "가화", null, 0, null, 49, 65, 41, 0, 160, 300, null, null],
|
||||
[0, "가규", null, 0, null, 78, 61, 84, 0, 160, 300, null, null],
|
||||
[0, "하의", null, 0, null, 56, 69, 36, 0, 160, 300, null, null],
|
||||
[0, "화흠", null, 0, null, 51, 33, 88, 0, 160, 300, null, null],
|
||||
[0, "가후", null, 0, null, 71, 40, 98, 0, 160, 300, null, null],
|
||||
[0, "곽가", null, 0, null, 70, 41, 97, 0, 160, 300, null, null],
|
||||
[0, "악환", null, 0, null, 65, 80, 42, 0, 160, 300, null, null],
|
||||
[0, "곽사", null, 0, null, 64, 76, 13, 0, 160, 300, null, null],
|
||||
[0, "악취", null, 0, null, 53, 66, 61, 0, 160, 300, null, null],
|
||||
[0, "곽준", null, 0, null, 73, 52, 73, 0, 160, 300, null, null],
|
||||
[0, "학소", null, 0, null, 88, 63, 83, 0, 160, 300, null, null],
|
||||
[0, "악진", null, 0, null, 80, 85, 56, 0, 160, 300, null, null],
|
||||
[0, "곽도", null, 0, null, 62, 50, 82, 0, 160, 300, null, null],
|
||||
[0, "학맹", null, 0, null, 62, 67, 42, 0, 160, 300, null, null],
|
||||
[0, "곽유지", null, 0, null, 28, 9, 69, 0, 160, 300, null, null],
|
||||
[0, "곽익", null, 0, null, 73, 69, 69, 0, 160, 300, null, null],
|
||||
[0, "곽회", null, 0, null, 90, 66, 85, 0, 160, 300, null, null],
|
||||
[0, "하후위", null, 0, null, 71, 73, 49, 0, 160, 300, null, null],
|
||||
[0, "하후연", null, 0, null, 95, 92, 72, 0, 160, 300, null, null],
|
||||
[0, "하후은", null, 0, null, 63, 72, 53, 0, 160, 300, null, null],
|
||||
[0, "하후화", null, 0, null, 48, 51, 71, 0, 160, 300, null, null],
|
||||
[0, "하후혜", null, 0, null, 50, 44, 76, 0, 160, 300, null, null],
|
||||
[0, "하후현", null, 0, null, 54, 39, 76, 0, 160, 300, null, null],
|
||||
[0, "하후상", null, 0, null, 79, 55, 75, 0, 160, 300, null, null],
|
||||
[0, "하후덕", null, 0, null, 69, 73, 32, 0, 160, 300, null, null],
|
||||
[0, "하후돈", null, 0, null, 91, 88, 68, 0, 160, 300, null, null],
|
||||
[0, "하후패", null, 0, null, 79, 85, 63, 0, 160, 300, null, null],
|
||||
[0, "하후무", null, 0, null, 20, 7, 4, 0, 160, 300, null, null],
|
||||
[0, "가충", null, 0, null, 54, 31, 89, 0, 160, 300, null, null],
|
||||
[0, "하진", null, 0, null, 68, 54, 75, 0, 160, 300, null, null],
|
||||
[0, "화웅", null, 0, null, 78, 90, 55, 0, 160, 300, null, null],
|
||||
[0, "한윤", null, 0, null, 26, 29, 65, 0, 160, 300, null, null],
|
||||
[0, "관우", null, 0, null, 96, 99, 76, 0, 160, 300, null, null],
|
||||
[0, "환계", null, 0, null, 25, 26, 68, 0, 160, 300, null, null],
|
||||
[0, "관해", null, 0, null, 70, 82, 10, 0, 160, 300, null, null],
|
||||
[0, "관구검", null, 0, null, 84, 86, 62, 0, 160, 300, null, null],
|
||||
[0, "한현", null, 0, null, 22, 33, 7, 0, 160, 300, null, null],
|
||||
[0, "한호", null, 0, null, 73, 61, 84, 0, 160, 300, null, null],
|
||||
[0, "관흥", null, 0, null, 76, 84, 62, 0, 160, 300, null, null],
|
||||
[0, "관색", null, 0, null, 74, 83, 56, 0, 160, 300, null, null],
|
||||
[0, "한수", null, 0, null, 78, 58, 79, 0, 160, 300, null, null],
|
||||
[0, "한숭", null, 0, null, 25, 15, 71, 0, 160, 300, null, null],
|
||||
[0, "관정", null, 0, null, 36, 52, 73, 0, 160, 300, null, null],
|
||||
[0, "한섬", null, 0, null, 69, 66, 36, 0, 160, 300, null, null],
|
||||
[0, "감택", null, 0, null, 51, 49, 83, 0, 160, 300, null, null],
|
||||
[0, "한충", null, 0, null, 64, 67, 18, 0, 160, 300, null, null],
|
||||
[0, "한당", null, 0, null, 76, 85, 61, 0, 160, 300, null, null],
|
||||
[0, "한덕", null, 0, null, 63, 76, 25, 0, 160, 300, null, null],
|
||||
[0, "감녕", null, 0, null, 92, 95, 74, 0, 160, 300, null, null],
|
||||
[0, "한복", null, 0, null, 28, 3, 27, 0, 160, 300, null, null],
|
||||
[0, "관평", null, 0, null, 78, 82, 60, 0, 160, 300, null, null],
|
||||
[0, "간옹", null, 0, null, 20, 32, 75, 0, 160, 300, null, null],
|
||||
[0, "안량", null, 0, null, 88, 96, 43, 0, 160, 300, null, null],
|
||||
[0, "위연", null, 0, null, 91, 90, 70, 0, 160, 300, null, null],
|
||||
[0, "국의", null, 0, null, 84, 78, 51, 0, 160, 300, null, null],
|
||||
[0, "희지재", null, 0, null, 63, 35, 91, 0, 160, 300, null, null],
|
||||
[0, "위속", null, 0, null, 67, 78, 31, 0, 160, 300, null, null],
|
||||
[0, "위유", null, 0, null, 46, 29, 74, 0, 160, 300, null, null],
|
||||
[0, "우금2", null, 0, null, 72, 79, 38, 0, 160, 300, null, null],
|
||||
[0, "우보", null, 0, null, 38, 60, 21, 0, 160, 300, null, null],
|
||||
[0, "강유", null, 0, null, 92, 72, 93, 0, 160, 300, null, null],
|
||||
[0, "공지", null, 0, null, 43, 53, 62, 0, 160, 300, null, null],
|
||||
[0, "교유", null, 0, null, 64, 69, 38, 0, 160, 300, null, null],
|
||||
[0, "공도", null, 0, null, 59, 70, 23, 0, 160, 300, null, null],
|
||||
[0, "허공", null, 0, null, 44, 66, 64, 0, 160, 300, null, null],
|
||||
[0, "허정", null, 0, null, 23, 5, 68, 0, 160, 300, null, null],
|
||||
[0, "허저", null, 0, null, 74, 97, 36, 0, 160, 300, null, null],
|
||||
[0, "허유", null, 0, null, 36, 21, 80, 0, 160, 300, null, null],
|
||||
[0, "기령", null, 0, null, 85, 84, 51, 0, 160, 300, null, null],
|
||||
[0, "김의", null, 0, null, 32, 38, 65, 0, 160, 300, null, null],
|
||||
[0, "김배삼결", null, 0, null, 64, 76, 19, 0, 160, 300, null, null],
|
||||
[0, "김선", null, 0, null, 52, 68, 13, 0, 160, 300, null, null],
|
||||
[0, "우번", null, 0, null, 46, 46, 87, 0, 160, 300, null, null],
|
||||
[0, "형도영", null, 0, null, 69, 79, 41, 0, 160, 300, null, null],
|
||||
[0, "엄안", null, 0, null, 82, 83, 62, 0, 160, 300, null, null],
|
||||
[0, "엄망", null, 0, null, 68, 71, 40, 0, 160, 300, null, null],
|
||||
[0, "엄준", null, 0, null, 41, 12, 71, 0, 160, 300, null, null],
|
||||
[0, "엄정", null, 0, null, 50, 55, 39, 0, 160, 300, null, null],
|
||||
[0, "엄백호", null, 0, null, 67, 70, 42, 0, 160, 300, null, null],
|
||||
[0, "엄여", null, 0, null, 61, 78, 44, 0, 160, 300, null, null],
|
||||
[0, "오의", null, 0, null, 79, 73, 53, 0, 160, 300, null, null],
|
||||
[0, "황개", null, 0, null, 80, 86, 64, 0, 160, 300, null, null],
|
||||
[0, "고간", null, 0, null, 74, 56, 38, 0, 160, 300, null, null],
|
||||
[0, "황권", null, 0, null, 75, 59, 88, 0, 160, 300, null, null],
|
||||
[0, "고유", null, 0, null, 57, 43, 72, 0, 160, 300, null, null],
|
||||
[0, "고순", null, 0, null, 87, 89, 60, 0, 160, 300, null, null],
|
||||
[0, "고상", null, 0, null, 68, 68, 53, 0, 160, 300, null, null],
|
||||
[0, "고승", null, 0, null, 67, 73, 41, 0, 160, 300, null, null],
|
||||
[0, "후성", null, 0, null, 74, 75, 54, 0, 160, 300, null, null],
|
||||
[0, "후선", null, 0, null, 63, 66, 34, 0, 160, 300, null, null],
|
||||
[0, "황조", null, 0, null, 81, 66, 48, 0, 160, 300, null, null],
|
||||
[0, "공손월", null, 0, null, 74, 72, 47, 0, 160, 300, null, null],
|
||||
[0, "공손연", null, 0, null, 65, 70, 49, 0, 160, 300, null, null],
|
||||
[0, "공손공", null, 0, null, 39, 17, 69, 0, 160, 300, null, null],
|
||||
[0, "공손강", null, 0, null, 72, 66, 46, 0, 160, 300, null, null],
|
||||
[0, "공손찬", null, 0, null, 86, 82, 62, 0, 160, 300, null, null],
|
||||
[0, "공손속", null, 0, null, 63, 68, 46, 0, 160, 300, null, null],
|
||||
[0, "공손도", null, 0, null, 67, 71, 49, 0, 160, 300, null, null],
|
||||
[0, "공손범", null, 0, null, 73, 69, 49, 0, 160, 300, null, null],
|
||||
[0, "황충", null, 0, null, 88, 96, 65, 0, 160, 300, null, null],
|
||||
[0, "고정", null, 0, null, 55, 63, 43, 0, 160, 300, null, null],
|
||||
[0, "고패", null, 0, null, 66, 48, 69, 0, 160, 300, null, null],
|
||||
[0, "황보숭", null, 0, null, 91, 61, 82, 0, 160, 300, null, null],
|
||||
[0, "공융", null, 0, null, 30, 5, 73, 0, 160, 300, null, null],
|
||||
[0, "고람", null, 0, null, 76, 82, 60, 0, 160, 300, null, null],
|
||||
[0, "오경", null, 0, null, 69, 66, 45, 0, 160, 300, null, null],
|
||||
[0, "호거아", null, 0, null, 70, 82, 41, 0, 160, 300, null, null],
|
||||
[0, "호진", null, 0, null, 65, 74, 12, 0, 160, 300, null, null],
|
||||
[0, "올돌골", null, 0, null, 79, 86, 11, 0, 160, 300, null, null],
|
||||
[0, "호반", null, 0, null, 55, 55, 59, 0, 160, 300, null, null],
|
||||
[0, "오반", null, 0, null, 74, 71, 50, 0, 160, 300, null, null],
|
||||
[0, "고옹", null, 0, null, 52, 18, 81, 0, 160, 300, null, null],
|
||||
[0, "오란", null, 0, null, 68, 80, 35, 0, 160, 300, null, null],
|
||||
[0, "채화", null, 0, null, 39, 50, 1, 0, 160, 300, null, null],
|
||||
[0, "채중", null, 0, null, 40, 54, 2, 0, 160, 300, null, null],
|
||||
[0, "채모", null, 0, null, 70, 55, 77, 0, 160, 300, null, null],
|
||||
[0, "착융", null, 0, null, 60, 69, 38, 0, 160, 300, null, null],
|
||||
[0, "사마의", null, 0, null, 99, 63, 98, 0, 160, 300, null, null],
|
||||
[0, "사마염", null, 0, null, 69, 59, 77, 0, 160, 300, null, null],
|
||||
[0, "사마사", null, 0, null, 84, 64, 89, 0, 160, 300, null, null],
|
||||
[0, "사마소", null, 0, null, 85, 57, 88, 0, 160, 300, null, null],
|
||||
[0, "사마부", null, 0, null, 70, 37, 77, 0, 160, 300, null, null],
|
||||
[0, "사마랑", null, 0, null, 20, 21, 72, 0, 160, 300, null, null],
|
||||
[0, "사마가", null, 0, null, 66, 84, 25, 0, 160, 300, null, null],
|
||||
[0, "주흔", null, 0, null, 65, 51, 73, 0, 160, 300, null, null],
|
||||
[0, "주앙", null, 0, null, 74, 65, 48, 0, 160, 300, null, null],
|
||||
[0, "주지", null, 0, null, 73, 85, 41, 0, 160, 300, null, null],
|
||||
[0, "주창", null, 0, null, 68, 77, 42, 0, 160, 300, null, null],
|
||||
[0, "주태", null, 0, null, 84, 90, 48, 0, 160, 300, null, null],
|
||||
[0, "주방", null, 0, null, 52, 41, 80, 0, 160, 300, null, null],
|
||||
[0, "주유", null, 0, null, 97, 71, 97, 0, 160, 300, null, null],
|
||||
[0, "주환", null, 0, null, 87, 84, 64, 0, 160, 300, null, null],
|
||||
[0, "주거", null, 0, null, 77, 57, 72, 0, 160, 300, null, null],
|
||||
[0, "축융", null, 0, null, 72, 75, 35, 0, 160, 300, null, null],
|
||||
[0, "주준", null, 0, null, 89, 57, 76, 0, 160, 300, null, null],
|
||||
[0, "주연", null, 0, null, 86, 75, 57, 0, 160, 300, null, null],
|
||||
[0, "주치", null, 0, null, 71, 56, 72, 0, 160, 300, null, null],
|
||||
[0, "주포", null, 0, null, 68, 73, 34, 0, 160, 300, null, null],
|
||||
[0, "주령", null, 0, null, 78, 73, 53, 0, 160, 300, null, null],
|
||||
[0, "순욱", null, 0, null, 78, 38, 97, 0, 160, 300, null, null],
|
||||
[0, "순우경", null, 0, null, 78, 66, 29, 0, 160, 300, null, null],
|
||||
[0, "순심", null, 0, null, 45, 25, 78, 0, 160, 300, null, null],
|
||||
[0, "순유", null, 0, null, 80, 35, 95, 0, 160, 300, null, null],
|
||||
[0, "장완", null, 0, null, 78, 34, 89, 0, 160, 300, null, null],
|
||||
[0, "종회", null, 0, null, 88, 62, 93, 0, 160, 300, null, null],
|
||||
[0, "장간", null, 0, null, 19, 6, 66, 0, 160, 300, null, null],
|
||||
[0, "장의거", null, 0, null, 71, 41, 59, 0, 160, 300, null, null],
|
||||
[0, "장흠", null, 0, null, 78, 85, 54, 0, 160, 300, null, null],
|
||||
[0, "장제3", null, 0, null, 62, 43, 85, 0, 160, 300, null, null],
|
||||
[0, "초주", null, 0, null, 16, 3, 67, 0, 160, 300, null, null],
|
||||
[0, "초촉", null, 0, null, 65, 76, 33, 0, 160, 300, null, null],
|
||||
[0, "향총", null, 0, null, 76, 56, 77, 0, 160, 300, null, null],
|
||||
[0, "종요", null, 0, null, 79, 24, 90, 0, 160, 300, null, null],
|
||||
[0, "향랑", null, 0, null, 28, 18, 74, 0, 160, 300, null, null],
|
||||
[0, "서영", null, 0, null, 92, 80, 62, 0, 160, 300, null, null],
|
||||
[0, "제갈각", null, 0, null, 72, 47, 90, 0, 160, 300, null, null],
|
||||
[0, "제갈근", null, 0, null, 75, 34, 85, 0, 160, 300, null, null],
|
||||
[0, "제갈균", null, 0, null, 29, 25, 52, 0, 160, 300, null, null],
|
||||
[0, "제갈탄", null, 0, null, 72, 54, 76, 0, 160, 300, null, null],
|
||||
[0, "제갈량", null, 0, null, 98, 43, 100, 0, 160, 300, null, null],
|
||||
[0, "서황", null, 0, null, 95, 94, 74, 0, 160, 300, null, null],
|
||||
[0, "서서", null, 0, null, 85, 64, 94, 0, 160, 300, null, null],
|
||||
[0, "서성", null, 0, null, 86, 81, 61, 0, 160, 300, null, null],
|
||||
[0, "서막", null, 0, null, 55, 32, 68, 0, 160, 300, null, null],
|
||||
[0, "신의", null, 0, null, 55, 59, 60, 0, 160, 300, null, null],
|
||||
[0, "신탐", null, 0, null, 56, 62, 54, 0, 160, 300, null, null],
|
||||
[0, "심배", null, 0, null, 80, 60, 84, 0, 160, 300, null, null],
|
||||
[0, "신비", null, 0, null, 42, 24, 79, 0, 160, 300, null, null],
|
||||
[0, "신평", null, 0, null, 69, 43, 77, 0, 160, 300, null, null],
|
||||
[0, "진복", null, 0, null, 31, 7, 73, 0, 160, 300, null, null],
|
||||
[0, "진랑", null, 0, null, 58, 70, 35, 0, 160, 300, null, null],
|
||||
[0, "휴고", null, 0, null, 63, 71, 38, 0, 160, 300, null, null],
|
||||
[0, "추단", null, 0, null, 61, 64, 34, 0, 160, 300, null, null],
|
||||
[0, "성의", null, 0, null, 74, 72, 41, 0, 160, 300, null, null],
|
||||
[0, "성공영", null, 0, null, 73, 58, 80, 0, 160, 300, null, null],
|
||||
[0, "설종", null, 0, null, 34, 16, 73, 0, 160, 300, null, null],
|
||||
[0, "단경", null, 0, null, 71, 68, 43, 0, 160, 300, null, null],
|
||||
[0, "전종", null, 0, null, 78, 55, 75, 0, 160, 300, null, null],
|
||||
[0, "조예", null, 0, null, 72, 52, 82, 0, 160, 300, null, null],
|
||||
[0, "조휴", null, 0, null, 84, 78, 58, 0, 160, 300, null, null],
|
||||
[0, "송헌", null, 0, null, 68, 77, 38, 0, 160, 300, null, null],
|
||||
[0, "조앙", null, 0, null, 78, 50, 69, 0, 160, 300, null, null],
|
||||
[0, "조홍", null, 0, null, 80, 75, 55, 0, 160, 300, null, null],
|
||||
[0, "조순", null, 0, null, 85, 83, 63, 0, 160, 300, null, null],
|
||||
[0, "조창", null, 0, null, 86, 91, 59, 0, 160, 300, null, null],
|
||||
[0, "조식", null, 0, null, 45, 22, 86, 0, 160, 300, null, null],
|
||||
[0, "조진", null, 0, null, 88, 74, 56, 0, 160, 300, null, null],
|
||||
[0, "조인", null, 0, null, 94, 90, 70, 0, 160, 300, null, null],
|
||||
[0, "조성", null, 0, null, 54, 74, 38, 0, 160, 300, null, null],
|
||||
[0, "조조", null, 0, null, 100, 72, 96, 0, 160, 300, null, null],
|
||||
[0, "조충", null, 0, null, 43, 21, 74, 0, 160, 300, null, null],
|
||||
[0, "장패", null, 0, null, 78, 86, 53, 0, 160, 300, null, null],
|
||||
[0, "조비", null, 0, null, 75, 64, 87, 0, 160, 300, null, null],
|
||||
[0, "조표", null, 0, null, 54, 69, 32, 0, 160, 300, null, null],
|
||||
[0, "저수", null, 0, null, 86, 46, 95, 0, 160, 300, null, null],
|
||||
[0, "소비", null, 0, null, 69, 45, 66, 0, 160, 300, null, null],
|
||||
[0, "조무", null, 0, null, 70, 71, 50, 0, 160, 300, null, null],
|
||||
[0, "손환", null, 0, null, 82, 56, 76, 0, 160, 300, null, null],
|
||||
[0, "손견", null, 0, null, 94, 95, 73, 0, 160, 300, null, null],
|
||||
[0, "손건", null, 0, null, 44, 33, 79, 0, 160, 300, null, null],
|
||||
[0, "손권", null, 0, null, 86, 61, 81, 0, 160, 300, null, null],
|
||||
[0, "손교", null, 0, null, 77, 72, 52, 0, 160, 300, null, null],
|
||||
[0, "손책", null, 0, null, 93, 94, 74, 0, 160, 300, null, null],
|
||||
[0, "손소", null, 0, null, 82, 79, 59, 0, 160, 300, null, null],
|
||||
[0, "손정", null, 0, null, 66, 53, 73, 0, 160, 300, null, null],
|
||||
[0, "손중", null, 0, null, 62, 71, 36, 0, 160, 300, null, null],
|
||||
[0, "손등", null, 0, null, 62, 37, 79, 0, 160, 300, null, null],
|
||||
[0, "손유", null, 0, null, 77, 70, 51, 0, 160, 300, null, null],
|
||||
[0, "손익", null, 0, null, 67, 83, 27, 0, 160, 300, null, null],
|
||||
[0, "손례", null, 0, null, 78, 81, 59, 0, 160, 300, null, null],
|
||||
[0, "태사자", null, 0, null, 94, 94, 72, 0, 160, 300, null, null],
|
||||
[0, "대래동주", null, 0, null, 51, 53, 54, 0, 160, 300, null, null],
|
||||
[0, "대릉", null, 0, null, 70, 75, 39, 0, 160, 300, null, null],
|
||||
[0, "타사대왕", null, 0, null, 62, 48, 70, 0, 160, 300, null, null],
|
||||
[0, "담웅", null, 0, null, 58, 73, 14, 0, 160, 300, null, null],
|
||||
[0, "장윤", null, 0, null, 72, 67, 42, 0, 160, 300, null, null],
|
||||
[0, "조운", null, 0, null, 90, 96, 75, 0, 160, 300, null, null],
|
||||
[0, "장위", null, 0, null, 74, 66, 45, 0, 160, 300, null, null],
|
||||
[0, "장영", null, 0, null, 75, 74, 41, 0, 160, 300, null, null],
|
||||
[0, "장연", null, 0, null, 76, 81, 57, 0, 160, 300, null, null],
|
||||
[0, "장횡", null, 0, null, 59, 70, 23, 0, 160, 300, null, null],
|
||||
[0, "장온", null, 0, null, 32, 10, 72, 0, 160, 300, null, null],
|
||||
[0, "장개", null, 0, null, 34, 66, 8, 0, 160, 300, null, null],
|
||||
[0, "장각", null, 0, null, 87, 35, 90, 0, 160, 300, null, null],
|
||||
[0, "장기", null, 0, null, 74, 35, 76, 0, 160, 300, null, null],
|
||||
[0, "장의", null, 0, null, 79, 55, 75, 0, 160, 300, null, null],
|
||||
[0, "장훈", null, 0, null, 72, 68, 41, 0, 160, 300, null, null],
|
||||
[0, "장굉", null, 0, null, 24, 22, 86, 0, 160, 300, null, null],
|
||||
[0, "장합", null, 0, null, 92, 89, 69, 0, 160, 300, null, null],
|
||||
[0, "조홍2", null, 0, null, 66, 72, 28, 0, 160, 300, null, null],
|
||||
[0, "장제2", null, 0, null, 70, 66, 46, 0, 160, 300, null, null],
|
||||
[0, "장수", null, 0, null, 80, 73, 51, 0, 160, 300, null, null],
|
||||
[0, "장소", null, 0, null, 41, 13, 87, 0, 160, 300, null, null],
|
||||
[0, "장송", null, 0, null, 40, 6, 85, 0, 160, 300, null, null],
|
||||
[0, "장임", null, 0, null, 85, 84, 64, 0, 160, 300, null, null],
|
||||
[0, "장제", null, 0, null, 67, 43, 80, 0, 160, 300, null, null],
|
||||
[0, "장막", null, 0, null, 52, 53, 71, 0, 160, 300, null, null],
|
||||
[0, "조범", null, 0, null, 28, 21, 32, 0, 160, 300, null, null],
|
||||
[0, "장비", null, 0, null, 87, 98, 72, 0, 160, 300, null, null],
|
||||
[0, "장포", null, 0, null, 78, 84, 48, 0, 160, 300, null, null],
|
||||
[0, "장보", null, 0, null, 83, 60, 81, 0, 160, 300, null, null],
|
||||
[0, "장만성", null, 0, null, 75, 81, 45, 0, 160, 300, null, null],
|
||||
[0, "장양", null, 0, null, 72, 70, 50, 0, 160, 300, null, null],
|
||||
[0, "장익", null, 0, null, 75, 55, 76, 0, 160, 300, null, null],
|
||||
[0, "장료", null, 0, null, 96, 94, 74, 0, 160, 300, null, null],
|
||||
[0, "장량", null, 0, null, 78, 80, 59, 0, 160, 300, null, null],
|
||||
[0, "조루", null, 0, null, 70, 43, 68, 0, 160, 300, null, null],
|
||||
[0, "장로", null, 0, null, 65, 42, 81, 0, 160, 300, null, null],
|
||||
[0, "진횡", null, 0, null, 64, 63, 26, 0, 160, 300, null, null],
|
||||
[0, "진응", null, 0, null, 62, 72, 45, 0, 160, 300, null, null],
|
||||
[0, "진기", null, 0, null, 58, 65, 43, 0, 160, 300, null, null],
|
||||
[0, "진궁", null, 0, null, 84, 55, 90, 0, 160, 300, null, null],
|
||||
[0, "진교", null, 0, null, 61, 27, 77, 0, 160, 300, null, null],
|
||||
[0, "진군", null, 0, null, 32, 14, 75, 0, 160, 300, null, null],
|
||||
[0, "진규", null, 0, null, 30, 4, 82, 0, 160, 300, null, null],
|
||||
[0, "진식", null, 0, null, 70, 71, 25, 0, 160, 300, null, null],
|
||||
[0, "진진", null, 0, null, 46, 46, 69, 0, 160, 300, null, null],
|
||||
[0, "진태", null, 0, null, 86, 68, 89, 0, 160, 300, null, null],
|
||||
[0, "진등", null, 0, null, 79, 59, 81, 0, 160, 300, null, null],
|
||||
[0, "진도", null, 0, null, 82, 78, 58, 0, 160, 300, null, null],
|
||||
[0, "진무", null, 0, null, 76, 87, 43, 0, 160, 300, null, null],
|
||||
[0, "진란", null, 0, null, 66, 69, 40, 0, 160, 300, null, null],
|
||||
[0, "진림", null, 0, null, 25, 9, 75, 0, 160, 300, null, null],
|
||||
[0, "정욱", null, 0, null, 76, 49, 94, 0, 160, 300, null, null],
|
||||
[0, "정원지", null, 0, null, 69, 74, 17, 0, 160, 300, null, null],
|
||||
[0, "정은", null, 0, null, 69, 73, 40, 0, 160, 300, null, null],
|
||||
[0, "정원", null, 0, null, 70, 76, 35, 0, 160, 300, null, null],
|
||||
[0, "정보", null, 0, null, 84, 79, 59, 0, 160, 300, null, null],
|
||||
[0, "정봉", null, 0, null, 81, 92, 69, 0, 160, 300, null, null],
|
||||
[0, "전위", null, 0, null, 79, 98, 42, 0, 160, 300, null, null],
|
||||
[0, "전해", null, 0, null, 68, 65, 45, 0, 160, 300, null, null],
|
||||
[0, "전주", null, 0, null, 66, 51, 73, 0, 160, 300, null, null],
|
||||
[0, "전풍", null, 0, null, 82, 43, 96, 0, 160, 300, null, null],
|
||||
[0, "전예", null, 0, null, 93, 85, 66, 0, 160, 300, null, null],
|
||||
[0, "동윤", null, 0, null, 47, 28, 79, 0, 160, 300, null, null],
|
||||
[0, "동화", null, 0, null, 57, 34, 75, 0, 160, 300, null, null],
|
||||
[0, "등애", null, 0, null, 92, 73, 94, 0, 160, 300, null, null],
|
||||
[0, "도겸", null, 0, null, 51, 27, 64, 0, 160, 300, null, null],
|
||||
[0, "등현", null, 0, null, 61, 73, 45, 0, 160, 300, null, null],
|
||||
[0, "등지", null, 0, null, 73, 52, 81, 0, 160, 300, null, null],
|
||||
[0, "동습", null, 0, null, 72, 85, 50, 0, 160, 300, null, null],
|
||||
[0, "동승", null, 0, null, 56, 53, 65, 0, 160, 300, null, null],
|
||||
[0, "동소", null, 0, null, 34, 25, 80, 0, 160, 300, null, null],
|
||||
[0, "동탁", null, 0, null, 91, 87, 67, 0, 160, 300, null, null],
|
||||
[0, "동도나", null, 0, null, 68, 73, 31, 0, 160, 300, null, null],
|
||||
[0, "동민", null, 0, null, 49, 60, 25, 0, 160, 300, null, null],
|
||||
[0, "등무", null, 0, null, 61, 75, 29, 0, 160, 300, null, null],
|
||||
[0, "두기", null, 0, null, 74, 43, 78, 0, 160, 300, null, null],
|
||||
[0, "두예", null, 0, null, 96, 69, 95, 0, 160, 300, null, null],
|
||||
[0, "배원소", null, 0, null, 49, 65, 25, 0, 160, 300, null, null],
|
||||
[0, "마완", null, 0, null, 71, 74, 16, 0, 160, 300, null, null],
|
||||
[0, "마휴", null, 0, null, 68, 73, 48, 0, 160, 300, null, null],
|
||||
[0, "파재", null, 0, null, 74, 74, 55, 0, 160, 300, null, null],
|
||||
[0, "마준", null, 0, null, 38, 52, 31, 0, 160, 300, null, null],
|
||||
[0, "마속", null, 0, null, 61, 59, 84, 0, 160, 300, null, null],
|
||||
[0, "마대", null, 0, null, 79, 85, 62, 0, 160, 300, null, null],
|
||||
[0, "마충", null, 0, null, 78, 72, 52, 0, 160, 300, null, null],
|
||||
[0, "마초", null, 0, null, 86, 97, 44, 0, 160, 300, null, null],
|
||||
[0, "마철", null, 0, null, 70, 62, 43, 0, 160, 300, null, null],
|
||||
[0, "마등", null, 0, null, 85, 80, 52, 0, 160, 300, null, null],
|
||||
[0, "마량", null, 0, null, 53, 23, 85, 0, 160, 300, null, null],
|
||||
[0, "반준", null, 0, null, 61, 46, 82, 0, 160, 300, null, null],
|
||||
[0, "반장", null, 0, null, 76, 80, 59, 0, 160, 300, null, null],
|
||||
[0, "번조", null, 0, null, 66, 73, 31, 0, 160, 300, null, null],
|
||||
[0, "번능", null, 0, null, 69, 61, 36, 0, 160, 300, null, null],
|
||||
[0, "반봉", null, 0, null, 56, 77, 4, 0, 160, 300, null, null],
|
||||
[0, "비의", null, 0, null, 82, 56, 88, 0, 160, 300, null, null],
|
||||
[0, "비연", null, 0, null, 60, 66, 21, 0, 160, 300, null, null],
|
||||
[0, "비시", null, 0, null, 18, 28, 65, 0, 160, 300, null, null],
|
||||
[0, "미축", null, 0, null, 33, 29, 78, 0, 160, 300, null, null],
|
||||
[0, "미방", null, 0, null, 54, 61, 32, 0, 160, 300, null, null],
|
||||
[0, "비요", null, 0, null, 70, 52, 73, 0, 160, 300, null, null],
|
||||
[0, "무안국", null, 0, null, 70, 79, 34, 0, 160, 300, null, null],
|
||||
[0, "풍습", null, 0, null, 72, 71, 39, 0, 160, 300, null, null],
|
||||
[0, "부사인", null, 0, null, 46, 63, 37, 0, 160, 300, null, null],
|
||||
[0, "부첨", null, 0, null, 73, 85, 62, 0, 160, 300, null, null],
|
||||
[0, "부손", null, 0, null, 29, 13, 70, 0, 160, 300, null, null],
|
||||
[0, "문앙", null, 0, null, 76, 96, 65, 0, 160, 300, null, null],
|
||||
[0, "문흠", null, 0, null, 74, 79, 43, 0, 160, 300, null, null],
|
||||
[0, "문추", null, 0, null, 87, 95, 49, 0, 160, 300, null, null],
|
||||
[0, "문빙", null, 0, null, 88, 85, 65, 0, 160, 300, null, null],
|
||||
[0, "변희", null, 0, null, 56, 70, 62, 0, 160, 300, null, null],
|
||||
[0, "망아장", null, 0, null, 45, 79, 3, 0, 160, 300, null, null],
|
||||
[0, "봉기", null, 0, null, 56, 48, 84, 0, 160, 300, null, null],
|
||||
[0, "방희", null, 0, null, 60, 38, 69, 0, 160, 300, null, null],
|
||||
[0, "법정", null, 0, null, 82, 47, 94, 0, 160, 300, null, null],
|
||||
[0, "방통", null, 0, null, 79, 34, 97, 0, 160, 300, null, null],
|
||||
[0, "방덕", null, 0, null, 89, 94, 70, 0, 160, 300, null, null],
|
||||
[0, "포륭", null, 0, null, 58, 76, 49, 0, 160, 300, null, null],
|
||||
[0, "목순", null, 0, null, 52, 77, 11, 0, 160, 300, null, null],
|
||||
[0, "목록대왕", null, 0, null, 65, 71, 39, 0, 160, 300, null, null],
|
||||
[0, "보즐", null, 0, null, 83, 51, 81, 0, 160, 300, null, null],
|
||||
[0, "만총", null, 0, null, 88, 64, 87, 0, 160, 300, null, null],
|
||||
[0, "모개", null, 0, null, 63, 39, 60, 0, 160, 300, null, null],
|
||||
[0, "맹획", null, 0, null, 81, 88, 42, 0, 160, 300, null, null],
|
||||
[0, "맹체", null, 0, null, 75, 55, 75, 0, 160, 300, null, null],
|
||||
[0, "맹우", null, 0, null, 50, 68, 22, 0, 160, 300, null, null],
|
||||
[0, "유섭", null, 0, null, 62, 79, 24, 0, 160, 300, null, null],
|
||||
[0, "양부", null, 0, null, 62, 48, 68, 0, 160, 300, null, null],
|
||||
[0, "옹개", null, 0, null, 73, 75, 57, 0, 160, 300, null, null],
|
||||
[0, "양의", null, 0, null, 68, 40, 82, 0, 160, 300, null, null],
|
||||
[0, "양호", null, 0, null, 94, 69, 92, 0, 160, 300, null, null],
|
||||
[0, "양홍", null, 0, null, 33, 15, 77, 0, 160, 300, null, null],
|
||||
[0, "양앙", null, 0, null, 68, 72, 38, 0, 160, 300, null, null],
|
||||
[0, "양추", null, 0, null, 52, 65, 40, 0, 160, 300, null, null],
|
||||
[0, "양수", null, 0, null, 46, 23, 83, 0, 160, 300, null, null],
|
||||
[0, "양추2", null, 0, null, 67, 64, 44, 0, 160, 300, null, null],
|
||||
[0, "양송", null, 0, null, 17, 5, 28, 0, 160, 300, null, null],
|
||||
[0, "양임", null, 0, null, 70, 78, 56, 0, 160, 300, null, null],
|
||||
[0, "양조", null, 0, null, 53, 61, 36, 0, 160, 300, null, null],
|
||||
[0, "양백", null, 0, null, 44, 45, 19, 0, 160, 300, null, null],
|
||||
[0, "양부2", null, 0, null, 67, 50, 83, 0, 160, 300, null, null],
|
||||
[0, "양봉", null, 0, null, 66, 65, 31, 0, 160, 300, null, null],
|
||||
[0, "양봉2", null, 0, null, 54, 62, 53, 0, 160, 300, null, null],
|
||||
[0, "뇌동", null, 0, null, 69, 78, 51, 0, 160, 300, null, null],
|
||||
[0, "뇌박", null, 0, null, 62, 70, 36, 0, 160, 300, null, null],
|
||||
[0, "이이", null, 0, null, 63, 77, 19, 0, 160, 300, null, null],
|
||||
[0, "이회", null, 0, null, 79, 58, 79, 0, 160, 300, null, null],
|
||||
[0, "이각", null, 0, null, 69, 72, 24, 0, 160, 300, null, null],
|
||||
[0, "육항", null, 0, null, 94, 68, 93, 0, 160, 300, null, null],
|
||||
[0, "육적", null, 0, null, 20, 7, 72, 0, 160, 300, null, null],
|
||||
[0, "육손", null, 0, null, 95, 71, 96, 0, 160, 300, null, null],
|
||||
[0, "이엄", null, 0, null, 83, 84, 63, 0, 160, 300, null, null],
|
||||
[0, "이유", null, 0, null, 61, 26, 93, 0, 160, 300, null, null],
|
||||
[0, "이숙", null, 0, null, 46, 69, 61, 0, 160, 300, null, null],
|
||||
[0, "이통", null, 0, null, 73, 81, 62, 0, 160, 300, null, null],
|
||||
[0, "이전", null, 0, null, 78, 80, 59, 0, 160, 300, null, null],
|
||||
[0, "이풍", null, 0, null, 69, 74, 50, 0, 160, 300, null, null],
|
||||
[0, "유언", null, 0, null, 61, 38, 80, 0, 160, 300, null, null],
|
||||
[0, "유괴", null, 0, null, 71, 73, 52, 0, 160, 300, null, null],
|
||||
[0, "유기", null, 0, null, 52, 12, 63, 0, 160, 300, null, null],
|
||||
[0, "유우", null, 0, null, 62, 33, 75, 0, 160, 300, null, null],
|
||||
[0, "유훈", null, 0, null, 47, 63, 35, 0, 160, 300, null, null],
|
||||
[0, "유현", null, 0, null, 54, 66, 51, 0, 160, 300, null, null],
|
||||
[0, "유순", null, 0, null, 63, 46, 28, 0, 160, 300, null, null],
|
||||
[0, "유장", null, 0, null, 31, 5, 34, 0, 160, 300, null, null],
|
||||
[0, "유심", null, 0, null, 60, 48, 70, 0, 160, 300, null, null],
|
||||
[0, "유선", null, 0, null, 3, 5, 9, 0, 160, 300, null, null],
|
||||
[0, "유종", null, 0, null, 24, 22, 65, 0, 160, 300, null, null],
|
||||
[0, "유도", null, 0, null, 25, 23, 26, 0, 160, 300, null, null],
|
||||
[0, "유파", null, 0, null, 29, 22, 75, 0, 160, 300, null, null],
|
||||
[0, "유반", null, 0, null, 69, 76, 47, 0, 160, 300, null, null],
|
||||
[0, "유비", null, 0, null, 88, 78, 59, 0, 160, 300, null, null],
|
||||
[0, "유표", null, 0, null, 48, 31, 72, 0, 160, 300, null, null],
|
||||
[0, "유복", null, 0, null, 64, 49, 74, 0, 160, 300, null, null],
|
||||
[0, "유벽", null, 0, null, 70, 72, 47, 0, 160, 300, null, null],
|
||||
[0, "유봉", null, 0, null, 75, 79, 44, 0, 160, 300, null, null],
|
||||
[0, "유엽", null, 0, null, 56, 32, 92, 0, 160, 300, null, null],
|
||||
[0, "유요", null, 0, null, 62, 67, 46, 0, 160, 300, null, null],
|
||||
[0, "여위황", null, 0, null, 58, 63, 29, 0, 160, 300, null, null],
|
||||
[0, "요화", null, 0, null, 73, 76, 54, 0, 160, 300, null, null],
|
||||
[0, "양흥", null, 0, null, 61, 65, 19, 0, 160, 300, null, null],
|
||||
[0, "양습", null, 0, null, 73, 40, 74, 0, 160, 300, null, null],
|
||||
[0, "양서", null, 0, null, 56, 62, 66, 0, 160, 300, null, null],
|
||||
[0, "능조", null, 0, null, 75, 81, 42, 0, 160, 300, null, null],
|
||||
[0, "능통", null, 0, null, 83, 89, 60, 0, 160, 300, null, null],
|
||||
[0, "여개", null, 0, null, 53, 30, 67, 0, 160, 300, null, null],
|
||||
[0, "여건", null, 0, null, 57, 70, 62, 0, 160, 300, null, null],
|
||||
[0, "여광", null, 0, null, 56, 70, 13, 0, 160, 300, null, null],
|
||||
[0, "여상", null, 0, null, 54, 71, 12, 0, 160, 300, null, null],
|
||||
[0, "여대", null, 0, null, 80, 71, 52, 0, 160, 300, null, null],
|
||||
[0, "여범", null, 0, null, 73, 54, 75, 0, 160, 300, null, null],
|
||||
[0, "여포", null, 0, null, 89, 100, 42, 0, 160, 300, null, null],
|
||||
[0, "여몽", null, 0, null, 91, 69, 90, 0, 160, 300, null, null],
|
||||
[0, "윤직", null, 0, null, 46, 42, 73, 0, 160, 300, null, null],
|
||||
[0, "냉포", null, 0, null, 71, 82, 61, 0, 160, 300, null, null],
|
||||
[0, "누규", null, 0, null, 52, 13, 87, 0, 160, 300, null, null],
|
||||
[0, "노숙", null, 0, null, 89, 56, 93, 0, 160, 300, null, null],
|
||||
[0, "노식", null, 0, null, 86, 63, 82, 0, 160, 300, null, null],
|
||||
[0, "범강", null, 0, null, 49, 50, 36, 0, 160, 300, null, null],
|
||||
[0, "장달", null, 0, null, 43, 56, 34, 0, 160, 300, null, null],
|
||||
[0, "규람", null, 0, null, 55, 70, 58, 0, 160, 300, null, null],
|
||||
[0, "대원", null, 0, null, 38, 32, 68, 0, 160, 300, null, null],
|
||||
[0, "왕기", null, 0, null, 81, 64, 86, 0, 160, 300, null, null],
|
||||
[0, "왕상", null, 0, null, 23, 19, 68, 0, 160, 300, null, null],
|
||||
[0, "왕돈", null, 0, null, 60, 66, 46, 0, 160, 300, null, null],
|
||||
[0, "악침", null, 0, null, 73, 75, 43, 0, 160, 300, null, null],
|
||||
[0, "하제", null, 0, null, 83, 61, 82, 0, 160, 300, null, null],
|
||||
[0, "환범", null, 0, null, 40, 11, 78, 0, 160, 300, null, null],
|
||||
[0, "견초", null, 0, null, 72, 79, 57, 0, 160, 300, null, null],
|
||||
[0, "고당륭", null, 0, null, 35, 24, 76, 0, 160, 300, null, null],
|
||||
[0, "오찬", null, 0, null, 68, 41, 78, 0, 160, 300, null, null],
|
||||
[0, "호질", null, 0, null, 73, 46, 74, 0, 160, 300, null, null],
|
||||
[0, "오질", null, 0, null, 16, 29, 68, 0, 160, 300, null, null],
|
||||
[0, "호준", null, 0, null, 79, 76, 55, 0, 160, 300, null, null],
|
||||
[0, "고담", null, 0, null, 53, 23, 77, 0, 160, 300, null, null],
|
||||
[0, "최림", null, 0, null, 32, 22, 66, 0, 160, 300, null, null],
|
||||
[0, "사마망", null, 0, null, 78, 58, 83, 0, 160, 300, null, null],
|
||||
[0, "주이", null, 0, null, 70, 73, 52, 0, 160, 300, null, null],
|
||||
[0, "전단", null, 0, null, 67, 64, 39, 0, 160, 300, null, null],
|
||||
[0, "조우", null, 0, null, 50, 43, 37, 0, 160, 300, null, null],
|
||||
[0, "조상", null, 0, null, 39, 33, 30, 0, 160, 300, null, null],
|
||||
[0, "조방", null, 0, null, 20, 14, 27, 0, 160, 300, null, null],
|
||||
[0, "태사향", null, 0, null, 57, 66, 48, 0, 160, 300, null, null],
|
||||
[0, "장휴", null, 0, null, 63, 27, 74, 0, 160, 300, null, null],
|
||||
[0, "장호", null, 0, null, 75, 74, 51, 0, 160, 300, null, null],
|
||||
[0, "조광", null, 0, null, 67, 71, 53, 0, 160, 300, null, null],
|
||||
[0, "장집", null, 0, null, 76, 29, 80, 0, 160, 300, null, null],
|
||||
[0, "장승", null, 0, null, 77, 55, 75, 0, 160, 300, null, null],
|
||||
[0, "장소2", null, 0, null, 23, 56, 31, 0, 160, 300, null, null],
|
||||
[0, "조통", null, 0, null, 68, 67, 46, 0, 160, 300, null, null],
|
||||
[0, "진표", null, 0, null, 66, 42, 74, 0, 160, 300, null, null],
|
||||
[0, "정무", null, 0, null, 56, 35, 75, 0, 160, 300, null, null],
|
||||
[0, "정봉2", null, 0, null, 66, 66, 46, 0, 160, 300, null, null],
|
||||
[0, "전만", null, 0, null, 51, 73, 39, 0, 160, 300, null, null],
|
||||
[0, "마균", null, 0, null, 22, 17, 71, 0, 160, 300, null, null],
|
||||
[0, "방회", null, 0, null, 69, 75, 49, 0, 160, 300, null, null],
|
||||
[0, "낙통", null, 0, null, 76, 58, 75, 0, 160, 300, null, null],
|
||||
[0, "육개", null, 0, null, 65, 61, 79, 0, 160, 300, null, null],
|
||||
[0, "유찬", null, 0, null, 78, 81, 59, 0, 160, 300, null, null],
|
||||
[0, "유소", null, 0, null, 68, 53, 74, 0, 160, 300, null, null],
|
||||
[0, "요립", null, 0, null, 32, 15, 76, 0, 160, 300, null, null],
|
||||
[0, "여거", null, 0, null, 78, 51, 71, 0, 160, 300, null, null],
|
||||
[0, "제갈첨", null, 0, null, 70, 57, 76, 0, 160, 300, null, null],
|
||||
[0, "손휴", null, 0, null, 57, 42, 78, 0, 160, 300, null, null],
|
||||
[0, "극정", null, 0, null, 42, 23, 68, 0, 160, 300, null, null],
|
||||
[0, "호분", null, 0, null, 71, 76, 50, 0, 160, 300, null, null],
|
||||
[0, "손량", null, 0, null, 32, 26, 70, 0, 160, 300, null, null],
|
||||
[0, "마막", null, 0, null, 34, 12, 44, 0, 160, 300, null, null],
|
||||
[0, "손호", null, 0, null, 41, 73, 71, 0, 160, 300, null, null],
|
||||
[0, "조모", null, 0, null, 54, 61, 59, 0, 160, 300, null, null],
|
||||
[0, "조환", null, 0, null, 30, 28, 30, 0, 160, 300, null, null],
|
||||
[0, "사마유", null, 0, null, 71, 54, 75, 0, 160, 300, null, null],
|
||||
[0, "제갈상", null, 0, null, 64, 79, 62, 0, 160, 300, null, null],
|
||||
[0, "손화", null, 0, null, 31, 39, 68, 0, 160, 300, null, null],
|
||||
[0, "염우", null, 0, null, 52, 61, 51, 0, 160, 300, null, null],
|
||||
[0, "왕경", null, 0, null, 67, 49, 71, 0, 160, 300, null, null],
|
||||
[0, "왕혼", null, 0, null, 74, 71, 50, 0, 160, 300, null, null],
|
||||
[0, "곽혁", null, 0, null, 33, 29, 70, 0, 160, 300, null, null],
|
||||
[0, "가범", null, 0, null, 60, 50, 73, 0, 160, 300, null, null],
|
||||
[0, "서질", null, 0, null, 68, 83, 24, 0, 160, 300, null, null],
|
||||
[0, "손준", null, 0, null, 64, 70, 48, 0, 160, 300, null, null],
|
||||
[0, "손침", null, 0, null, 58, 55, 65, 0, 160, 300, null, null],
|
||||
[0, "우사", null, 0, null, 61, 34, 74, 0, 160, 300, null, null],
|
||||
[0, "진건", null, 0, null, 72, 71, 50, 0, 160, 300, null, null],
|
||||
[0, "동궐", null, 0, null, 65, 59, 76, 0, 160, 300, null, null],
|
||||
[0, "당자", null, 0, null, 61, 71, 50, 0, 160, 300, null, null],
|
||||
[0, "등충", null, 0, null, 76, 80, 59, 0, 160, 300, null, null],
|
||||
[0, "황숭", null, 0, null, 67, 50, 72, 0, 160, 300, null, null],
|
||||
[0, "화핵", null, 0, null, 20, 24, 71, 0, 160, 300, null, null],
|
||||
[0, "허의", null, 0, null, 51, 74, 15, 0, 160, 300, null, null],
|
||||
[0, "송겸", null, 0, null, 66, 78, 42, 0, 160, 300, null, null],
|
||||
[0, "호제", null, 0, null, 57, 39, 68, 0, 160, 300, null, null],
|
||||
[0, "나헌", null, 0, null, 86, 62, 82, 0, 160, 300, null, null],
|
||||
[0, "노숙2", null, 0, null, 73, 53, 74, 0, 160, 300, null, null],
|
||||
[0, "구성", null, 0, null, 63, 70, 38, 0, 160, 300, null, null],
|
||||
[0, "어부라", null, 0, null, 72, 68, 21, 0, 160, 300, null, null],
|
||||
[0, "아하소과", null, 0, null, 61, 76, 13, 0, 160, 300, null, null],
|
||||
[0, "가비능", null, 0, null, 77, 69, 52, 0, 160, 300, null, null],
|
||||
[0, "구력거", null, 0, null, 80, 68, 50, 0, 160, 300, null, null],
|
||||
[0, "강단", null, 0, null, 65, 83, 48, 0, 160, 300, null, null],
|
||||
[0, "황란", null, 0, null, 63, 75, 44, 0, 160, 300, null, null],
|
||||
[0, "호주천", null, 0, null, 70, 71, 40, 0, 160, 300, null, null],
|
||||
[0, "종리목", null, 0, null, 84, 61, 82, 0, 160, 300, null, null],
|
||||
[0, "제갈교", null, 0, null, 62, 27, 75, 0, 160, 300, null, null],
|
||||
[0, "답돈", null, 0, null, 84, 82, 61, 0, 160, 300, null, null],
|
||||
[0, "반임", null, 0, null, 66, 79, 38, 0, 160, 300, null, null],
|
||||
[0, "보도근", null, 0, null, 64, 73, 50, 0, 160, 300, null, null],
|
||||
[0, "미당대왕", null, 0, null, 59, 69, 21, 0, 160, 300, null, null],
|
||||
[0, "유표2", null, 0, null, 73, 74, 48, 0, 160, 300, null, null],
|
||||
[0, "루반", null, 0, null, 65, 76, 39, 0, 160, 300, null, null],
|
||||
[0, "손관", null, 0, null, 72, 78, 51, 0, 160, 300, null, null],
|
||||
[0, "곽석", null, 0, null, 59, 71, 48, 0, 160, 300, null, null],
|
||||
[0, "주조", null, 0, null, 63, 68, 26, 0, 160, 300, null, null],
|
||||
[0, "장거", null, 0, null, 79, 75, 56, 0, 160, 300, null, null],
|
||||
[0, "장순", null, 0, null, 73, 81, 60, 0, 160, 300, null, null],
|
||||
[0, "철리길", null, 0, null, 77, 70, 52, 0, 160, 300, null, null],
|
||||
[0, "주삭", null, 0, null, 54, 60, 50, 0, 160, 300, null, null],
|
||||
[0, "황월영", null, 0, null, 46, 33, 78, 0, 160, 300, null, null],
|
||||
[0, "채염", null, 0, null, 42, 26, 82, 0, 160, 300, null, null],
|
||||
[0, "소교", null, 0, null, 23, 15, 78, 0, 160, 300, null, null],
|
||||
[0, "신헌영", null, 0, null, 65, 35, 90, 0, 160, 300, null, null],
|
||||
[0, "손상향", null, 0, null, 72, 79, 55, 0, 160, 300, null, null],
|
||||
[0, "대교", null, 0, null, 22, 30, 78, 0, 160, 300, null, null],
|
||||
[0, "초선", null, 0, null, 12, 22, 71, 0, 160, 300, null, null],
|
||||
[0, "교모", null, 0, null, 54, 45, 69, 0, 160, 300, null, null],
|
||||
[0, "관구수", null, 0, null, 58, 62, 33, 0, 160, 300, null, null],
|
||||
[0, "관구전", null, 0, null, 63, 47, 69, 0, 160, 300, null, null],
|
||||
[0, "원유", null, 0, null, 56, 40, 73, 0, 160, 300, null, null],
|
||||
[0, "왕광", null, 0, null, 65, 41, 61, 0, 160, 300, null, null],
|
||||
[0, "신창", null, 0, null, 50, 26, 42, 0, 160, 300, null, null],
|
||||
[0, "사마주", null, 0, null, 61, 40, 61, 0, 160, 300, null, null],
|
||||
[0, "양제", null, 0, null, 67, 49, 71, 0, 160, 300, null, null],
|
||||
[0, "성만", null, 0, null, 61, 68, 46, 0, 160, 300, null, null],
|
||||
[0, "오연", null, 0, null, 66, 73, 42, 0, 160, 300, null, null],
|
||||
[0, "맹충", null, 0, null, 47, 28, 72, 0, 160, 300, null, null],
|
||||
[0, "잠혼", null, 0, null, 1, 1, 22, 0, 160, 300, null, null],
|
||||
[0, "사정", null, 0, null, 64, 76, 34, 0, 160, 300, null, null],
|
||||
[0, "심영", null, 0, null, 70, 77, 55, 0, 160, 300, null, null],
|
||||
[0, "도준", null, 0, null, 65, 66, 46, 0, 160, 300, null, null],
|
||||
[0, "만욱", null, 0, null, 21, 25, 71, 0, 160, 300, null, null],
|
||||
[0, "오언", null, 0, null, 76, 81, 59, 0, 160, 300, null, null],
|
||||
[0, "위막", null, 0, null, 57, 62, 59, 0, 160, 300, null, null],
|
||||
[0, "시삭", null, 0, null, 38, 65, 47, 0, 160, 300, null, null],
|
||||
[0, "전속", null, 0, null, 47, 60, 55, 0, 160, 300, null, null],
|
||||
[0, "장화", null, 0, null, 36, 27, 78, 0, 160, 300, null, null],
|
||||
[0, "오거", null, 0, null, 49, 61, 23, 0, 160, 300, null, null],
|
||||
[0, "추정", null, 0, null, 70, 46, 66, 0, 160, 300, null, null],
|
||||
[0, "장특", null, 0, null, 73, 54, 75, 0, 160, 300, null, null],
|
||||
[0, "곽마", null, 0, null, 68, 71, 47, 0, 160, 300, null, null],
|
||||
[0, "석포", null, 0, null, 69, 71, 49, 0, 160, 300, null, null],
|
||||
[0, "견홍", null, 0, null, 70, 74, 53, 0, 160, 300, null, null],
|
||||
[0, "한거자", null, 0, null, 51, 59, 51, 0, 160, 300, null, null],
|
||||
[0, "휴원진", null, 0, null, 52, 68, 45, 0, 160, 300, null, null],
|
||||
[0, "곽원", null, 0, null, 66, 73, 36, 0, 160, 300, null, null],
|
||||
[0, "계옹", null, 0, null, 63, 52, 33, 0, 160, 300, null, null],
|
||||
[0, "이부", null, 0, null, 31, 36, 74, 0, 160, 300, null, null],
|
||||
[0, "왕업", null, 0, null, 33, 6, 35, 0, 160, 300, null, null],
|
||||
[0, "좌혁", null, 0, null, 62, 66, 51, 0, 160, 300, null, null],
|
||||
[0, "화타", null, 0, null, 57, 25, 73, 0, 160, 300, null, null],
|
||||
[0, "사마휘", null, 0, null, 55, 26, 82, 0, 160, 300, null, null],
|
||||
[0, "우길", null, 0, null, 23, 15, 90, 0, 160, 300, null, null],
|
||||
[0, "헌제", null, 0, null, 22, 18, 68, 0, 160, 300, null, null],
|
||||
[0, "백기", null, 0, null, 100, 88, 69, 0, 160, 300, null, null],
|
||||
[0, "한신", null, 0, null, 100, 74, 95, 0, 160, 300, null, null],
|
||||
[0, "악비", null, 0, null, 99, 91, 71, 0, 160, 300, null, null],
|
||||
[0, "항적", null, 0, null, 99, 100, 65, 0, 160, 300, null, null],
|
||||
[0, "악의", null, 0, null, 98, 75, 96, 0, 160, 300, null, null],
|
||||
[0, "영정", null, 0, null, 97, 55, 92, 0, 160, 300, null, null],
|
||||
[0, "강상", null, 0, null, 94, 49, 100, 0, 160, 300, null, null],
|
||||
[0, "전단2", null, 0, null, 96, 75, 95, 0, 160, 300, null, null],
|
||||
[0, "이목", null, 0, null, 96, 69, 88, 0, 160, 300, null, null],
|
||||
[0, "염파", null, 0, null, 97, 96, 75, 0, 160, 300, null, null],
|
||||
[0, "왕전", null, 0, null, 94, 64, 83, 0, 160, 300, null, null],
|
||||
[0, "오기", null, 0, null, 94, 66, 95, 0, 160, 300, null, null],
|
||||
[0, "곽거병", null, 0, null, 93, 92, 53, 0, 160, 300, null, null],
|
||||
[0, "영포", null, 0, null, 82, 91, 54, 0, 160, 300, null, null],
|
||||
[0, "이신", null, 0, null, 81, 88, 63, 0, 160, 300, null, null],
|
||||
[0, "몽념", null, 0, null, 87, 86, 65, 0, 160, 300, null, null],
|
||||
[0, "전기", null, 0, null, 80, 85, 44, 0, 160, 300, null, null],
|
||||
[0, "극신", null, 0, null, 76, 83, 42, 0, 160, 300, null, null],
|
||||
[0, "항연", null, 0, null, 89, 80, 61, 0, 160, 300, null, null],
|
||||
[0, "인상여", null, 0, null, 69, 38, 96, 0, 160, 300, null, null],
|
||||
[0, "장자방", null, 0, null, 72, 40, 100, 0, 160, 300, null, null],
|
||||
[0, "관이오", null, 0, null, 85, 64, 99, 0, 160, 300, null, null],
|
||||
[0, "손빈", null, 0, null, 83, 22, 98, 0, 160, 300, null, null],
|
||||
[0, "소진", null, 0, null, 90, 47, 96, 0, 160, 300, null, null],
|
||||
[0, "범증", null, 0, null, 68, 24, 94, 0, 160, 300, null, null],
|
||||
[0, "장의2", null, 0, null, 75, 23, 93, 0, 160, 300, null, null],
|
||||
[0, "공구", null, 0, null, 68, 70, 91, 0, 160, 300, null, null],
|
||||
[0, "소하", null, 0, null, 56, 27, 97, 0, 160, 300, null, null],
|
||||
[0, "한비", null, 0, null, 49, 18, 97, 0, 160, 300, null, null],
|
||||
[0, "이사", null, 0, null, 48, 24, 95, 0, 160, 300, null, null],
|
||||
[0, "전문", null, 0, null, 79, 67, 89, 0, 160, 300, null, null],
|
||||
[0, "황헐", null, 0, null, 81, 68, 88, 0, 160, 300, null, null],
|
||||
[0, "방난", null, 0, null, 88, 95, 66, 0, 160, 300, null, null],
|
||||
[0, "개섭", null, 0, null, 43, 97, 54, 0, 160, 300, null, null],
|
||||
[0, "형가", null, 0, null, 42, 89, 43, 0, 160, 300, null, null],
|
||||
[0, "유방", null, 0, null, 90, 66, 85, 0, 160, 300, null, null],
|
||||
[0, "사스케", null, 0, "복양", 109, 43, 118, 0, 160, 300, "출세", "돌격", "언젠가는 제 기록을 넘겨주실 분도 나오길 바랍니다"],
|
||||
[0, "4水Ke", null, 0, null, 70, 99, 51, 0, 160, 300, null, null],
|
||||
[0, "나루토", null, 0, null, 80, 100, 6, 0, 160, 300, null, null, "나루토 사스케 싸움 레알 실화냐"],
|
||||
[0, "달스케", null, 0, null, 73, 97, 43, 0, 160, 300, null, null],
|
||||
[0, "독스케", null, 0, null, 79, 91, 46, 0, 160, 300, null, null],
|
||||
[0, "마스케", null, 0, null, 74, 96, 45, 0, 160, 300, null, null],
|
||||
[0, "사람쥐", null, 0, null, 77, 42, 93, 0, 160, 300, null, null, "사람쥐는 위대하고 그 외에 다른 설치류는 없다"],
|
||||
[0, "사숙개", null, 0, null, 78, 91, 44, 0, 160, 300, null, null],
|
||||
[0, "사스가키", null, 0, null, 71, 99, 47, 0, 160, 300, null, null, "허~접♡"],
|
||||
[0, "사스캣", null, 0, null, 70, 48, 99, 0, 160, 300, null, null, "냐옹"],
|
||||
[0, "사스케롱", null, 0, null, 77, 44, 92, 0, 160, 300, null, null],
|
||||
[0, "사슥개", null, 0, null, 79, 89, 39, 0, 160, 300, null, null],
|
||||
[0, "사슥게", null, 0, null, 69, 99, 39, 0, 160, 300, null, null],
|
||||
[0, "소숙꺄", null, 0, null, 79, 73, 11, 0, 160, 300, null, null, "ㅗㅜㅑ"],
|
||||
[0, "스켓맨", null, 0, null, 32, 86, 97, 0, 160, 300, null, null, "암어스켓맨"],
|
||||
[0, "쌰쓖꼐", null, 0, null, 75, 43, 94, 0, 160, 300, null, null],
|
||||
[0, "앵드케", null, 0, null, 78, 46, 92, 0, 160, 300, null, null, "히힛 오줌 발싸!!"],
|
||||
[0, "야스케", null, 0, null, 78, 47, 92, 0, 160, 300, null, null, "날 추방했으니 그 복수로 적국에 정보를 팔아 넘겨야겠군요. 그럼 이만."],
|
||||
[0, "오스케", null, 0, null, 77, 41, 93, 0, 160, 300, null, null, "저는 배신자입니다"],
|
||||
[0, "유스케", null, 0, null, 76, 46, 94, 0, 160, 300, null, null],
|
||||
[0, "일스케", null, 0, null, 11, 11, 1, 0, 160, 300, null, null],
|
||||
[0, "이스케", null, 0, null, 22, 2, 22, 0, 160, 300, null, null],
|
||||
[0, "삼수케", null, 0, null, 3, 33, 33, 0, 160, 300, null, null, "대학 입시를 3번 치르는 삼수케"],
|
||||
[0, "사시케", null, 0, null, 44, 44, 44, 0, 160, 300, null, null],
|
||||
[0, "사륜안", null, 0, null, 72, 49, 98, 0, 160, 300, null, null],
|
||||
[0, "네시", null, 0, "교지", 103, 119, 45, 0, 160, 300, "출세", "필살", "안 자고 싸우면 이겨요"],
|
||||
[0, "영시", null, 0, null, 77, 43, 92, 0, 160, 300, null, null, "충성!"],
|
||||
[0, "한시", null, 0, null, 71, 47, 99, 0, 160, 300, null, null, "ㅁㄹ"],
|
||||
[0, "두시", null, 0, null, 76, 44, 94, 0, 160, 300, null, null, "ㅅㅇㄹㄹ"],
|
||||
[0, "세시", null, 0, null, 73, 97, 46, 0, 160, 300, null, null, "안 살리고 죽이면 이겨요"],
|
||||
[0, "다섯시", null, 0, null, 75, 95, 45, 0, 160, 300, null, null],
|
||||
[0, "여섯시", null, 0, null, 72, 48, 97, 0, 160, 300, null, null],
|
||||
[0, "일곱시", null, 0, null, 77, 93, 43, 0, 160, 300, null, null],
|
||||
[0, "여덟시", null, 0, null, 76, 42, 94, 0, 160, 300, null, null],
|
||||
[0, "아홉시", null, 0, null, 74, 44, 96, 0, 160, 300, null, null],
|
||||
[0, "열시", null, 0, null, 10, 10, 10, 0, 160, 300, null, null],
|
||||
[0, "열한시", null, 0, null, 11, 11, 11, 0, 160, 300, null, null],
|
||||
[0, "열두시", null, 0, null, 12, 12, 12, 0, 160, 300, null, null],
|
||||
[0, "셀레미", null, 0, "안정", 104, 47, 114, 0, 160, 300, "출세", "환술", "식물키우세요🍀"],
|
||||
[0, "몬스테라", null, 0, null, 79, 44, 81, 0, 160, 300, null, null],
|
||||
[0, "아단소니", null, 0, null, 80, 90, 42, 0, 160, 300, null, null, "구멍뿅뿅"],
|
||||
[0, "마니홋", null, 0, null, 74, 43, 86, 0, 160, 300, null, null],
|
||||
[0, "두비아", null, 0, null, 79, 91, 46, 0, 160, 300, null, null, "크게 키워주실래요?"],
|
||||
[0, "마요이", null, 0, null, 80, 46, 90, 0, 160, 300, null, null, "달팽이 아니고 식물입니다"],
|
||||
[0, "에스쿠엘레토", null, 0, null, 66, 38, 78, 0, 160, 300, null, null],
|
||||
[0, "라니아타", null, 0, null, 65, 41, 82, 0, 160, 300, null, null],
|
||||
[0, "파스타짜넘", null, 0, null, 78, 92, 44, 0, 160, 300, null, null, "빵~덕♡"],
|
||||
[0, "플로우마니", null, 0, null, 76, 43, 94, 0, 160, 300, null, null, "블랙페이스 감상하세요"],
|
||||
[0, "도메스티컴", null, 0, null, 65, 45, 81, 0, 160, 300, null, null],
|
||||
[0, "지펠리움", null, 0, null, 69, 91, 55, 0, 160, 300, null, null],
|
||||
[0, "버럴막스", null, 0, null, 78, 45, 92, 0, 160, 300, null, null, "정신팔면 괴물을 보실걸요?"],
|
||||
[0, "테뉴", null, 0, null, 74, 89, 45, 0, 160, 300, null, null],
|
||||
[0, "샤로니에", null, 0, null, 76, 94, 47, 0, 160, 300, null, null, "빨래판 키우세요"],
|
||||
[0, "베루코섬", null, 0, null, 58, 92, 58, 0, 160, 300, null, null],
|
||||
[0, "소디로이", null, 0, null, 67, 46, 83, 0, 160, 300, null, null],
|
||||
[0, "브랜티아넘", null, 0, null, 75, 95, 45, 0, 160, 300, null, null, "3촉 합식하시면 이뻐요"],
|
||||
[0, "페페", null, 0, null, 74, 96, 46, 0, 160, 300, null, null, "페페페페펲페페페페페페페페페페페ㅔㅍ페"],
|
||||
[0, "워터코인", null, 0, null, 78, 44, 93, 0, 160, 300, null, null, "코인하세요"],
|
||||
[0, "마제스틱", null, 0, null, 59, 54, 84, 0, 160, 300, null, null],
|
||||
[0, "홀타니아넘", null, 0, null, 74, 96, 47, 0, 160, 300, null, null, "토끼귀 끝판왕"],
|
||||
[0, "서펜스", null, 0, null, 73, 97, 44, 0, 160, 300, null, null, "다시 비싸지고 싶어요"],
|
||||
[0, "마크로리자", null, 0, null, 75, 46, 94, 0, 160, 300, null, null, "자구 캐가세요"],
|
||||
[0, "럭셔리안스", null, 0, null, 66, 35, 89, 0, 160, 300, null, null],
|
||||
[0, "호말로메나", null, 0, null, 68, 43, 82, 0, 160, 300, null, null],
|
||||
[0, "에오스", null, 0, null, 72, 98, 43, 0, 160, 300, null, null, "에이스 오브 스페이드!"],
|
||||
[0, "벨벳마스크", null, 0, null, 67, 87, 47, 0, 160, 300, null, null],
|
||||
[0, "다크마마", null, 0, null, 45, 58, 67, 0, 160, 300, null, null],
|
||||
[0, "미칸", null, 0, null, 71, 99, 42, 0, 160, 300, null, null, "벽에 태워주세요 행잉도 좋아요"],
|
||||
[0, "아이비", null, 0, null, 70, 42, 100, 0, 160, 300, null, null, "반딧불이, 백설공주가 이뻐요"],
|
||||
[0, "도라야끼", null, 0, null, 98, 63, 44, 0, 160, 300, null, null],
|
||||
[0, "메그니피컴", null, 0, null, 47, 68, 15, 0, 160, 300, null, null],
|
||||
[0, "베이치", null, 0, null, 70, 100, 41, 0, 160, 300, null, null, "샤로니에 빨래판 저리가라"],
|
||||
[0, "바라오아넘", null, 0, null, 39, 43, 77, 0, 160, 300, null, null, "날렵한 미모!"],
|
||||
[0, "포게티그린", null, 0, null, 68, 41, 93, 0, 160, 300, null, null],
|
||||
[0, "플로리다뷰티", null, 0, null, 71, 45, 99, 0, 160, 300, null, null, "무늬가 나올줄알았지?"],
|
||||
[0, "스킨답서스", null, 0, null, 62, 86, 59, 0, 160, 300, null, null],
|
||||
[0, "호야", null, 0, null, 93, 80, 51, 0, 160, 300, null, null, "호야꿀드새오"],
|
||||
[0, "극락조", null, 0, null, 73, 41, 97, 0, 160, 300, null, null, "꽃 피 워 줘"],
|
||||
[0, "여인초", null, 0, null, 75, 95, 43, 0, 160, 300, null, null, "방심하면 커집니다?!"],
|
||||
[0, "제라늄", null, 0, null, 64, 57, 83, 0, 160, 300, null, null],
|
||||
[0, "베고니아", null, 0, null, 37, 23, 48, 0, 160, 300, null, null],
|
||||
[0, "위시본", null, 0, null, 23, 54, 12, 0, 160, 300, null, null],
|
||||
[0, "박쥐란", null, 0, null, 76, 93, 47, 0, 160, 300, null, null, "걸어키워주세요"],
|
||||
[0, "골든드래곤", null, 0, null, 73, 45, 97, 0, 160, 300, null, null, "고가종 3대장 골든바리!"],
|
||||
[0, "빌리에티에", null, 0, null, 72, 44, 98, 0, 160, 300, null, null, "고가종 3대장 빌리바리!"],
|
||||
[0, "윌리엄씨", null, 0, null, 77, 93, 46, 0, 160, 300, null, null, "고가종 3대장 윌리엄씨바리!"],
|
||||
[0, "멜라노", null, 0, null, 67, 83, 41, 0, 160, 300, null, null],
|
||||
[0, "기가스", null, 0, null, 76, 43, 94, 0, 160, 300, null, null, "순화지옥일껄요"],
|
||||
[0, "캄포스", null, 0, null, 62, 47, 81, 0, 160, 300, null, null],
|
||||
[0, "글로리오섬", null, 0, null, 78, 92, 44, 0, 160, 300, null, null, "남미가 좋아요"],
|
||||
[0, "글로리어스", null, 0, null, 75, 44, 95, 0, 160, 300, null, null, "기어다니기 싫어서 위로 자랄래요"],
|
||||
[0, "베멜하", null, 0, null, 92, 39, 81, 0, 160, 300, null, null, "잡종이라고 무시하지마세요"],
|
||||
[0, "오블리쿠아", null, 0, null, 79, 91, 46, 0, 160, 300, null, null, "이보다 더 큰 구멍은 없다"],
|
||||
[0, "라디아튬", null, 0, null, 79, 46, 91, 0, 160, 300, null, null, "마요이랑 헷갈리지마세요"],
|
||||
[0, "싱고니움", null, 0, null, 68, 56, 84, 0, 160, 300, null, null],
|
||||
[0, "애기모람", null, 0, null, 80, 44, 90, 0, 160, 300, null, null, "응애"],
|
||||
[0, "정승필", null, 0, "오", 107, 118, 42, 0, 160, 300, "출세", "견고", "건업만큼은 안된다 이놈들아!"],
|
||||
[0, "Faker", null, 0, null, 15, 99, 100, 0, 160, 300, null, "발명", "기부는 저처럼 돈 많은 사람들이 많이 하면 됩니다"],
|
||||
[0, "길가승필메시", null, 0, null, 70, 100, 41, 0, 160, 300, null, null, "길가승필메시, 그는 보호자입니다. 그의 특기는 강한 펀치죠"],
|
||||
[0, "닥터승필레인지", null, 0, null, 72, 44, 98, 0, 160, 300, null, null],
|
||||
[0, "도르마승필무", null, 0, null, 73, 43, 97, 0, 160, 300, null, null, "모든건 승필 뜻 대로.."],
|
||||
[0, "로키승필", null, 0, null, 74, 42, 96, 0, 160, 300, null, null],
|
||||
[0, "블랙승필팬서", null, 0, null, 71, 47, 99, 0, 160, 300, null, null, "와칸다 포에버!"],
|
||||
[0, "비전승필", null, 0, null, 69, 41, 101, 0, 160, 300, null, null],
|
||||
[0, "샹치승필", null, 0, null, 79, 91, 46, 0, 160, 300, null, null],
|
||||
[0, "슈리승필", null, 0, null, 70, 43, 100, 0, 160, 300, null, null, "와칸다 포에버!"],
|
||||
[0, "스칼렛승필위치", null, 0, null, 76, 45, 94, 0, 160, 300, null, null],
|
||||
[0, "스파이더승필맨", null, 0, null, 78, 92, 42, 0, 160, 300, null, null],
|
||||
[0, "승루트", null, 0, null, 65, 38, 89, 0, 160, 300, null, null, "I'm Seungroot"],
|
||||
[0, "승필위도우", null, 0, null, 75, 45, 95, 0, 160, 300, null, null],
|
||||
[0, "승필콘", null, 0, null, 75, 95, 44, 0, 160, 300, null, null],
|
||||
[0, "아이언승필", null, 0, null, 70, 46, 100, 0, 160, 300, null, null, "I'm IronSeungpil"],
|
||||
[0, "앤트승필맨", null, 0, null, 69, 88, 56, 0, 160, 300, null, null],
|
||||
[0, "워승필머신", null, 0, null, 72, 98, 45, 0, 160, 300, null, null],
|
||||
[0, "윈터승필솔져", null, 0, null, 77, 93, 43, 0, 160, 300, null, null],
|
||||
[0, "정승필실종사건", null, 0, null, 79, 45, 91, 0, 160, 300, null, null, "승필 실종됨 ㄷㄷㄷ"],
|
||||
[0, "찐승필", null, 0, null, 80, 44, 90, 0, 160, 300, null, null],
|
||||
[0, "캡틴승필리카", null, 0, null, 80, 90, 44, 0, 160, 300, null, null],
|
||||
[0, "퀵승필", null, 0, null, 68, 88, 43, 0, 160, 300, null, null],
|
||||
[0, "타노승필", null, 0, null, 71, 99, 48, 0, 160, 300, null, null],
|
||||
[0, "토르승필", null, 0, null, 77, 47, 93, 0, 160, 300, null, null],
|
||||
[0, "헐크승필", null, 0, null, 72, 99, 40, 0, 160, 300, null, null],
|
||||
[0, "호크승필아이", null, 0, null, 78, 89, 46, 0, 160, 300, null, null],
|
||||
[0, "하츄핑", null, 0, "홍농", 103, 46, 116, 0, 160, 300, "출세", "집중", "애교가 넘치는 사랑의 티니핑, 츄!"],
|
||||
[0, "바로핑", null, 0, null, 72, 46, 98, 0, 160, 300, null, null, "바로핑에게 맡겨주세요, 바롬!"],
|
||||
[0, "아자핑", null, 0, null, 79, 92, 42, 0, 160, 300, null, null, "내가 저 친구를 도와주지, 아자!"],
|
||||
[0, "차차핑", null, 0, null, 74, 44, 96, 0, 160, 300, null, null, "차차핑이 희망을 줄게, 차차~"],
|
||||
[0, "라라핑", null, 0, null, 77, 43, 93, 0, 160, 300, null, null, "난 이모션 왕국에서 온 라라핑이라고 해! 만나서 반가워, 라랑♪"],
|
||||
[0, "해핑", null, 0, null, 79, 42, 91, 0, 160, 300, null, null, "해핑은 행복해~! 해피!"],
|
||||
[0, "조아핑", null, 0, null, 78, 91, 41, 0, 160, 300, null, null, "우린... 친구들을 구하고 싶었어요, 조아!"],
|
||||
[0, "믿어핑", null, 0, null, 76, 45, 94, 0, 160, 300, null, null, "와아~! 네 말이 맞아, 미더!"],
|
||||
[0, "방글핑", null, 0, null, 75, 95, 45, 0, 160, 300, null, null, "꺄항~ 재밌겠다~! 나나나나! 내가 할래! 방글~"],
|
||||
[0, "키키핑", null, 0, null, 66, 88, 39, 0, 160, 300, null, null],
|
||||
[0, "아잉핑", null, 0, null, 74, 39, 80, 0, 160, 300, null, null],
|
||||
[0, "부끄핑", null, 0, null, 69, 85, 39, 0, 160, 300, null, null],
|
||||
[0, "부투핑", null, 0, null, 71, 39, 83, 0, 160, 300, null, null],
|
||||
[0, "깜빡핑", null, 0, null, 72, 82, 39, 0, 160, 300, null, null],
|
||||
[0, "띠용핑", null, 0, null, 68, 39, 86, 0, 160, 300, null, null],
|
||||
[0, "주르핑", null, 0, null, 75, 79, 39, 0, 160, 300, null, null],
|
||||
[0, "차나핑", null, 0, null, 65, 39, 89, 0, 160, 300, null, null],
|
||||
[0, "따라핑", null, 0, null, 65, 89, 39, 0, 160, 300, null, null],
|
||||
[0, "나르핑", null, 0, null, 75, 39, 79, 0, 160, 300, null, null],
|
||||
[0, "무셔핑", null, 0, null, 68, 86, 39, 0, 160, 300, null, null],
|
||||
[0, "투투핑", null, 0, null, 72, 39, 82, 0, 160, 300, null, null],
|
||||
[0, "차캐핑", null, 0, null, 71, 83, 39, 0, 160, 300, null, null],
|
||||
[0, "떠벌핑", null, 0, null, 69, 39, 85, 0, 160, 300, null, null],
|
||||
[0, "다조핑", null, 0, null, 74, 80, 39, 0, 160, 300, null, null],
|
||||
[0, "화나핑", null, 0, null, 66, 39, 88, 0, 160, 300, null, null],
|
||||
[0, "시러핑", null, 0, null, 67, 87, 39, 0, 160, 300, null, null],
|
||||
[0, "바네핑", null, 0, null, 73, 39, 81, 0, 160, 300, null, null],
|
||||
[0, "덜덜핑", null, 0, null, 70, 84, 39, 0, 160, 300, null, null],
|
||||
[0, "그림핑", null, 0, null, 70, 39, 84, 0, 160, 300, null, null],
|
||||
[0, "무거핑", null, 0, null, 73, 81, 39, 0, 160, 300, null, null],
|
||||
[0, "꺼꿀핑", null, 0, null, 67, 39, 87, 0, 160, 300, null, null],
|
||||
[0, "씽씽핑", null, 0, null, 66, 88, 39, 0, 160, 300, null, null],
|
||||
[0, "베베핑", null, 0, null, 74, 39, 80, 0, 160, 300, null, null],
|
||||
[0, "코자핑", null, 0, null, 69, 85, 39, 0, 160, 300, null, null],
|
||||
[0, "딱풀핑", null, 0, null, 71, 39, 83, 0, 160, 300, null, null],
|
||||
[0, "모야핑", null, 0, null, 72, 82, 39, 0, 160, 300, null, null],
|
||||
[0, "토이핑", null, 0, null, 68, 39, 86, 0, 160, 300, null, null],
|
||||
[0, "또까핑", null, 0, null, 75, 79, 39, 0, 160, 300, null, null],
|
||||
[0, "플라핑", null, 0, null, 65, 39, 89, 0, 160, 300, null, null],
|
||||
[0, "노라핑", null, 0, null, 65, 89, 39, 0, 160, 300, null, null],
|
||||
[0, "노리핑", null, 0, null, 75, 39, 79, 0, 160, 300, null, null],
|
||||
[0, "아휴핑", null, 0, null, 68, 86, 39, 0, 160, 300, null, null],
|
||||
[0, "똑똑핑", null, 0, null, 72, 39, 82, 0, 160, 300, null, null],
|
||||
[0, "꽁꽁핑", null, 0, null, 71, 83, 39, 0, 160, 300, null, null],
|
||||
[0, "찌릿핑", null, 0, null, 69, 39, 85, 0, 160, 300, null, null],
|
||||
[0, "홀로핑", null, 0, null, 74, 80, 39, 0, 160, 300, null, null],
|
||||
[0, "악동핑", null, 0, null, 72, 98, 46, 0, 160, 300, null, null, "모두를 다시 풀어주겠어. 기다려라 친구들이여, 통통~!"],
|
||||
[0, "앙대핑", null, 0, null, 74, 96, 45, 0, 160, 300, null, null, "이 몸은 앙대핑. 난, 여러 감정들을 뒤섞어서 싸움을 부추기지!"],
|
||||
[0, "가면핑", null, 0, null, 71, 47, 97, 0, 160, 300, null, null, "나는 누구일까?"],
|
||||
[0, "까르핑", null, 0, null, 66, 39, 88, 0, 160, 300, null, null],
|
||||
[0, "아야핑", null, 0, null, 70, 39, 84, 0, 160, 300, null, null],
|
||||
[0, "소원핑", null, 0, null, 73, 39, 81, 0, 160, 300, null, null],
|
||||
[0, "토닥핑", null, 0, null, 70, 84, 39, 0, 160, 300, null, null],
|
||||
[0, "쪼꼼핑", null, 0, null, 67, 87, 39, 0, 160, 300, null, null],
|
||||
[0, "싹싹핑", null, 0, null, 73, 81, 39, 0, 160, 300, null, null],
|
||||
[0, "맛나핑", null, 0, null, 67, 39, 87, 0, 160, 300, null, null],
|
||||
[0, "포근핑", null, 0, null, 21, 65, 85, 0, 160, 300, null, null],
|
||||
[0, "다해핑", null, 0, null, 19, 64, 86, 0, 160, 300, null, null],
|
||||
[0, "메모핑", null, 0, null, 22, 62, 88, 0, 160, 300, null, null],
|
||||
[0, "공쥬핑", null, 0, null, 18, 87, 63, 0, 160, 300, null, null],
|
||||
[0, "짝짝핑", null, 0, null, 24, 63, 84, 0, 160, 300, null, null],
|
||||
[0, "주네핑", null, 0, null, 17, 86, 66, 0, 160, 300, null, null],
|
||||
[0, "뚝딱핑", null, 0, null, 20, 85, 64, 0, 160, 300, null, null],
|
||||
[0, "발레핑", null, 0, null, 23, 61, 89, 0, 160, 300, null, null],
|
||||
[0, "원더핑", null, 0, null, 20, 88, 63, 0, 160, 300, null, null],
|
||||
[0, "시진핑", null, 0, null, 80, 90, 44, 0, 160, 300, null, null, "핑핑이 정부는 하나의 핑국을 확고히 주장하며 '두 개의 핑국'에 반대한다"],
|
||||
[0, "반도핑", null, 0, null, 71, 48, 97, 0, 160, 300, null, null],
|
||||
[0, "마휘핑", null, 0, null, 77, 45, 93, 0, 160, 300, null, null, "총 69명의 친구들이 아이들의 돈을 쓸어담아줍니다"],
|
||||
[0, "미아핑", null, 0, null, 73, 46, 96, 0, 160, 300, null, null],
|
||||
[0, "앵벌스", null, 0, "진류", 108, 117, 40, 0, 160, 300, "출세", "의술", "다람쥐는 위대하고 그 외에 다른 설치류는 없다"],
|
||||
[0, "앵드캡", null, 0, null, 72, 99, 47, 0, 160, 300, null, null, "내가 가는 길이 곧 재난이요"],
|
||||
[0, "야람쥐", null, 0, null, 91, 80, 49, 0, 160, 300, null, null],
|
||||
[0, "앵야호", null, 0, null, 73, 46, 97, 0, 160, 300, null, null],
|
||||
[0, "착한람쥐죽은람쥐", null, 0, null, 74, 96, 44, 0, 160, 300, null, null],
|
||||
[0, "호람쥐", null, 0, null, 73, 49, 95, 0, 160, 300, null, null, "호우~"],
|
||||
[0, "갤노트람쥐", null, 0, null, 79, 91, 41, 0, 160, 300, null, null, "초코송이"],
|
||||
[0, "아가다람쥐앵벌스", null, 0, null, 74, 96, 40, 0, 160, 300, null, null],
|
||||
[0, "머슬다람쥐", null, 0, null, 74, 96, 47, 0, 160, 300, null, null],
|
||||
[0, "다럼쥐", null, 0, null, 29, 94, 83, 0, 160, 300, null, null],
|
||||
[0, "앵날먹", null, 0, null, 32, 82, 96, 0, 160, 300, null, null],
|
||||
[0, "돌림쥐", null, 0, null, 73, 46, 96, 0, 160, 300, null, null],
|
||||
[0, "제갈람쥐", null, 0, null, 73, 44, 97, 0, 160, 300, null, null],
|
||||
[0, "앵람쥐", null, 0, null, 90, 79, 40, 0, 160, 300, null, null],
|
||||
[0, "1분장삭턴다람쥐", null, 0, null, 78, 43, 92, 0, 160, 300, null, null],
|
||||
[0, "거친다람쥐", null, 0, null, 77, 40, 93, 0, 160, 300, null, null],
|
||||
[0, "다림쥐", null, 0, null, 74, 42, 97, 0, 160, 300, null, null],
|
||||
[0, "디람쥐", null, 0, null, 78, 92, 44, 0, 160, 300, null, null],
|
||||
[0, "독구킬러다람쥐", null, 0, null, 75, 95, 45, 0, 160, 300, null, null],
|
||||
[0, "다람쥐", null, 0, null, 75, 45, 95, 0, 160, 300, null, null],
|
||||
[0, "다랍쥐", null, 0, null, 68, 39, 87, 0, 160, 300, null, null],
|
||||
[0, "아람쥐", null, 0, null, 80, 45, 90, 0, 160, 300, null, null, "앵버거 대성공"],
|
||||
[0, "독황상제", null, 0, "강주", 106, 45, 120, 0, 160, 300, "출세", "집중", "나는 나보다 약한 녀석의 명령 따위는 듣지 않는다"],
|
||||
[0, "갈근", null, 0, null, 72, 47, 98, 0, 160, 300, null, null],
|
||||
[0, "독 안에 든 쥐", null, 0, null, 72, 98, 45, 0, 160, 300, null, null],
|
||||
[0, "독개비", null, 0, null, 72, 98, 45, 0, 160, 300, null, null],
|
||||
[0, "독거노견", null, 0, null, 71, 99, 46, 0, 160, 300, null, null],
|
||||
[0, "독거노인", null, 0, null, 72, 45, 98, 0, 160, 300, null, null],
|
||||
[0, "독구", null, 0, null, 71, 46, 99, 0, 160, 300, null, null, "웃자 ^-^"],
|
||||
[0, "독널무덤", null, 0, null, 72, 98, 45, 0, 160, 300, null, null],
|
||||
[0, "독도는우리땅", null, 0, null, 73, 44, 97, 0, 160, 300, null, null],
|
||||
[0, "독립투견", null, 0, null, 73, 44, 97, 0, 160, 300, null, null],
|
||||
[0, "독멜른", null, 0, null, 73, 44, 97, 0, 160, 300, null, null],
|
||||
[0, "독무대", null, 0, null, 71, 99, 46, 0, 160, 300, null, null],
|
||||
[0, "독백", null, 0, null, 72, 45, 98, 0, 160, 300, null, null],
|
||||
[0, "독불장군", null, 0, null, 72, 45, 98, 0, 160, 300, null, null],
|
||||
[0, "독산 현령", null, 0, null, 72, 45, 98, 0, 160, 300, null, null],
|
||||
[0, "독산동", null, 0, null, 73, 44, 97, 0, 160, 300, null, null],
|
||||
[0, "독산출판", null, 0, null, 73, 44, 97, 0, 160, 300, null, null],
|
||||
[0, "독설가", null, 0, null, 72, 45, 98, 0, 160, 300, null, null],
|
||||
[0, "독신", null, 0, null, 71, 47, 99, 0, 160, 300, null, null],
|
||||
[0, "독심술사", null, 0, null, 71, 99, 46, 0, 160, 300, null, null],
|
||||
[0, "독악질", null, 0, null, 71, 99, 46, 0, 160, 300, null, null],
|
||||
[0, "독야청정", null, 0, null, 73, 97, 44, 0, 160, 300, null, null],
|
||||
[0, "독우", null, 0, null, 73, 97, 44, 0, 160, 300, null, null],
|
||||
[0, "독이 든 성배", null, 0, null, 71, 99, 46, 0, 160, 300, null, null],
|
||||
[0, "독재자", null, 0, null, 71, 46, 99, 0, 160, 300, null, null],
|
||||
[0, "독종", null, 0, null, 73, 97, 44, 0, 160, 300, null, null],
|
||||
[0, "독지가", null, 0, null, 71, 99, 46, 0, 160, 300, null, null],
|
||||
[0, "독지각", null, 0, null, 71, 99, 46, 0, 160, 300, null, null],
|
||||
[0, "독피자", null, 0, null, 74, 48, 96, 0, 160, 300, null, null],
|
||||
[0, "독해와 작문", null, 0, null, 73, 44, 97, 0, 160, 300, null, null],
|
||||
[0, "독식물", null, 0, null, 68, 83, 36, 0, 160, 300, null, null, "독식물키우세요"],
|
||||
[0, "천괴은", null, 0, "회계", 106, 117, 43, 0, 160, 300, "출세", "견고", "헤헤.."],
|
||||
[0, "천괴금", null, 0, null, 31, 88, 97, 0, 160, 300, null, null, "헤헤.."],
|
||||
[0, "천괴동", null, 0, null, 74, 96, 46, 0, 160, 300, null, null],
|
||||
[0, "천괴수", null, 0, null, 76, 94, 45, 0, 160, 300, null, null],
|
||||
[0, "천괴호우", null, 0, null, 77, 44, 93, 0, 160, 300, null, null],
|
||||
[0, "천괴코인", null, 0, null, 73, 97, 43, 0, 160, 300, null, null],
|
||||
[0, "천괴흙", null, 0, null, 78, 43, 92, 0, 160, 300, null, null],
|
||||
[0, "천괴다이아", null, 0, null, 76, 44, 94, 0, 160, 300, null, null],
|
||||
[0, "천괴옥", null, 0, null, 72, 47, 95, 0, 160, 300, null, null, "쓰레기는 쓰레기통에 넣어 주세요. 저도 같이요"],
|
||||
[0, "천고l금", null, 0, null, 37, 83, 95, 0, 160, 300, null, null]
|
||||
[0, "아회남", null, 0, null, 65, 74, 26, 0, 160, 300, null, null],
|
||||
[0, "이적", null, 0, null, 40, 24, 84, 0, 160, 300, null, null],
|
||||
[0, "윤상", null, 0, null, 51, 44, 62, 0, 160, 300, null, null],
|
||||
[0, "윤묵", null, 0, null, 26, 15, 66, 0, 160, 300, null, null],
|
||||
[0, "우금", null, 0, null, 85, 82, 62, 0, 160, 300, null, null],
|
||||
[0, "위관", null, 0, null, 69, 46, 79, 0, 160, 300, null, null],
|
||||
[0, "원윤", null, 0, null, 32, 14, 39, 0, 160, 300, null, null],
|
||||
[0, "원희", null, 0, null, 66, 43, 63, 0, 160, 300, null, null],
|
||||
[0, "염행", null, 0, null, 78, 90, 58, 0, 160, 300, null, null],
|
||||
[0, "염유", null, 0, null, 71, 50, 71, 0, 160, 300, null, null],
|
||||
[0, "원술", null, 0, null, 76, 55, 75, 0, 160, 300, null, null],
|
||||
[0, "원상", null, 0, null, 63, 75, 42, 0, 160, 300, null, null],
|
||||
[0, "원소", null, 0, null, 90, 62, 81, 0, 160, 300, null, null],
|
||||
[0, "염상", null, 0, null, 40, 27, 71, 0, 160, 300, null, null],
|
||||
[0, "원담", null, 0, null, 60, 78, 30, 0, 160, 300, null, null],
|
||||
[0, "염포", null, 0, null, 40, 25, 82, 0, 160, 300, null, null],
|
||||
[0, "왕위", null, 0, null, 60, 70, 48, 0, 160, 300, null, null],
|
||||
[0, "왕윤", null, 0, null, 26, 6, 68, 0, 160, 300, null, null],
|
||||
[0, "왕항", null, 0, null, 76, 43, 61, 0, 160, 300, null, null],
|
||||
[0, "왕찬", null, 0, null, 15, 3, 79, 0, 160, 300, null, null],
|
||||
[0, "왕수", null, 0, null, 54, 27, 77, 0, 160, 300, null, null],
|
||||
[0, "왕숙", null, 0, null, 36, 22, 76, 0, 160, 300, null, null],
|
||||
[0, "왕준", null, 0, null, 85, 64, 84, 0, 160, 300, null, null],
|
||||
[0, "왕쌍", null, 0, null, 67, 88, 19, 0, 160, 300, null, null],
|
||||
[0, "왕창", null, 0, null, 74, 57, 79, 0, 160, 300, null, null],
|
||||
[0, "왕평", null, 0, null, 88, 81, 61, 0, 160, 300, null, null],
|
||||
[0, "왕보", null, 0, null, 62, 41, 79, 0, 160, 300, null, null],
|
||||
[0, "왕문", null, 0, null, 65, 64, 31, 0, 160, 300, null, null],
|
||||
[0, "왕릉", null, 0, null, 74, 50, 71, 0, 160, 300, null, null],
|
||||
[0, "왕루", null, 0, null, 28, 30, 79, 0, 160, 300, null, null],
|
||||
[0, "왕랑", null, 0, null, 47, 35, 79, 0, 160, 300, null, null],
|
||||
[0, "온회", null, 0, null, 62, 36, 74, 0, 160, 300, null, null],
|
||||
[0, "하안", null, 0, null, 15, 30, 72, 0, 160, 300, null, null],
|
||||
[0, "괴월", null, 0, null, 50, 38, 85, 0, 160, 300, null, null],
|
||||
[0, "괴량", null, 0, null, 68, 33, 88, 0, 160, 300, null, null],
|
||||
[0, "가화", null, 0, null, 49, 65, 41, 0, 160, 300, null, null],
|
||||
[0, "가규", null, 0, null, 78, 61, 84, 0, 160, 300, null, null],
|
||||
[0, "하의", null, 0, null, 56, 69, 36, 0, 160, 300, null, null],
|
||||
[0, "화흠", null, 0, null, 51, 33, 88, 0, 160, 300, null, null],
|
||||
[0, "가후", null, 0, null, 71, 40, 98, 0, 160, 300, null, null],
|
||||
[0, "곽가", null, 0, null, 70, 41, 97, 0, 160, 300, null, null],
|
||||
[0, "악환", null, 0, null, 65, 80, 42, 0, 160, 300, null, null],
|
||||
[0, "곽사", null, 0, null, 64, 76, 13, 0, 160, 300, null, null],
|
||||
[0, "악취", null, 0, null, 53, 66, 61, 0, 160, 300, null, null],
|
||||
[0, "곽준", null, 0, null, 73, 52, 73, 0, 160, 300, null, null],
|
||||
[0, "학소", null, 0, null, 88, 63, 83, 0, 160, 300, null, null],
|
||||
[0, "악진", null, 0, null, 80, 85, 56, 0, 160, 300, null, null],
|
||||
[0, "곽도", null, 0, null, 62, 50, 82, 0, 160, 300, null, null],
|
||||
[0, "학맹", null, 0, null, 62, 67, 42, 0, 160, 300, null, null],
|
||||
[0, "곽유지", null, 0, null, 28, 9, 69, 0, 160, 300, null, null],
|
||||
[0, "곽익", null, 0, null, 73, 69, 69, 0, 160, 300, null, null],
|
||||
[0, "곽회", null, 0, null, 90, 66, 85, 0, 160, 300, null, null],
|
||||
[0, "하후위", null, 0, null, 71, 73, 49, 0, 160, 300, null, null],
|
||||
[0, "하후연", null, 0, null, 95, 92, 72, 0, 160, 300, null, null],
|
||||
[0, "하후은", null, 0, null, 63, 72, 53, 0, 160, 300, null, null],
|
||||
[0, "하후화", null, 0, null, 48, 51, 71, 0, 160, 300, null, null],
|
||||
[0, "하후혜", null, 0, null, 50, 44, 76, 0, 160, 300, null, null],
|
||||
[0, "하후현", null, 0, null, 54, 39, 76, 0, 160, 300, null, null],
|
||||
[0, "하후상", null, 0, null, 79, 55, 75, 0, 160, 300, null, null],
|
||||
[0, "하후덕", null, 0, null, 69, 73, 32, 0, 160, 300, null, null],
|
||||
[0, "하후돈", null, 0, null, 91, 88, 68, 0, 160, 300, null, null],
|
||||
[0, "하후패", null, 0, null, 79, 85, 63, 0, 160, 300, null, null],
|
||||
[0, "하후무", null, 0, null, 20, 7, 4, 0, 160, 300, null, null],
|
||||
[0, "가충", null, 0, null, 54, 31, 89, 0, 160, 300, null, null],
|
||||
[0, "하진", null, 0, null, 68, 54, 75, 0, 160, 300, null, null],
|
||||
[0, "화웅", null, 0, null, 78, 90, 55, 0, 160, 300, null, null],
|
||||
[0, "한윤", null, 0, null, 26, 29, 65, 0, 160, 300, null, null],
|
||||
[0, "관우", null, 0, null, 96, 99, 76, 0, 160, 300, null, null],
|
||||
[0, "환계", null, 0, null, 25, 26, 68, 0, 160, 300, null, null],
|
||||
[0, "관해", null, 0, null, 70, 82, 10, 0, 160, 300, null, null],
|
||||
[0, "관구검", null, 0, null, 84, 86, 62, 0, 160, 300, null, null],
|
||||
[0, "한현", null, 0, null, 22, 33, 7, 0, 160, 300, null, null],
|
||||
[0, "한호", null, 0, null, 73, 61, 84, 0, 160, 300, null, null],
|
||||
[0, "관흥", null, 0, null, 76, 84, 62, 0, 160, 300, null, null],
|
||||
[0, "관색", null, 0, null, 74, 83, 56, 0, 160, 300, null, null],
|
||||
[0, "한수", null, 0, null, 78, 58, 79, 0, 160, 300, null, null],
|
||||
[0, "한숭", null, 0, null, 25, 15, 71, 0, 160, 300, null, null],
|
||||
[0, "관정", null, 0, null, 36, 52, 73, 0, 160, 300, null, null],
|
||||
[0, "한섬", null, 0, null, 69, 66, 36, 0, 160, 300, null, null],
|
||||
[0, "감택", null, 0, null, 51, 49, 83, 0, 160, 300, null, null],
|
||||
[0, "한충", null, 0, null, 64, 67, 18, 0, 160, 300, null, null],
|
||||
[0, "한당", null, 0, null, 76, 85, 61, 0, 160, 300, null, null],
|
||||
[0, "한덕", null, 0, null, 63, 76, 25, 0, 160, 300, null, null],
|
||||
[0, "감녕", null, 0, null, 92, 95, 74, 0, 160, 300, null, null],
|
||||
[0, "한복", null, 0, null, 28, 3, 27, 0, 160, 300, null, null],
|
||||
[0, "관평", null, 0, null, 78, 82, 60, 0, 160, 300, null, null],
|
||||
[0, "간옹", null, 0, null, 20, 32, 75, 0, 160, 300, null, null],
|
||||
[0, "안량", null, 0, null, 88, 96, 43, 0, 160, 300, null, null],
|
||||
[0, "위연", null, 0, null, 91, 90, 70, 0, 160, 300, null, null],
|
||||
[0, "국의", null, 0, null, 84, 78, 51, 0, 160, 300, null, null],
|
||||
[0, "희지재", null, 0, null, 63, 35, 91, 0, 160, 300, null, null],
|
||||
[0, "위속", null, 0, null, 67, 78, 31, 0, 160, 300, null, null],
|
||||
[0, "위유", null, 0, null, 46, 29, 74, 0, 160, 300, null, null],
|
||||
[0, "우금2", null, 0, null, 72, 79, 38, 0, 160, 300, null, null],
|
||||
[0, "우보", null, 0, null, 38, 60, 21, 0, 160, 300, null, null],
|
||||
[0, "강유", null, 0, null, 92, 72, 93, 0, 160, 300, null, null],
|
||||
[0, "공지", null, 0, null, 43, 53, 62, 0, 160, 300, null, null],
|
||||
[0, "교유", null, 0, null, 64, 69, 38, 0, 160, 300, null, null],
|
||||
[0, "공도", null, 0, null, 59, 70, 23, 0, 160, 300, null, null],
|
||||
[0, "허공", null, 0, null, 44, 66, 64, 0, 160, 300, null, null],
|
||||
[0, "허정", null, 0, null, 23, 5, 68, 0, 160, 300, null, null],
|
||||
[0, "허저", null, 0, null, 74, 97, 36, 0, 160, 300, null, null],
|
||||
[0, "허유", null, 0, null, 36, 21, 80, 0, 160, 300, null, null],
|
||||
[0, "기령", null, 0, null, 85, 84, 51, 0, 160, 300, null, null],
|
||||
[0, "김의", null, 0, null, 32, 38, 65, 0, 160, 300, null, null],
|
||||
[0, "김배삼결", null, 0, null, 64, 76, 19, 0, 160, 300, null, null],
|
||||
[0, "김선", null, 0, null, 52, 68, 13, 0, 160, 300, null, null],
|
||||
[0, "우번", null, 0, null, 46, 46, 87, 0, 160, 300, null, null],
|
||||
[0, "형도영", null, 0, null, 69, 79, 41, 0, 160, 300, null, null],
|
||||
[0, "엄안", null, 0, null, 82, 83, 62, 0, 160, 300, null, null],
|
||||
[0, "엄망", null, 0, null, 68, 71, 40, 0, 160, 300, null, null],
|
||||
[0, "엄준", null, 0, null, 41, 12, 71, 0, 160, 300, null, null],
|
||||
[0, "엄정", null, 0, null, 50, 55, 39, 0, 160, 300, null, null],
|
||||
[0, "엄백호", null, 0, null, 67, 70, 42, 0, 160, 300, null, null],
|
||||
[0, "엄여", null, 0, null, 61, 78, 44, 0, 160, 300, null, null],
|
||||
[0, "오의", null, 0, null, 79, 73, 53, 0, 160, 300, null, null],
|
||||
[0, "황개", null, 0, null, 80, 86, 64, 0, 160, 300, null, null],
|
||||
[0, "고간", null, 0, null, 74, 56, 38, 0, 160, 300, null, null],
|
||||
[0, "황권", null, 0, null, 75, 59, 88, 0, 160, 300, null, null],
|
||||
[0, "고유", null, 0, null, 57, 43, 72, 0, 160, 300, null, null],
|
||||
[0, "고순", null, 0, null, 87, 89, 60, 0, 160, 300, null, null],
|
||||
[0, "고상", null, 0, null, 68, 68, 53, 0, 160, 300, null, null],
|
||||
[0, "고승", null, 0, null, 67, 73, 41, 0, 160, 300, null, null],
|
||||
[0, "후성", null, 0, null, 74, 75, 54, 0, 160, 300, null, null],
|
||||
[0, "후선", null, 0, null, 63, 66, 34, 0, 160, 300, null, null],
|
||||
[0, "황조", null, 0, null, 81, 66, 48, 0, 160, 300, null, null],
|
||||
[0, "공손월", null, 0, null, 74, 72, 47, 0, 160, 300, null, null],
|
||||
[0, "공손연", null, 0, null, 65, 70, 49, 0, 160, 300, null, null],
|
||||
[0, "공손공", null, 0, null, 39, 17, 69, 0, 160, 300, null, null],
|
||||
[0, "공손강", null, 0, null, 72, 66, 46, 0, 160, 300, null, null],
|
||||
[0, "공손찬", null, 0, null, 86, 82, 62, 0, 160, 300, null, null],
|
||||
[0, "공손속", null, 0, null, 63, 68, 46, 0, 160, 300, null, null],
|
||||
[0, "공손도", null, 0, null, 67, 71, 49, 0, 160, 300, null, null],
|
||||
[0, "공손범", null, 0, null, 73, 69, 49, 0, 160, 300, null, null],
|
||||
[0, "황충", null, 0, null, 88, 96, 65, 0, 160, 300, null, null],
|
||||
[0, "고정", null, 0, null, 55, 63, 43, 0, 160, 300, null, null],
|
||||
[0, "고패", null, 0, null, 66, 48, 69, 0, 160, 300, null, null],
|
||||
[0, "황보숭", null, 0, null, 91, 61, 82, 0, 160, 300, null, null],
|
||||
[0, "공융", null, 0, null, 30, 5, 73, 0, 160, 300, null, null],
|
||||
[0, "고람", null, 0, null, 76, 82, 60, 0, 160, 300, null, null],
|
||||
[0, "오경", null, 0, null, 69, 66, 45, 0, 160, 300, null, null],
|
||||
[0, "호거아", null, 0, null, 70, 82, 41, 0, 160, 300, null, null],
|
||||
[0, "호진", null, 0, null, 65, 74, 12, 0, 160, 300, null, null],
|
||||
[0, "올돌골", null, 0, null, 79, 86, 11, 0, 160, 300, null, null],
|
||||
[0, "호반", null, 0, null, 55, 55, 59, 0, 160, 300, null, null],
|
||||
[0, "오반", null, 0, null, 74, 71, 50, 0, 160, 300, null, null],
|
||||
[0, "고옹", null, 0, null, 52, 18, 81, 0, 160, 300, null, null],
|
||||
[0, "오란", null, 0, null, 68, 80, 35, 0, 160, 300, null, null],
|
||||
[0, "채화", null, 0, null, 39, 50, 1, 0, 160, 300, null, null],
|
||||
[0, "채중", null, 0, null, 40, 54, 2, 0, 160, 300, null, null],
|
||||
[0, "채모", null, 0, null, 70, 55, 77, 0, 160, 300, null, null],
|
||||
[0, "착융", null, 0, null, 60, 69, 38, 0, 160, 300, null, null],
|
||||
[0, "사마의", null, 0, null, 99, 63, 98, 0, 160, 300, null, null],
|
||||
[0, "사마염", null, 0, null, 69, 59, 77, 0, 160, 300, null, null],
|
||||
[0, "사마사", null, 0, null, 84, 64, 89, 0, 160, 300, null, null],
|
||||
[0, "사마소", null, 0, null, 85, 57, 88, 0, 160, 300, null, null],
|
||||
[0, "사마부", null, 0, null, 70, 37, 77, 0, 160, 300, null, null],
|
||||
[0, "사마랑", null, 0, null, 20, 21, 72, 0, 160, 300, null, null],
|
||||
[0, "사마가", null, 0, null, 66, 84, 25, 0, 160, 300, null, null],
|
||||
[0, "주흔", null, 0, null, 65, 51, 73, 0, 160, 300, null, null],
|
||||
[0, "주앙", null, 0, null, 74, 65, 48, 0, 160, 300, null, null],
|
||||
[0, "주지", null, 0, null, 73, 85, 41, 0, 160, 300, null, null],
|
||||
[0, "주창", null, 0, null, 68, 77, 42, 0, 160, 300, null, null],
|
||||
[0, "주태", null, 0, null, 84, 90, 48, 0, 160, 300, null, null],
|
||||
[0, "주방", null, 0, null, 52, 41, 80, 0, 160, 300, null, null],
|
||||
[0, "주유", null, 0, null, 97, 71, 97, 0, 160, 300, null, null],
|
||||
[0, "주환", null, 0, null, 87, 84, 64, 0, 160, 300, null, null],
|
||||
[0, "주거", null, 0, null, 77, 57, 72, 0, 160, 300, null, null],
|
||||
[0, "축융", null, 0, null, 72, 75, 35, 0, 160, 300, null, null],
|
||||
[0, "주준", null, 0, null, 89, 57, 76, 0, 160, 300, null, null],
|
||||
[0, "주연", null, 0, null, 86, 75, 57, 0, 160, 300, null, null],
|
||||
[0, "주치", null, 0, null, 71, 56, 72, 0, 160, 300, null, null],
|
||||
[0, "주포", null, 0, null, 68, 73, 34, 0, 160, 300, null, null],
|
||||
[0, "주령", null, 0, null, 78, 73, 53, 0, 160, 300, null, null],
|
||||
[0, "순욱", null, 0, null, 78, 38, 97, 0, 160, 300, null, null],
|
||||
[0, "순우경", null, 0, null, 78, 66, 29, 0, 160, 300, null, null],
|
||||
[0, "순심", null, 0, null, 45, 25, 78, 0, 160, 300, null, null],
|
||||
[0, "순유", null, 0, null, 80, 35, 95, 0, 160, 300, null, null],
|
||||
[0, "장완", null, 0, null, 78, 34, 89, 0, 160, 300, null, null],
|
||||
[0, "종회", null, 0, null, 88, 62, 93, 0, 160, 300, null, null],
|
||||
[0, "장간", null, 0, null, 19, 6, 66, 0, 160, 300, null, null],
|
||||
[0, "장의거", null, 0, null, 71, 41, 59, 0, 160, 300, null, null],
|
||||
[0, "장흠", null, 0, null, 78, 85, 54, 0, 160, 300, null, null],
|
||||
[0, "장제3", null, 0, null, 62, 43, 85, 0, 160, 300, null, null],
|
||||
[0, "초주", null, 0, null, 16, 3, 67, 0, 160, 300, null, null],
|
||||
[0, "초촉", null, 0, null, 65, 76, 33, 0, 160, 300, null, null],
|
||||
[0, "향총", null, 0, null, 76, 56, 77, 0, 160, 300, null, null],
|
||||
[0, "종요", null, 0, null, 79, 24, 90, 0, 160, 300, null, null],
|
||||
[0, "향랑", null, 0, null, 28, 18, 74, 0, 160, 300, null, null],
|
||||
[0, "서영", null, 0, null, 92, 80, 62, 0, 160, 300, null, null],
|
||||
[0, "제갈각", null, 0, null, 72, 47, 90, 0, 160, 300, null, null],
|
||||
[0, "제갈근", null, 0, null, 75, 34, 85, 0, 160, 300, null, null],
|
||||
[0, "제갈균", null, 0, null, 29, 25, 52, 0, 160, 300, null, null],
|
||||
[0, "제갈탄", null, 0, null, 72, 54, 76, 0, 160, 300, null, null],
|
||||
[0, "제갈량", null, 0, null, 98, 43, 100, 0, 160, 300, null, null],
|
||||
[0, "서황", null, 0, null, 95, 94, 74, 0, 160, 300, null, null],
|
||||
[0, "서서", null, 0, null, 85, 64, 94, 0, 160, 300, null, null],
|
||||
[0, "서성", null, 0, null, 86, 81, 61, 0, 160, 300, null, null],
|
||||
[0, "서막", null, 0, null, 55, 32, 68, 0, 160, 300, null, null],
|
||||
[0, "신의", null, 0, null, 55, 59, 60, 0, 160, 300, null, null],
|
||||
[0, "신탐", null, 0, null, 56, 62, 54, 0, 160, 300, null, null],
|
||||
[0, "심배", null, 0, null, 80, 60, 84, 0, 160, 300, null, null],
|
||||
[0, "신비", null, 0, null, 42, 24, 79, 0, 160, 300, null, null],
|
||||
[0, "신평", null, 0, null, 69, 43, 77, 0, 160, 300, null, null],
|
||||
[0, "진복", null, 0, null, 31, 7, 73, 0, 160, 300, null, null],
|
||||
[0, "진랑", null, 0, null, 58, 70, 35, 0, 160, 300, null, null],
|
||||
[0, "휴고", null, 0, null, 63, 71, 38, 0, 160, 300, null, null],
|
||||
[0, "추단", null, 0, null, 61, 64, 34, 0, 160, 300, null, null],
|
||||
[0, "성의", null, 0, null, 74, 72, 41, 0, 160, 300, null, null],
|
||||
[0, "성공영", null, 0, null, 73, 58, 80, 0, 160, 300, null, null],
|
||||
[0, "설종", null, 0, null, 34, 16, 73, 0, 160, 300, null, null],
|
||||
[0, "단경", null, 0, null, 71, 68, 43, 0, 160, 300, null, null],
|
||||
[0, "전종", null, 0, null, 78, 55, 75, 0, 160, 300, null, null],
|
||||
[0, "조예", null, 0, null, 72, 52, 82, 0, 160, 300, null, null],
|
||||
[0, "조휴", null, 0, null, 84, 78, 58, 0, 160, 300, null, null],
|
||||
[0, "송헌", null, 0, null, 68, 77, 38, 0, 160, 300, null, null],
|
||||
[0, "조앙", null, 0, null, 78, 50, 69, 0, 160, 300, null, null],
|
||||
[0, "조홍", null, 0, null, 80, 75, 55, 0, 160, 300, null, null],
|
||||
[0, "조순", null, 0, null, 85, 83, 63, 0, 160, 300, null, null],
|
||||
[0, "조창", null, 0, null, 86, 91, 59, 0, 160, 300, null, null],
|
||||
[0, "조식", null, 0, null, 45, 22, 86, 0, 160, 300, null, null],
|
||||
[0, "조진", null, 0, null, 88, 74, 56, 0, 160, 300, null, null],
|
||||
[0, "조인", null, 0, null, 94, 90, 70, 0, 160, 300, null, null],
|
||||
[0, "조성", null, 0, null, 54, 74, 38, 0, 160, 300, null, null],
|
||||
[0, "조조", null, 0, null, 100, 72, 96, 0, 160, 300, null, null],
|
||||
[0, "조충", null, 0, null, 43, 21, 74, 0, 160, 300, null, null],
|
||||
[0, "장패", null, 0, null, 78, 86, 53, 0, 160, 300, null, null],
|
||||
[0, "조비", null, 0, null, 75, 64, 87, 0, 160, 300, null, null],
|
||||
[0, "조표", null, 0, null, 54, 69, 32, 0, 160, 300, null, null],
|
||||
[0, "저수", null, 0, null, 86, 46, 95, 0, 160, 300, null, null],
|
||||
[0, "소비", null, 0, null, 69, 45, 66, 0, 160, 300, null, null],
|
||||
[0, "조무", null, 0, null, 70, 71, 50, 0, 160, 300, null, null],
|
||||
[0, "손환", null, 0, null, 82, 56, 76, 0, 160, 300, null, null],
|
||||
[0, "손견", null, 0, null, 94, 95, 73, 0, 160, 300, null, null],
|
||||
[0, "손건", null, 0, null, 44, 33, 79, 0, 160, 300, null, null],
|
||||
[0, "손권", null, 0, null, 86, 61, 81, 0, 160, 300, null, null],
|
||||
[0, "손교", null, 0, null, 77, 72, 52, 0, 160, 300, null, null],
|
||||
[0, "손책", null, 0, null, 93, 94, 74, 0, 160, 300, null, null],
|
||||
[0, "손소", null, 0, null, 82, 79, 59, 0, 160, 300, null, null],
|
||||
[0, "손정", null, 0, null, 66, 53, 73, 0, 160, 300, null, null],
|
||||
[0, "손중", null, 0, null, 62, 71, 36, 0, 160, 300, null, null],
|
||||
[0, "손등", null, 0, null, 62, 37, 79, 0, 160, 300, null, null],
|
||||
[0, "손유", null, 0, null, 77, 70, 51, 0, 160, 300, null, null],
|
||||
[0, "손익", null, 0, null, 67, 83, 27, 0, 160, 300, null, null],
|
||||
[0, "손례", null, 0, null, 78, 81, 59, 0, 160, 300, null, null],
|
||||
[0, "태사자", null, 0, null, 94, 94, 72, 0, 160, 300, null, null],
|
||||
[0, "대래동주", null, 0, null, 51, 53, 54, 0, 160, 300, null, null],
|
||||
[0, "대릉", null, 0, null, 70, 75, 39, 0, 160, 300, null, null],
|
||||
[0, "타사대왕", null, 0, null, 62, 48, 70, 0, 160, 300, null, null],
|
||||
[0, "담웅", null, 0, null, 58, 73, 14, 0, 160, 300, null, null],
|
||||
[0, "장윤", null, 0, null, 72, 67, 42, 0, 160, 300, null, null],
|
||||
[0, "조운", null, 0, null, 90, 96, 75, 0, 160, 300, null, null],
|
||||
[0, "장위", null, 0, null, 74, 66, 45, 0, 160, 300, null, null],
|
||||
[0, "장영", null, 0, null, 75, 74, 41, 0, 160, 300, null, null],
|
||||
[0, "장연", null, 0, null, 76, 81, 57, 0, 160, 300, null, null],
|
||||
[0, "장횡", null, 0, null, 59, 70, 23, 0, 160, 300, null, null],
|
||||
[0, "장온", null, 0, null, 32, 10, 72, 0, 160, 300, null, null],
|
||||
[0, "장개", null, 0, null, 34, 66, 8, 0, 160, 300, null, null],
|
||||
[0, "장각", null, 0, null, 87, 35, 90, 0, 160, 300, null, null],
|
||||
[0, "장기", null, 0, null, 74, 35, 76, 0, 160, 300, null, null],
|
||||
[0, "장의", null, 0, null, 79, 55, 75, 0, 160, 300, null, null],
|
||||
[0, "장훈", null, 0, null, 72, 68, 41, 0, 160, 300, null, null],
|
||||
[0, "장굉", null, 0, null, 24, 22, 86, 0, 160, 300, null, null],
|
||||
[0, "장합", null, 0, null, 92, 89, 69, 0, 160, 300, null, null],
|
||||
[0, "조홍2", null, 0, null, 66, 72, 28, 0, 160, 300, null, null],
|
||||
[0, "장제2", null, 0, null, 70, 66, 46, 0, 160, 300, null, null],
|
||||
[0, "장수", null, 0, null, 80, 73, 51, 0, 160, 300, null, null],
|
||||
[0, "장소", null, 0, null, 41, 13, 87, 0, 160, 300, null, null],
|
||||
[0, "장송", null, 0, null, 40, 6, 85, 0, 160, 300, null, null],
|
||||
[0, "장임", null, 0, null, 85, 84, 64, 0, 160, 300, null, null],
|
||||
[0, "장제", null, 0, null, 67, 43, 80, 0, 160, 300, null, null],
|
||||
[0, "장막", null, 0, null, 52, 53, 71, 0, 160, 300, null, null],
|
||||
[0, "조범", null, 0, null, 28, 21, 32, 0, 160, 300, null, null],
|
||||
[0, "장비", null, 0, null, 87, 98, 72, 0, 160, 300, null, null],
|
||||
[0, "장포", null, 0, null, 78, 84, 48, 0, 160, 300, null, null],
|
||||
[0, "장보", null, 0, null, 83, 60, 81, 0, 160, 300, null, null],
|
||||
[0, "장만성", null, 0, null, 75, 81, 45, 0, 160, 300, null, null],
|
||||
[0, "장양", null, 0, null, 72, 70, 50, 0, 160, 300, null, null],
|
||||
[0, "장익", null, 0, null, 75, 55, 76, 0, 160, 300, null, null],
|
||||
[0, "장료", null, 0, null, 96, 94, 74, 0, 160, 300, null, null],
|
||||
[0, "장량", null, 0, null, 78, 80, 59, 0, 160, 300, null, null],
|
||||
[0, "조루", null, 0, null, 70, 43, 68, 0, 160, 300, null, null],
|
||||
[0, "장로", null, 0, null, 65, 42, 81, 0, 160, 300, null, null],
|
||||
[0, "진횡", null, 0, null, 64, 63, 26, 0, 160, 300, null, null],
|
||||
[0, "진응", null, 0, null, 62, 72, 45, 0, 160, 300, null, null],
|
||||
[0, "진기", null, 0, null, 58, 65, 43, 0, 160, 300, null, null],
|
||||
[0, "진궁", null, 0, null, 84, 55, 90, 0, 160, 300, null, null],
|
||||
[0, "진교", null, 0, null, 61, 27, 77, 0, 160, 300, null, null],
|
||||
[0, "진군", null, 0, null, 32, 14, 75, 0, 160, 300, null, null],
|
||||
[0, "진규", null, 0, null, 30, 4, 82, 0, 160, 300, null, null],
|
||||
[0, "진식", null, 0, null, 70, 71, 25, 0, 160, 300, null, null],
|
||||
[0, "진진", null, 0, null, 46, 46, 69, 0, 160, 300, null, null],
|
||||
[0, "진태", null, 0, null, 86, 68, 89, 0, 160, 300, null, null],
|
||||
[0, "진등", null, 0, null, 79, 59, 81, 0, 160, 300, null, null],
|
||||
[0, "진도", null, 0, null, 82, 78, 58, 0, 160, 300, null, null],
|
||||
[0, "진무", null, 0, null, 76, 87, 43, 0, 160, 300, null, null],
|
||||
[0, "진란", null, 0, null, 66, 69, 40, 0, 160, 300, null, null],
|
||||
[0, "진림", null, 0, null, 25, 9, 75, 0, 160, 300, null, null],
|
||||
[0, "정욱", null, 0, null, 76, 49, 94, 0, 160, 300, null, null],
|
||||
[0, "정원지", null, 0, null, 69, 74, 17, 0, 160, 300, null, null],
|
||||
[0, "정은", null, 0, null, 69, 73, 40, 0, 160, 300, null, null],
|
||||
[0, "정원", null, 0, null, 70, 76, 35, 0, 160, 300, null, null],
|
||||
[0, "정보", null, 0, null, 84, 79, 59, 0, 160, 300, null, null],
|
||||
[0, "정봉", null, 0, null, 81, 92, 69, 0, 160, 300, null, null],
|
||||
[0, "전위", null, 0, null, 79, 98, 42, 0, 160, 300, null, null],
|
||||
[0, "전해", null, 0, null, 68, 65, 45, 0, 160, 300, null, null],
|
||||
[0, "전주", null, 0, null, 66, 51, 73, 0, 160, 300, null, null],
|
||||
[0, "전풍", null, 0, null, 82, 43, 96, 0, 160, 300, null, null],
|
||||
[0, "전예", null, 0, null, 93, 85, 66, 0, 160, 300, null, null],
|
||||
[0, "동윤", null, 0, null, 47, 28, 79, 0, 160, 300, null, null],
|
||||
[0, "동화", null, 0, null, 57, 34, 75, 0, 160, 300, null, null],
|
||||
[0, "등애", null, 0, null, 92, 73, 94, 0, 160, 300, null, null],
|
||||
[0, "도겸", null, 0, null, 51, 27, 64, 0, 160, 300, null, null],
|
||||
[0, "등현", null, 0, null, 61, 73, 45, 0, 160, 300, null, null],
|
||||
[0, "등지", null, 0, null, 73, 52, 81, 0, 160, 300, null, null],
|
||||
[0, "동습", null, 0, null, 72, 85, 50, 0, 160, 300, null, null],
|
||||
[0, "동승", null, 0, null, 56, 53, 65, 0, 160, 300, null, null],
|
||||
[0, "동소", null, 0, null, 34, 25, 80, 0, 160, 300, null, null],
|
||||
[0, "동탁", null, 0, null, 91, 87, 67, 0, 160, 300, null, null],
|
||||
[0, "동도나", null, 0, null, 68, 73, 31, 0, 160, 300, null, null],
|
||||
[0, "동민", null, 0, null, 49, 60, 25, 0, 160, 300, null, null],
|
||||
[0, "등무", null, 0, null, 61, 75, 29, 0, 160, 300, null, null],
|
||||
[0, "두기", null, 0, null, 74, 43, 78, 0, 160, 300, null, null],
|
||||
[0, "두예", null, 0, null, 96, 69, 95, 0, 160, 300, null, null],
|
||||
[0, "배원소", null, 0, null, 49, 65, 25, 0, 160, 300, null, null],
|
||||
[0, "마완", null, 0, null, 71, 74, 16, 0, 160, 300, null, null],
|
||||
[0, "마휴", null, 0, null, 68, 73, 48, 0, 160, 300, null, null],
|
||||
[0, "파재", null, 0, null, 74, 74, 55, 0, 160, 300, null, null],
|
||||
[0, "마준", null, 0, null, 38, 52, 31, 0, 160, 300, null, null],
|
||||
[0, "마속", null, 0, null, 61, 59, 84, 0, 160, 300, null, null],
|
||||
[0, "마대", null, 0, null, 79, 85, 62, 0, 160, 300, null, null],
|
||||
[0, "마충", null, 0, null, 78, 72, 52, 0, 160, 300, null, null],
|
||||
[0, "마초", null, 0, null, 86, 97, 44, 0, 160, 300, null, null],
|
||||
[0, "마철", null, 0, null, 70, 62, 43, 0, 160, 300, null, null],
|
||||
[0, "마등", null, 0, null, 85, 80, 52, 0, 160, 300, null, null],
|
||||
[0, "마량", null, 0, null, 53, 23, 85, 0, 160, 300, null, null],
|
||||
[0, "반준", null, 0, null, 61, 46, 82, 0, 160, 300, null, null],
|
||||
[0, "반장", null, 0, null, 76, 80, 59, 0, 160, 300, null, null],
|
||||
[0, "번조", null, 0, null, 66, 73, 31, 0, 160, 300, null, null],
|
||||
[0, "번능", null, 0, null, 69, 61, 36, 0, 160, 300, null, null],
|
||||
[0, "반봉", null, 0, null, 56, 77, 4, 0, 160, 300, null, null],
|
||||
[0, "비의", null, 0, null, 82, 56, 88, 0, 160, 300, null, null],
|
||||
[0, "비연", null, 0, null, 60, 66, 21, 0, 160, 300, null, null],
|
||||
[0, "비시", null, 0, null, 18, 28, 65, 0, 160, 300, null, null],
|
||||
[0, "미축", null, 0, null, 33, 29, 78, 0, 160, 300, null, null],
|
||||
[0, "미방", null, 0, null, 54, 61, 32, 0, 160, 300, null, null],
|
||||
[0, "비요", null, 0, null, 70, 52, 73, 0, 160, 300, null, null],
|
||||
[0, "무안국", null, 0, null, 70, 79, 34, 0, 160, 300, null, null],
|
||||
[0, "풍습", null, 0, null, 72, 71, 39, 0, 160, 300, null, null],
|
||||
[0, "부사인", null, 0, null, 46, 63, 37, 0, 160, 300, null, null],
|
||||
[0, "부첨", null, 0, null, 73, 85, 62, 0, 160, 300, null, null],
|
||||
[0, "부손", null, 0, null, 29, 13, 70, 0, 160, 300, null, null],
|
||||
[0, "문앙", null, 0, null, 76, 96, 65, 0, 160, 300, null, null],
|
||||
[0, "문흠", null, 0, null, 74, 79, 43, 0, 160, 300, null, null],
|
||||
[0, "문추", null, 0, null, 87, 95, 49, 0, 160, 300, null, null],
|
||||
[0, "문빙", null, 0, null, 88, 85, 65, 0, 160, 300, null, null],
|
||||
[0, "변희", null, 0, null, 56, 70, 62, 0, 160, 300, null, null],
|
||||
[0, "망아장", null, 0, null, 45, 79, 3, 0, 160, 300, null, null],
|
||||
[0, "봉기", null, 0, null, 56, 48, 84, 0, 160, 300, null, null],
|
||||
[0, "방희", null, 0, null, 60, 38, 69, 0, 160, 300, null, null],
|
||||
[0, "법정", null, 0, null, 82, 47, 94, 0, 160, 300, null, null],
|
||||
[0, "방통", null, 0, null, 79, 34, 97, 0, 160, 300, null, null],
|
||||
[0, "방덕", null, 0, null, 89, 94, 70, 0, 160, 300, null, null],
|
||||
[0, "포륭", null, 0, null, 58, 76, 49, 0, 160, 300, null, null],
|
||||
[0, "목순", null, 0, null, 52, 77, 11, 0, 160, 300, null, null],
|
||||
[0, "목록대왕", null, 0, null, 65, 71, 39, 0, 160, 300, null, null],
|
||||
[0, "보즐", null, 0, null, 83, 51, 81, 0, 160, 300, null, null],
|
||||
[0, "만총", null, 0, null, 88, 64, 87, 0, 160, 300, null, null],
|
||||
[0, "모개", null, 0, null, 63, 39, 60, 0, 160, 300, null, null],
|
||||
[0, "맹획", null, 0, null, 81, 88, 42, 0, 160, 300, null, null],
|
||||
[0, "맹체", null, 0, null, 75, 55, 75, 0, 160, 300, null, null],
|
||||
[0, "맹우", null, 0, null, 50, 68, 22, 0, 160, 300, null, null],
|
||||
[0, "유섭", null, 0, null, 62, 79, 24, 0, 160, 300, null, null],
|
||||
[0, "양부", null, 0, null, 62, 48, 68, 0, 160, 300, null, null],
|
||||
[0, "옹개", null, 0, null, 73, 75, 57, 0, 160, 300, null, null],
|
||||
[0, "양의", null, 0, null, 68, 40, 82, 0, 160, 300, null, null],
|
||||
[0, "양호", null, 0, null, 94, 69, 92, 0, 160, 300, null, null],
|
||||
[0, "양홍", null, 0, null, 33, 15, 77, 0, 160, 300, null, null],
|
||||
[0, "양앙", null, 0, null, 68, 72, 38, 0, 160, 300, null, null],
|
||||
[0, "양추", null, 0, null, 52, 65, 40, 0, 160, 300, null, null],
|
||||
[0, "양수", null, 0, null, 46, 23, 83, 0, 160, 300, null, null],
|
||||
[0, "양추2", null, 0, null, 67, 64, 44, 0, 160, 300, null, null],
|
||||
[0, "양송", null, 0, null, 17, 5, 28, 0, 160, 300, null, null],
|
||||
[0, "양임", null, 0, null, 70, 78, 56, 0, 160, 300, null, null],
|
||||
[0, "양조", null, 0, null, 53, 61, 36, 0, 160, 300, null, null],
|
||||
[0, "양백", null, 0, null, 44, 45, 19, 0, 160, 300, null, null],
|
||||
[0, "양부2", null, 0, null, 67, 50, 83, 0, 160, 300, null, null],
|
||||
[0, "양봉", null, 0, null, 66, 65, 31, 0, 160, 300, null, null],
|
||||
[0, "양봉2", null, 0, null, 54, 62, 53, 0, 160, 300, null, null],
|
||||
[0, "뇌동", null, 0, null, 69, 78, 51, 0, 160, 300, null, null],
|
||||
[0, "뇌박", null, 0, null, 62, 70, 36, 0, 160, 300, null, null],
|
||||
[0, "이이", null, 0, null, 63, 77, 19, 0, 160, 300, null, null],
|
||||
[0, "이회", null, 0, null, 79, 58, 79, 0, 160, 300, null, null],
|
||||
[0, "이각", null, 0, null, 69, 72, 24, 0, 160, 300, null, null],
|
||||
[0, "육항", null, 0, null, 94, 68, 93, 0, 160, 300, null, null],
|
||||
[0, "육적", null, 0, null, 20, 7, 72, 0, 160, 300, null, null],
|
||||
[0, "육손", null, 0, null, 95, 71, 96, 0, 160, 300, null, null],
|
||||
[0, "이엄", null, 0, null, 83, 84, 63, 0, 160, 300, null, null],
|
||||
[0, "이유", null, 0, null, 61, 26, 93, 0, 160, 300, null, null],
|
||||
[0, "이숙", null, 0, null, 46, 69, 61, 0, 160, 300, null, null],
|
||||
[0, "이통", null, 0, null, 73, 81, 62, 0, 160, 300, null, null],
|
||||
[0, "이전", null, 0, null, 78, 80, 59, 0, 160, 300, null, null],
|
||||
[0, "이풍", null, 0, null, 69, 74, 50, 0, 160, 300, null, null],
|
||||
[0, "유언", null, 0, null, 61, 38, 80, 0, 160, 300, null, null],
|
||||
[0, "유괴", null, 0, null, 71, 73, 52, 0, 160, 300, null, null],
|
||||
[0, "유기", null, 0, null, 52, 12, 63, 0, 160, 300, null, null],
|
||||
[0, "유우", null, 0, null, 62, 33, 75, 0, 160, 300, null, null],
|
||||
[0, "유훈", null, 0, null, 47, 63, 35, 0, 160, 300, null, null],
|
||||
[0, "유현", null, 0, null, 54, 66, 51, 0, 160, 300, null, null],
|
||||
[0, "유순", null, 0, null, 63, 46, 28, 0, 160, 300, null, null],
|
||||
[0, "유장", null, 0, null, 31, 5, 34, 0, 160, 300, null, null],
|
||||
[0, "유심", null, 0, null, 60, 48, 70, 0, 160, 300, null, null],
|
||||
[0, "유선", null, 0, null, 3, 5, 9, 0, 160, 300, null, null],
|
||||
[0, "유종", null, 0, null, 24, 22, 65, 0, 160, 300, null, null],
|
||||
[0, "유도", null, 0, null, 25, 23, 26, 0, 160, 300, null, null],
|
||||
[0, "유파", null, 0, null, 29, 22, 75, 0, 160, 300, null, null],
|
||||
[0, "유반", null, 0, null, 69, 76, 47, 0, 160, 300, null, null],
|
||||
[0, "유비", null, 0, null, 88, 78, 59, 0, 160, 300, null, null],
|
||||
[0, "유표", null, 0, null, 48, 31, 72, 0, 160, 300, null, null],
|
||||
[0, "유복", null, 0, null, 64, 49, 74, 0, 160, 300, null, null],
|
||||
[0, "유벽", null, 0, null, 70, 72, 47, 0, 160, 300, null, null],
|
||||
[0, "유봉", null, 0, null, 75, 79, 44, 0, 160, 300, null, null],
|
||||
[0, "유엽", null, 0, null, 56, 32, 92, 0, 160, 300, null, null],
|
||||
[0, "유요", null, 0, null, 62, 67, 46, 0, 160, 300, null, null],
|
||||
[0, "여위황", null, 0, null, 58, 63, 29, 0, 160, 300, null, null],
|
||||
[0, "요화", null, 0, null, 73, 76, 54, 0, 160, 300, null, null],
|
||||
[0, "양흥", null, 0, null, 61, 65, 19, 0, 160, 300, null, null],
|
||||
[0, "양습", null, 0, null, 73, 40, 74, 0, 160, 300, null, null],
|
||||
[0, "양서", null, 0, null, 56, 62, 66, 0, 160, 300, null, null],
|
||||
[0, "능조", null, 0, null, 75, 81, 42, 0, 160, 300, null, null],
|
||||
[0, "능통", null, 0, null, 83, 89, 60, 0, 160, 300, null, null],
|
||||
[0, "여개", null, 0, null, 53, 30, 67, 0, 160, 300, null, null],
|
||||
[0, "여건", null, 0, null, 57, 70, 62, 0, 160, 300, null, null],
|
||||
[0, "여광", null, 0, null, 56, 70, 13, 0, 160, 300, null, null],
|
||||
[0, "여상", null, 0, null, 54, 71, 12, 0, 160, 300, null, null],
|
||||
[0, "여대", null, 0, null, 80, 71, 52, 0, 160, 300, null, null],
|
||||
[0, "여범", null, 0, null, 73, 54, 75, 0, 160, 300, null, null],
|
||||
[0, "여포", null, 0, null, 89, 100, 42, 0, 160, 300, null, null],
|
||||
[0, "여몽", null, 0, null, 91, 69, 90, 0, 160, 300, null, null],
|
||||
[0, "윤직", null, 0, null, 46, 42, 73, 0, 160, 300, null, null],
|
||||
[0, "냉포", null, 0, null, 71, 82, 61, 0, 160, 300, null, null],
|
||||
[0, "누규", null, 0, null, 52, 13, 87, 0, 160, 300, null, null],
|
||||
[0, "노숙", null, 0, null, 89, 56, 93, 0, 160, 300, null, null],
|
||||
[0, "노식", null, 0, null, 86, 63, 82, 0, 160, 300, null, null],
|
||||
[0, "범강", null, 0, null, 49, 50, 36, 0, 160, 300, null, null],
|
||||
[0, "장달", null, 0, null, 43, 56, 34, 0, 160, 300, null, null],
|
||||
[0, "규람", null, 0, null, 55, 70, 58, 0, 160, 300, null, null],
|
||||
[0, "대원", null, 0, null, 38, 32, 68, 0, 160, 300, null, null],
|
||||
[0, "왕기", null, 0, null, 81, 64, 86, 0, 160, 300, null, null],
|
||||
[0, "왕상", null, 0, null, 23, 19, 68, 0, 160, 300, null, null],
|
||||
[0, "왕돈", null, 0, null, 60, 66, 46, 0, 160, 300, null, null],
|
||||
[0, "악침", null, 0, null, 73, 75, 43, 0, 160, 300, null, null],
|
||||
[0, "하제", null, 0, null, 83, 61, 82, 0, 160, 300, null, null],
|
||||
[0, "환범", null, 0, null, 40, 11, 78, 0, 160, 300, null, null],
|
||||
[0, "견초", null, 0, null, 72, 79, 57, 0, 160, 300, null, null],
|
||||
[0, "고당륭", null, 0, null, 35, 24, 76, 0, 160, 300, null, null],
|
||||
[0, "오찬", null, 0, null, 68, 41, 78, 0, 160, 300, null, null],
|
||||
[0, "호질", null, 0, null, 73, 46, 74, 0, 160, 300, null, null],
|
||||
[0, "오질", null, 0, null, 16, 29, 68, 0, 160, 300, null, null],
|
||||
[0, "호준", null, 0, null, 79, 76, 55, 0, 160, 300, null, null],
|
||||
[0, "고담", null, 0, null, 53, 23, 77, 0, 160, 300, null, null],
|
||||
[0, "최림", null, 0, null, 32, 22, 66, 0, 160, 300, null, null],
|
||||
[0, "사마망", null, 0, null, 78, 58, 83, 0, 160, 300, null, null],
|
||||
[0, "주이", null, 0, null, 70, 73, 52, 0, 160, 300, null, null],
|
||||
[0, "전단", null, 0, null, 67, 64, 39, 0, 160, 300, null, null],
|
||||
[0, "조우", null, 0, null, 50, 43, 37, 0, 160, 300, null, null],
|
||||
[0, "조상", null, 0, null, 39, 33, 30, 0, 160, 300, null, null],
|
||||
[0, "조방", null, 0, null, 20, 14, 27, 0, 160, 300, null, null],
|
||||
[0, "태사향", null, 0, null, 57, 66, 48, 0, 160, 300, null, null],
|
||||
[0, "장휴", null, 0, null, 63, 27, 74, 0, 160, 300, null, null],
|
||||
[0, "장호", null, 0, null, 75, 74, 51, 0, 160, 300, null, null],
|
||||
[0, "조광", null, 0, null, 67, 71, 53, 0, 160, 300, null, null],
|
||||
[0, "장집", null, 0, null, 76, 29, 80, 0, 160, 300, null, null],
|
||||
[0, "장승", null, 0, null, 77, 55, 75, 0, 160, 300, null, null],
|
||||
[0, "장소2", null, 0, null, 23, 56, 31, 0, 160, 300, null, null],
|
||||
[0, "조통", null, 0, null, 68, 67, 46, 0, 160, 300, null, null],
|
||||
[0, "진표", null, 0, null, 66, 42, 74, 0, 160, 300, null, null],
|
||||
[0, "정무", null, 0, null, 56, 35, 75, 0, 160, 300, null, null],
|
||||
[0, "정봉2", null, 0, null, 66, 66, 46, 0, 160, 300, null, null],
|
||||
[0, "전만", null, 0, null, 51, 73, 39, 0, 160, 300, null, null],
|
||||
[0, "마균", null, 0, null, 22, 17, 71, 0, 160, 300, null, null],
|
||||
[0, "방회", null, 0, null, 69, 75, 49, 0, 160, 300, null, null],
|
||||
[0, "낙통", null, 0, null, 76, 58, 75, 0, 160, 300, null, null],
|
||||
[0, "육개", null, 0, null, 65, 61, 79, 0, 160, 300, null, null],
|
||||
[0, "유찬", null, 0, null, 78, 81, 59, 0, 160, 300, null, null],
|
||||
[0, "유소", null, 0, null, 68, 53, 74, 0, 160, 300, null, null],
|
||||
[0, "요립", null, 0, null, 32, 15, 76, 0, 160, 300, null, null],
|
||||
[0, "여거", null, 0, null, 78, 51, 71, 0, 160, 300, null, null],
|
||||
[0, "제갈첨", null, 0, null, 70, 57, 76, 0, 160, 300, null, null],
|
||||
[0, "손휴", null, 0, null, 57, 42, 78, 0, 160, 300, null, null],
|
||||
[0, "극정", null, 0, null, 42, 23, 68, 0, 160, 300, null, null],
|
||||
[0, "호분", null, 0, null, 71, 76, 50, 0, 160, 300, null, null],
|
||||
[0, "손량", null, 0, null, 32, 26, 70, 0, 160, 300, null, null],
|
||||
[0, "마막", null, 0, null, 34, 12, 44, 0, 160, 300, null, null],
|
||||
[0, "손호", null, 0, null, 41, 73, 71, 0, 160, 300, null, null],
|
||||
[0, "조모", null, 0, null, 54, 61, 59, 0, 160, 300, null, null],
|
||||
[0, "조환", null, 0, null, 30, 28, 30, 0, 160, 300, null, null],
|
||||
[0, "사마유", null, 0, null, 71, 54, 75, 0, 160, 300, null, null],
|
||||
[0, "제갈상", null, 0, null, 64, 79, 62, 0, 160, 300, null, null],
|
||||
[0, "손화", null, 0, null, 31, 39, 68, 0, 160, 300, null, null],
|
||||
[0, "염우", null, 0, null, 52, 61, 51, 0, 160, 300, null, null],
|
||||
[0, "왕경", null, 0, null, 67, 49, 71, 0, 160, 300, null, null],
|
||||
[0, "왕혼", null, 0, null, 74, 71, 50, 0, 160, 300, null, null],
|
||||
[0, "곽혁", null, 0, null, 33, 29, 70, 0, 160, 300, null, null],
|
||||
[0, "가범", null, 0, null, 60, 50, 73, 0, 160, 300, null, null],
|
||||
[0, "서질", null, 0, null, 68, 83, 24, 0, 160, 300, null, null],
|
||||
[0, "손준", null, 0, null, 64, 70, 48, 0, 160, 300, null, null],
|
||||
[0, "손침", null, 0, null, 58, 55, 65, 0, 160, 300, null, null],
|
||||
[0, "우사", null, 0, null, 61, 34, 74, 0, 160, 300, null, null],
|
||||
[0, "진건", null, 0, null, 72, 71, 50, 0, 160, 300, null, null],
|
||||
[0, "동궐", null, 0, null, 65, 59, 76, 0, 160, 300, null, null],
|
||||
[0, "당자", null, 0, null, 61, 71, 50, 0, 160, 300, null, null],
|
||||
[0, "등충", null, 0, null, 76, 80, 59, 0, 160, 300, null, null],
|
||||
[0, "황숭", null, 0, null, 67, 50, 72, 0, 160, 300, null, null],
|
||||
[0, "화핵", null, 0, null, 20, 24, 71, 0, 160, 300, null, null],
|
||||
[0, "허의", null, 0, null, 51, 74, 15, 0, 160, 300, null, null],
|
||||
[0, "송겸", null, 0, null, 66, 78, 42, 0, 160, 300, null, null],
|
||||
[0, "호제", null, 0, null, 57, 39, 68, 0, 160, 300, null, null],
|
||||
[0, "나헌", null, 0, null, 86, 62, 82, 0, 160, 300, null, null],
|
||||
[0, "노숙2", null, 0, null, 73, 53, 74, 0, 160, 300, null, null],
|
||||
[0, "구성", null, 0, null, 63, 70, 38, 0, 160, 300, null, null],
|
||||
[0, "어부라", null, 0, null, 72, 68, 21, 0, 160, 300, null, null],
|
||||
[0, "아하소과", null, 0, null, 61, 76, 13, 0, 160, 300, null, null],
|
||||
[0, "가비능", null, 0, null, 77, 69, 52, 0, 160, 300, null, null],
|
||||
[0, "구력거", null, 0, null, 80, 68, 50, 0, 160, 300, null, null],
|
||||
[0, "강단", null, 0, null, 65, 83, 48, 0, 160, 300, null, null],
|
||||
[0, "황란", null, 0, null, 63, 75, 44, 0, 160, 300, null, null],
|
||||
[0, "호주천", null, 0, null, 70, 71, 40, 0, 160, 300, null, null],
|
||||
[0, "종리목", null, 0, null, 84, 61, 82, 0, 160, 300, null, null],
|
||||
[0, "제갈교", null, 0, null, 62, 27, 75, 0, 160, 300, null, null],
|
||||
[0, "답돈", null, 0, null, 84, 82, 61, 0, 160, 300, null, null],
|
||||
[0, "반임", null, 0, null, 66, 79, 38, 0, 160, 300, null, null],
|
||||
[0, "보도근", null, 0, null, 64, 73, 50, 0, 160, 300, null, null],
|
||||
[0, "미당대왕", null, 0, null, 59, 69, 21, 0, 160, 300, null, null],
|
||||
[0, "유표2", null, 0, null, 73, 74, 48, 0, 160, 300, null, null],
|
||||
[0, "루반", null, 0, null, 65, 76, 39, 0, 160, 300, null, null],
|
||||
[0, "손관", null, 0, null, 72, 78, 51, 0, 160, 300, null, null],
|
||||
[0, "곽석", null, 0, null, 59, 71, 48, 0, 160, 300, null, null],
|
||||
[0, "주조", null, 0, null, 63, 68, 26, 0, 160, 300, null, null],
|
||||
[0, "장거", null, 0, null, 79, 75, 56, 0, 160, 300, null, null],
|
||||
[0, "장순", null, 0, null, 73, 81, 60, 0, 160, 300, null, null],
|
||||
[0, "철리길", null, 0, null, 77, 70, 52, 0, 160, 300, null, null],
|
||||
[0, "주삭", null, 0, null, 54, 60, 50, 0, 160, 300, null, null],
|
||||
[0, "황월영", null, 0, null, 46, 33, 78, 0, 160, 300, null, null],
|
||||
[0, "채염", null, 0, null, 42, 26, 82, 0, 160, 300, null, null],
|
||||
[0, "소교", null, 0, null, 23, 15, 78, 0, 160, 300, null, null],
|
||||
[0, "신헌영", null, 0, null, 65, 35, 90, 0, 160, 300, null, null],
|
||||
[0, "손상향", null, 0, null, 72, 79, 55, 0, 160, 300, null, null],
|
||||
[0, "대교", null, 0, null, 22, 30, 78, 0, 160, 300, null, null],
|
||||
[0, "초선", null, 0, null, 12, 22, 71, 0, 160, 300, null, null],
|
||||
[0, "교모", null, 0, null, 54, 45, 69, 0, 160, 300, null, null],
|
||||
[0, "관구수", null, 0, null, 58, 62, 33, 0, 160, 300, null, null],
|
||||
[0, "관구전", null, 0, null, 63, 47, 69, 0, 160, 300, null, null],
|
||||
[0, "원유", null, 0, null, 56, 40, 73, 0, 160, 300, null, null],
|
||||
[0, "왕광", null, 0, null, 65, 41, 61, 0, 160, 300, null, null],
|
||||
[0, "신창", null, 0, null, 50, 26, 42, 0, 160, 300, null, null],
|
||||
[0, "사마주", null, 0, null, 61, 40, 61, 0, 160, 300, null, null],
|
||||
[0, "양제", null, 0, null, 67, 49, 71, 0, 160, 300, null, null],
|
||||
[0, "성만", null, 0, null, 61, 68, 46, 0, 160, 300, null, null],
|
||||
[0, "오연", null, 0, null, 66, 73, 42, 0, 160, 300, null, null],
|
||||
[0, "맹충", null, 0, null, 47, 28, 72, 0, 160, 300, null, null],
|
||||
[0, "잠혼", null, 0, null, 1, 1, 22, 0, 160, 300, null, null],
|
||||
[0, "사정", null, 0, null, 64, 76, 34, 0, 160, 300, null, null],
|
||||
[0, "심영", null, 0, null, 70, 77, 55, 0, 160, 300, null, null],
|
||||
[0, "도준", null, 0, null, 65, 66, 46, 0, 160, 300, null, null],
|
||||
[0, "만욱", null, 0, null, 21, 25, 71, 0, 160, 300, null, null],
|
||||
[0, "오언", null, 0, null, 76, 81, 59, 0, 160, 300, null, null],
|
||||
[0, "위막", null, 0, null, 57, 62, 59, 0, 160, 300, null, null],
|
||||
[0, "시삭", null, 0, null, 38, 65, 47, 0, 160, 300, null, null],
|
||||
[0, "전속", null, 0, null, 47, 60, 55, 0, 160, 300, null, null],
|
||||
[0, "장화", null, 0, null, 36, 27, 78, 0, 160, 300, null, null],
|
||||
[0, "오거", null, 0, null, 49, 61, 23, 0, 160, 300, null, null],
|
||||
[0, "추정", null, 0, null, 70, 46, 66, 0, 160, 300, null, null],
|
||||
[0, "장특", null, 0, null, 73, 54, 75, 0, 160, 300, null, null],
|
||||
[0, "곽마", null, 0, null, 68, 71, 47, 0, 160, 300, null, null],
|
||||
[0, "석포", null, 0, null, 69, 71, 49, 0, 160, 300, null, null],
|
||||
[0, "견홍", null, 0, null, 70, 74, 53, 0, 160, 300, null, null],
|
||||
[0, "한거자", null, 0, null, 51, 59, 51, 0, 160, 300, null, null],
|
||||
[0, "휴원진", null, 0, null, 52, 68, 45, 0, 160, 300, null, null],
|
||||
[0, "곽원", null, 0, null, 66, 73, 36, 0, 160, 300, null, null],
|
||||
[0, "계옹", null, 0, null, 63, 52, 33, 0, 160, 300, null, null],
|
||||
[0, "이부", null, 0, null, 31, 36, 74, 0, 160, 300, null, null],
|
||||
[0, "왕업", null, 0, null, 33, 6, 35, 0, 160, 300, null, null],
|
||||
[0, "좌혁", null, 0, null, 62, 66, 51, 0, 160, 300, null, null],
|
||||
[0, "화타", null, 0, null, 57, 25, 73, 0, 160, 300, null, null],
|
||||
[0, "사마휘", null, 0, null, 55, 26, 82, 0, 160, 300, null, null],
|
||||
[0, "우길", null, 0, null, 23, 15, 90, 0, 160, 300, null, null],
|
||||
[0, "헌제", null, 0, null, 22, 18, 68, 0, 160, 300, null, null],
|
||||
[0, "백기", null, 0, null, 100, 88, 69, 0, 160, 300, null, null],
|
||||
[0, "한신", null, 0, null, 100, 74, 95, 0, 160, 300, null, null],
|
||||
[0, "악비", null, 0, null, 99, 91, 71, 0, 160, 300, null, null],
|
||||
[0, "항적", null, 0, null, 99, 100, 65, 0, 160, 300, null, null],
|
||||
[0, "악의", null, 0, null, 98, 75, 96, 0, 160, 300, null, null],
|
||||
[0, "영정", null, 0, null, 97, 55, 92, 0, 160, 300, null, null],
|
||||
[0, "강상", null, 0, null, 94, 49, 100, 0, 160, 300, null, null],
|
||||
[0, "전단2", null, 0, null, 96, 75, 95, 0, 160, 300, null, null],
|
||||
[0, "이목", null, 0, null, 96, 69, 88, 0, 160, 300, null, null],
|
||||
[0, "염파", null, 0, null, 97, 96, 75, 0, 160, 300, null, null],
|
||||
[0, "왕전", null, 0, null, 94, 64, 83, 0, 160, 300, null, null],
|
||||
[0, "오기", null, 0, null, 94, 66, 95, 0, 160, 300, null, null],
|
||||
[0, "곽거병", null, 0, null, 93, 92, 53, 0, 160, 300, null, null],
|
||||
[0, "영포", null, 0, null, 82, 91, 54, 0, 160, 300, null, null],
|
||||
[0, "이신", null, 0, null, 81, 88, 63, 0, 160, 300, null, null],
|
||||
[0, "몽념", null, 0, null, 87, 86, 65, 0, 160, 300, null, null],
|
||||
[0, "전기", null, 0, null, 80, 85, 44, 0, 160, 300, null, null],
|
||||
[0, "극신", null, 0, null, 76, 83, 42, 0, 160, 300, null, null],
|
||||
[0, "항연", null, 0, null, 89, 80, 61, 0, 160, 300, null, null],
|
||||
[0, "인상여", null, 0, null, 69, 38, 96, 0, 160, 300, null, null],
|
||||
[0, "장자방", null, 0, null, 72, 40, 100, 0, 160, 300, null, null],
|
||||
[0, "관이오", null, 0, null, 85, 64, 99, 0, 160, 300, null, null],
|
||||
[0, "손빈", null, 0, null, 83, 22, 98, 0, 160, 300, null, null],
|
||||
[0, "소진", null, 0, null, 90, 47, 96, 0, 160, 300, null, null],
|
||||
[0, "범증", null, 0, null, 68, 24, 94, 0, 160, 300, null, null],
|
||||
[0, "장의2", null, 0, null, 75, 23, 93, 0, 160, 300, null, null],
|
||||
[0, "공구", null, 0, null, 68, 70, 91, 0, 160, 300, null, null],
|
||||
[0, "소하", null, 0, null, 56, 27, 97, 0, 160, 300, null, null],
|
||||
[0, "한비", null, 0, null, 49, 18, 97, 0, 160, 300, null, null],
|
||||
[0, "이사", null, 0, null, 48, 24, 95, 0, 160, 300, null, null],
|
||||
[0, "전문", null, 0, null, 79, 67, 89, 0, 160, 300, null, null],
|
||||
[0, "황헐", null, 0, null, 81, 68, 88, 0, 160, 300, null, null],
|
||||
[0, "방난", null, 0, null, 88, 95, 66, 0, 160, 300, null, null],
|
||||
[0, "개섭", null, 0, null, 43, 97, 54, 0, 160, 300, null, null],
|
||||
[0, "형가", null, 0, null, 42, 89, 43, 0, 160, 300, null, null],
|
||||
[0, "유방", null, 0, null, 90, 66, 85, 0, 160, 300, null, null],
|
||||
[0, "사스케", null, 0, "복양", 109, 43, 118, 0, 160, 300, "출세", "돌격", "언젠가는 제 기록을 넘겨주실 분도 나오길 바랍니다"],
|
||||
[0, "4水Ke", null, 0, null, 70, 99, 51, 0, 160, 300, null, null],
|
||||
[0, "나루토", null, 0, null, 80, 100, 6, 0, 160, 300, null, null, "나루토 사스케 싸움 레알 실화냐"],
|
||||
[0, "달스케", null, 0, null, 73, 97, 43, 0, 160, 300, null, null],
|
||||
[0, "독스케", null, 0, null, 79, 91, 46, 0, 160, 300, null, null],
|
||||
[0, "마스케", null, 0, null, 74, 96, 45, 0, 160, 300, null, null, "픽스터 트롤링 ON"],
|
||||
[0, "사람쥐", null, 0, null, 77, 42, 93, 0, 160, 300, null, null, "사람쥐는 위대하고 그 외에 다른 설치류는 없다"],
|
||||
[0, "사숙개", null, 0, null, 78, 91, 44, 0, 160, 300, null, null],
|
||||
[0, "사스가키", null, 0, null, 71, 99, 47, 0, 160, 300, null, null, "허~접♡"],
|
||||
[0, "사스캣", null, 0, null, 70, 48, 99, 0, 160, 300, null, null, "냐옹"],
|
||||
[0, "사스케롱", null, 0, null, 77, 44, 92, 0, 160, 300, null, null],
|
||||
[0, "사슥개", null, 0, null, 79, 89, 39, 0, 160, 300, null, null],
|
||||
[0, "사슥게", null, 0, null, 69, 99, 39, 0, 160, 300, null, null],
|
||||
[0, "소숙꺄", null, 0, null, 79, 73, 11, 0, 160, 300, null, null, "ㅗㅜㅑ"],
|
||||
[0, "스켓맨", null, 0, null, 32, 86, 97, 0, 160, 300, null, null, "암어스켓맨"],
|
||||
[0, "쌰쓖꼐", null, 0, null, 75, 43, 94, 0, 160, 300, null, null],
|
||||
[0, "앵드케", null, 0, null, 78, 46, 92, 0, 160, 300, null, null, "히힛 오줌 발싸!!"],
|
||||
[0, "야스케", null, 0, null, 78, 47, 92, 0, 160, 300, null, null, "날 추방했으니 그 복수로 적국에 정보를 팔아 넘겨야겠군요. 그럼 이만."],
|
||||
[0, "오스케", null, 0, null, 77, 41, 93, 0, 160, 300, null, null, "저는 배신자입니다"],
|
||||
[0, "유스케", null, 0, null, 76, 46, 94, 0, 160, 300, null, null],
|
||||
[0, "일스케", null, 0, null, 11, 11, 1, 0, 160, 300, null, null],
|
||||
[0, "이스케", null, 0, null, 22, 2, 22, 0, 160, 300, null, null],
|
||||
[0, "삼수케", null, 0, null, 3, 33, 33, 0, 160, 300, null, null, "대학 입시를 3번 치르는 삼수케"],
|
||||
[0, "사시케", null, 0, null, 44, 44, 44, 0, 160, 300, null, null],
|
||||
[0, "사륜안", null, 0, null, 72, 49, 98, 0, 160, 300, null, null],
|
||||
[0, "사사게", null, 0, null, 76, 95, 43, 0, 160, 300, null, null],
|
||||
[0, "네시", null, 0, "교지", 103, 119, 45, 0, 160, 300, "출세", "필살", "안 자고 싸우면 이겨요"],
|
||||
[0, "영시", null, 0, null, 77, 43, 92, 0, 160, 300, null, null, "충성!"],
|
||||
[0, "한시", null, 0, null, 71, 47, 99, 0, 160, 300, null, null, "ㅁㄹ"],
|
||||
[0, "두시", null, 0, null, 76, 44, 94, 0, 160, 300, null, null, "ㅅㅇㄹㄹ"],
|
||||
[0, "세시", null, 0, null, 73, 97, 46, 0, 160, 300, null, null, "안 살리고 죽이면 이겨요"],
|
||||
[0, "다섯시", null, 0, null, 75, 95, 45, 0, 160, 300, null, null],
|
||||
[0, "여섯시", null, 0, null, 72, 48, 97, 0, 160, 300, null, null],
|
||||
[0, "일곱시", null, 0, null, 77, 93, 43, 0, 160, 300, null, null],
|
||||
[0, "여덟시", null, 0, null, 76, 42, 94, 0, 160, 300, null, null],
|
||||
[0, "아홉시", null, 0, null, 74, 44, 96, 0, 160, 300, null, null],
|
||||
[0, "열시", null, 0, null, 10, 10, 10, 0, 160, 300, null, null],
|
||||
[0, "열한시", null, 0, null, 11, 11, 11, 0, 160, 300, null, null],
|
||||
[0, "열두시", null, 0, null, 12, 12, 12, 0, 160, 300, null, null],
|
||||
[0, "셀레미", null, 0, "안정", 104, 47, 114, 0, 160, 300, "출세", "환술", "식물키우세요🍀"],
|
||||
[0, "몬스테라", null, 0, null, 79, 44, 81, 0, 160, 300, null, null],
|
||||
[0, "아단소니", null, 0, null, 80, 90, 42, 0, 160, 300, null, null, "구멍뿅뿅"],
|
||||
[0, "마니홋", null, 0, null, 74, 43, 86, 0, 160, 300, null, null],
|
||||
[0, "두비아", null, 0, null, 79, 91, 46, 0, 160, 300, null, null, "크게 키워주실래요?"],
|
||||
[0, "마요이", null, 0, null, 80, 46, 90, 0, 160, 300, null, null, "달팽이 아니고 식물입니다"],
|
||||
[0, "에스쿠엘레토", null, 0, null, 66, 38, 78, 0, 160, 300, null, null],
|
||||
[0, "라니아타", null, 0, null, 65, 41, 82, 0, 160, 300, null, null],
|
||||
[0, "파스타짜넘", null, 0, null, 78, 92, 44, 0, 160, 300, null, null, "빵~덕♡"],
|
||||
[0, "플로우마니", null, 0, null, 76, 43, 94, 0, 160, 300, null, null, "블랙페이스 감상하세요"],
|
||||
[0, "도메스티컴", null, 0, null, 65, 45, 81, 0, 160, 300, null, null],
|
||||
[0, "지펠리움", null, 0, null, 69, 91, 55, 0, 160, 300, null, null],
|
||||
[0, "버럴막스", null, 0, null, 78, 45, 92, 0, 160, 300, null, null, "정신팔면 괴물을 보실걸요?"],
|
||||
[0, "테뉴", null, 0, null, 74, 89, 45, 0, 160, 300, null, null],
|
||||
[0, "샤로니에", null, 0, null, 76, 94, 47, 0, 160, 300, null, null, "빨래판 키우세요"],
|
||||
[0, "베루코섬", null, 0, null, 58, 92, 58, 0, 160, 300, null, null],
|
||||
[0, "소디로이", null, 0, null, 67, 46, 83, 0, 160, 300, null, null],
|
||||
[0, "브랜티아넘", null, 0, null, 75, 95, 45, 0, 160, 300, null, null, "3촉 합식하시면 이뻐요"],
|
||||
[0, "페페", null, 0, null, 74, 96, 46, 0, 160, 300, null, null, "페페페페펲페페페페페페페페페페페ㅔㅍ페"],
|
||||
[0, "워터코인", null, 0, null, 78, 44, 93, 0, 160, 300, null, null, "코인하세요"],
|
||||
[0, "마제스틱", null, 0, null, 59, 54, 84, 0, 160, 300, null, null],
|
||||
[0, "홀타니아넘", null, 0, null, 74, 96, 47, 0, 160, 300, null, null, "토끼귀 끝판왕"],
|
||||
[0, "서펜스", null, 0, null, 73, 97, 44, 0, 160, 300, null, null, "다시 비싸지고 싶어요"],
|
||||
[0, "마크로리자", null, 0, null, 75, 46, 94, 0, 160, 300, null, null, "자구 캐가세요"],
|
||||
[0, "럭셔리안스", null, 0, null, 66, 35, 89, 0, 160, 300, null, null],
|
||||
[0, "호말로메나", null, 0, null, 68, 43, 82, 0, 160, 300, null, null],
|
||||
[0, "에오스", null, 0, null, 72, 98, 43, 0, 160, 300, null, null, "에이스 오브 스페이드!"],
|
||||
[0, "벨벳마스크", null, 0, null, 67, 87, 47, 0, 160, 300, null, null],
|
||||
[0, "다크마마", null, 0, null, 45, 58, 67, 0, 160, 300, null, null],
|
||||
[0, "미칸", null, 0, null, 71, 99, 42, 0, 160, 300, null, null, "벽에 태워주세요 행잉도 좋아요"],
|
||||
[0, "아이비", null, 0, null, 70, 42, 100, 0, 160, 300, null, null, "반딧불이, 백설공주가 이뻐요"],
|
||||
[0, "도라야끼", null, 0, null, 98, 63, 44, 0, 160, 300, null, null],
|
||||
[0, "메그니피컴", null, 0, null, 47, 68, 15, 0, 160, 300, null, null],
|
||||
[0, "베이치", null, 0, null, 70, 100, 41, 0, 160, 300, null, null, "샤로니에 빨래판 저리가라"],
|
||||
[0, "바라오아넘", null, 0, null, 39, 43, 77, 0, 160, 300, null, null, "날렵한 미모!"],
|
||||
[0, "포게티그린", null, 0, null, 68, 41, 93, 0, 160, 300, null, null],
|
||||
[0, "플로리다뷰티", null, 0, null, 71, 45, 99, 0, 160, 300, null, null, "무늬가 나올줄알았지?"],
|
||||
[0, "스킨답서스", null, 0, null, 62, 86, 59, 0, 160, 300, null, null],
|
||||
[0, "호야", null, 0, null, 93, 80, 51, 0, 160, 300, null, null, "호야꿀드새오"],
|
||||
[0, "극락조", null, 0, null, 73, 41, 97, 0, 160, 300, null, null, "꽃 피 워 줘"],
|
||||
[0, "여인초", null, 0, null, 75, 95, 43, 0, 160, 300, null, null, "방심하면 커집니다?!"],
|
||||
[0, "제라늄", null, 0, null, 64, 57, 83, 0, 160, 300, null, null],
|
||||
[0, "베고니아", null, 0, null, 37, 23, 48, 0, 160, 300, null, null],
|
||||
[0, "위시본", null, 0, null, 23, 54, 12, 0, 160, 300, null, null],
|
||||
[0, "박쥐란", null, 0, null, 76, 93, 47, 0, 160, 300, null, null],
|
||||
[0, "골든드래곤", null, 0, null, 73, 45, 97, 0, 160, 300, null, null, "고가종 3대장 골든바리!"],
|
||||
[0, "빌리에티에", null, 0, null, 72, 44, 98, 0, 160, 300, null, null, "고가종 3대장 빌리바리!"],
|
||||
[0, "윌리엄씨", null, 0, null, 77, 93, 46, 0, 160, 300, null, null, "고가종 3대장 윌리엄씨바리!"],
|
||||
[0, "멜라노", null, 0, null, 67, 83, 41, 0, 160, 300, null, null],
|
||||
[0, "기가스", null, 0, null, 76, 43, 94, 0, 160, 300, null, null, "순화지옥일껄요"],
|
||||
[0, "캄포스", null, 0, null, 62, 47, 81, 0, 160, 300, null, null],
|
||||
[0, "글로리오섬", null, 0, null, 78, 92, 44, 0, 160, 300, null, null, "남미가 좋아요"],
|
||||
[0, "글로리어스", null, 0, null, 75, 44, 95, 0, 160, 300, null, null, "기어다니기 싫어서 위로 자랄래요"],
|
||||
[0, "베멜하", null, 0, null, 92, 39, 81, 0, 160, 300, null, null, "잡종이라고 무시하지마세요"],
|
||||
[0, "오블리쿠아", null, 0, null, 79, 91, 46, 0, 160, 300, null, null, "이보다 더 큰 구멍은 없다"],
|
||||
[0, "라디아튬", null, 0, null, 79, 46, 91, 0, 160, 300, null, null, "마요이랑 헷갈리지마세요"],
|
||||
[0, "싱고니움", null, 0, null, 68, 56, 84, 0, 160, 300, null, null],
|
||||
[0, "애기모람", null, 0, null, 80, 44, 90, 0, 160, 300, null, null, "응애"],
|
||||
[0, "정승필", null, 0, "오", 107, 118, 42, 0, 160, 300, "출세", "견고", "건업만큼은 안된다 이놈들아!"],
|
||||
[0, "Faker", null, 0, null, 15, 99, 100, 0, 160, 300, null, "발명", "기부는 저처럼 돈 많은 사람들이 많이 하면 됩니다"],
|
||||
[0, "길가승필메시", null, 0, null, 70, 100, 41, 0, 160, 300, null, null, "길가승필메시, 그는 보호자입니다. 그의 특기는 강한 펀치죠"],
|
||||
[0, "닥터승필레인지", null, 0, null, 72, 44, 98, 0, 160, 300, null, null],
|
||||
[0, "도르마승필무", null, 0, null, 73, 43, 97, 0, 160, 300, null, null, "모든건 승필 뜻 대로.."],
|
||||
[0, "로키승필", null, 0, null, 74, 42, 96, 0, 160, 300, null, null],
|
||||
[0, "블랙승필팬서", null, 0, null, 71, 47, 99, 0, 160, 300, null, null, "와칸다 포에버!"],
|
||||
[0, "비전승필", null, 0, null, 69, 41, 101, 0, 160, 300, null, null],
|
||||
[0, "샹치승필", null, 0, null, 79, 91, 46, 0, 160, 300, null, null],
|
||||
[0, "슈리승필", null, 0, null, 70, 43, 100, 0, 160, 300, null, null, "와칸다 포에버!"],
|
||||
[0, "스칼렛승필위치", null, 0, null, 76, 45, 94, 0, 160, 300, null, null],
|
||||
[0, "스파이더승필맨", null, 0, null, 78, 92, 42, 0, 160, 300, null, null],
|
||||
[0, "승루트", null, 0, null, 65, 38, 89, 0, 160, 300, null, null, "I'm Seungroot"],
|
||||
[0, "승필위도우", null, 0, null, 75, 45, 95, 0, 160, 300, null, null],
|
||||
[0, "승필콘", null, 0, null, 75, 95, 44, 0, 160, 300, null, null],
|
||||
[0, "아이언승필", null, 0, null, 70, 46, 100, 0, 160, 300, null, null, "I'm IronSeungpil"],
|
||||
[0, "앤트승필맨", null, 0, null, 69, 88, 56, 0, 160, 300, null, null],
|
||||
[0, "워승필머신", null, 0, null, 72, 98, 45, 0, 160, 300, null, null],
|
||||
[0, "윈터승필솔져", null, 0, null, 77, 93, 43, 0, 160, 300, null, null],
|
||||
[0, "정승필실종사건", null, 0, null, 79, 45, 91, 0, 160, 300, null, null, "정승필 실종됨 ㄷㄷㄷㄷ"],
|
||||
[0, "찐승필", null, 0, null, 80, 44, 90, 0, 160, 300, null, null],
|
||||
[0, "캡틴승필리카", null, 0, null, 80, 90, 44, 0, 160, 300, null, null],
|
||||
[0, "퀵승필", null, 0, null, 68, 88, 43, 0, 160, 300, null, null],
|
||||
[0, "타노승필", null, 0, null, 71, 99, 48, 0, 160, 300, null, null],
|
||||
[0, "토르승필", null, 0, null, 77, 47, 93, 0, 160, 300, null, null],
|
||||
[0, "헐크승필", null, 0, null, 72, 99, 40, 0, 160, 300, null, null],
|
||||
[0, "호크승필아이", null, 0, null, 78, 89, 46, 0, 160, 300, null, null],
|
||||
[0, "하츄핑", null, 0, "홍농", 103, 46, 116, 0, 160, 300, "출세", "집중", "애교가 넘치는 사랑의 티니핑, 츄!"],
|
||||
[0, "바로핑", null, 0, null, 72, 46, 98, 0, 160, 300, null, null, "바로핑에게 맡겨주세요, 바롬!"],
|
||||
[0, "아자핑", null, 0, null, 79, 92, 42, 0, 160, 300, null, null, "내가 저 친구를 도와주지, 아자!"],
|
||||
[0, "차차핑", null, 0, null, 74, 44, 96, 0, 160, 300, null, null, "차차핑이 희망을 줄게, 차차~"],
|
||||
[0, "라라핑", null, 0, null, 77, 43, 93, 0, 160, 300, null, null, "난 이모션 왕국에서 온 라라핑이라고 해! 만나서 반가워, 라랑♪"],
|
||||
[0, "해핑", null, 0, null, 79, 42, 91, 0, 160, 300, null, null, "해핑은 행복해~! 해피!"],
|
||||
[0, "조아핑", null, 0, null, 78, 91, 41, 0, 160, 300, null, null, "우린... 친구들을 구하고 싶었어요, 조아!"],
|
||||
[0, "믿어핑", null, 0, null, 76, 45, 94, 0, 160, 300, null, null, "와아~! 네 말이 맞아, 미더!"],
|
||||
[0, "방글핑", null, 0, null, 75, 95, 45, 0, 160, 300, null, null, "꺄항~ 재밌겠다~! 나나나나! 내가 할래! 방글~"],
|
||||
[0, "키키핑", null, 0, null, 66, 88, 39, 0, 160, 300, null, null],
|
||||
[0, "아잉핑", null, 0, null, 74, 39, 80, 0, 160, 300, null, null],
|
||||
[0, "부끄핑", null, 0, null, 69, 85, 39, 0, 160, 300, null, null],
|
||||
[0, "부투핑", null, 0, null, 71, 39, 83, 0, 160, 300, null, null],
|
||||
[0, "깜빡핑", null, 0, null, 72, 82, 39, 0, 160, 300, null, null],
|
||||
[0, "띠용핑", null, 0, null, 68, 39, 86, 0, 160, 300, null, null],
|
||||
[0, "주르핑", null, 0, null, 75, 79, 39, 0, 160, 300, null, null],
|
||||
[0, "차나핑", null, 0, null, 65, 39, 89, 0, 160, 300, null, null],
|
||||
[0, "따라핑", null, 0, null, 65, 89, 39, 0, 160, 300, null, null],
|
||||
[0, "나르핑", null, 0, null, 75, 39, 79, 0, 160, 300, null, null],
|
||||
[0, "무셔핑", null, 0, null, 68, 86, 39, 0, 160, 300, null, null],
|
||||
[0, "투투핑", null, 0, null, 72, 39, 82, 0, 160, 300, null, null],
|
||||
[0, "차캐핑", null, 0, null, 71, 83, 39, 0, 160, 300, null, null],
|
||||
[0, "떠벌핑", null, 0, null, 69, 39, 85, 0, 160, 300, null, null],
|
||||
[0, "다조핑", null, 0, null, 74, 80, 39, 0, 160, 300, null, null],
|
||||
[0, "화나핑", null, 0, null, 66, 39, 88, 0, 160, 300, null, null],
|
||||
[0, "시러핑", null, 0, null, 67, 87, 39, 0, 160, 300, null, null],
|
||||
[0, "바네핑", null, 0, null, 73, 39, 81, 0, 160, 300, null, null],
|
||||
[0, "덜덜핑", null, 0, null, 70, 84, 39, 0, 160, 300, null, null],
|
||||
[0, "그림핑", null, 0, null, 70, 39, 84, 0, 160, 300, null, null],
|
||||
[0, "무거핑", null, 0, null, 73, 81, 39, 0, 160, 300, null, null],
|
||||
[0, "꺼꿀핑", null, 0, null, 67, 39, 87, 0, 160, 300, null, null],
|
||||
[0, "씽씽핑", null, 0, null, 66, 88, 39, 0, 160, 300, null, null],
|
||||
[0, "베베핑", null, 0, null, 74, 39, 80, 0, 160, 300, null, null],
|
||||
[0, "코자핑", null, 0, null, 69, 85, 39, 0, 160, 300, null, null],
|
||||
[0, "딱풀핑", null, 0, null, 71, 39, 83, 0, 160, 300, null, null],
|
||||
[0, "모야핑", null, 0, null, 72, 82, 39, 0, 160, 300, null, null],
|
||||
[0, "토이핑", null, 0, null, 68, 39, 86, 0, 160, 300, null, null],
|
||||
[0, "또까핑", null, 0, null, 75, 79, 39, 0, 160, 300, null, null],
|
||||
[0, "플라핑", null, 0, null, 65, 39, 89, 0, 160, 300, null, null],
|
||||
[0, "노라핑", null, 0, null, 65, 89, 39, 0, 160, 300, null, null],
|
||||
[0, "노리핑", null, 0, null, 75, 39, 79, 0, 160, 300, null, null],
|
||||
[0, "아휴핑", null, 0, null, 68, 86, 39, 0, 160, 300, null, null],
|
||||
[0, "똑똑핑", null, 0, null, 72, 39, 82, 0, 160, 300, null, null],
|
||||
[0, "꽁꽁핑", null, 0, null, 71, 83, 39, 0, 160, 300, null, null],
|
||||
[0, "찌릿핑", null, 0, null, 69, 39, 85, 0, 160, 300, null, null],
|
||||
[0, "홀로핑", null, 0, null, 74, 80, 39, 0, 160, 300, null, null],
|
||||
[0, "악동핑", null, 0, null, 72, 98, 46, 0, 160, 300, null, null, "모두를 다시 풀어주겠어. 기다려라 친구들이여, 통통~!"],
|
||||
[0, "앙대핑", null, 0, null, 74, 96, 45, 0, 160, 300, null, null, "이 몸은 앙대핑. 난, 여러 감정들을 뒤섞어서 싸움을 부추기지!"],
|
||||
[0, "가면핑", null, 0, null, 71, 47, 97, 0, 160, 300, null, null, "나는 누구일까?"],
|
||||
[0, "까르핑", null, 0, null, 66, 39, 88, 0, 160, 300, null, null],
|
||||
[0, "아야핑", null, 0, null, 70, 39, 84, 0, 160, 300, null, null],
|
||||
[0, "소원핑", null, 0, null, 73, 39, 81, 0, 160, 300, null, null],
|
||||
[0, "토닥핑", null, 0, null, 70, 84, 39, 0, 160, 300, null, null],
|
||||
[0, "쪼꼼핑", null, 0, null, 67, 87, 39, 0, 160, 300, null, null],
|
||||
[0, "싹싹핑", null, 0, null, 73, 81, 39, 0, 160, 300, null, null],
|
||||
[0, "맛나핑", null, 0, null, 67, 39, 87, 0, 160, 300, null, null],
|
||||
[0, "포근핑", null, 0, null, 21, 65, 85, 0, 160, 300, null, null],
|
||||
[0, "다해핑", null, 0, null, 19, 64, 86, 0, 160, 300, null, null],
|
||||
[0, "메모핑", null, 0, null, 22, 62, 88, 0, 160, 300, null, null],
|
||||
[0, "공쥬핑", null, 0, null, 18, 87, 63, 0, 160, 300, null, null],
|
||||
[0, "짝짝핑", null, 0, null, 24, 63, 84, 0, 160, 300, null, null],
|
||||
[0, "주네핑", null, 0, null, 17, 86, 66, 0, 160, 300, null, null],
|
||||
[0, "뚝딱핑", null, 0, null, 20, 85, 64, 0, 160, 300, null, null],
|
||||
[0, "발레핑", null, 0, null, 23, 61, 89, 0, 160, 300, null, null],
|
||||
[0, "원더핑", null, 0, null, 20, 88, 63, 0, 160, 300, null, null],
|
||||
[0, "시진핑", null, 0, null, 80, 90, 44, 0, 160, 300, null, null, "핑핑이 정부는 하나의 핑국을 확고히 주장하며 '두 개의 핑국'에 반대한다"],
|
||||
[0, "반도핑", null, 0, null, 71, 48, 97, 0, 160, 300, null, null],
|
||||
[0, "마휘핑", null, 0, null, 77, 45, 93, 0, 160, 300, null, null, "총 69명의 친구들이 아이들의 돈을 쓸어담아줍니다"],
|
||||
[0, "미아핑", null, 0, null, 73, 46, 96, 0, 160, 300, null, null],
|
||||
[0, "앵벌스", null, 0, "진류", 108, 117, 40, 0, 160, 300, "출세", "의술", "다람쥐는 위대하고 그 외에 다른 설치류는 없다"],
|
||||
[0, "앵드캡", null, 0, null, 72, 99, 47, 0, 160, 300, null, null, "레드캡투어 풀매수"],
|
||||
[0, "야람쥐", null, 0, null, 91, 80, 49, 0, 160, 300, null, null],
|
||||
[0, "앵야호", null, 0, null, 73, 46, 97, 0, 160, 300, null, null, "앵야~호"],
|
||||
[0, "착한람쥐죽은람쥐", null, 0, null, 74, 96, 44, 0, 160, 300, null, null],
|
||||
[0, "호람쥐", null, 0, null, 73, 49, 95, 0, 160, 300, null, null, "호우~"],
|
||||
[0, "갤노트람쥐", null, 0, null, 79, 91, 41, 0, 160, 300, null, null, "초코송이"],
|
||||
[0, "아가다람쥐앵벌스", null, 0, null, 74, 96, 40, 0, 160, 300, null, null],
|
||||
[0, "머슬다람쥐", null, 0, null, 74, 96, 47, 0, 160, 300, null, null],
|
||||
[0, "다럼쥐", null, 0, null, 29, 94, 83, 0, 160, 300, null, null],
|
||||
[0, "앵날먹", null, 0, null, 32, 82, 96, 0, 160, 300, null, null],
|
||||
[0, "돌림쥐", null, 0, null, 73, 46, 96, 0, 160, 300, null, null],
|
||||
[0, "제갈람쥐", null, 0, null, 73, 44, 97, 0, 160, 300, null, null],
|
||||
[0, "앵람쥐", null, 0, null, 90, 79, 40, 0, 160, 300, null, null],
|
||||
[0, "1분장삭턴다람쥐", null, 0, null, 78, 43, 92, 0, 160, 300, null, null],
|
||||
[0, "거친다람쥐", null, 0, null, 77, 40, 93, 0, 160, 300, null, null],
|
||||
[0, "다림쥐", null, 0, null, 74, 42, 97, 0, 160, 300, null, null],
|
||||
[0, "디람쥐", null, 0, null, 78, 92, 44, 0, 160, 300, null, null],
|
||||
[0, "독구킬러다람쥐", null, 0, null, 75, 95, 45, 0, 160, 300, null, null],
|
||||
[0, "다람쥐", null, 0, null, 75, 45, 95, 0, 160, 300, null, null],
|
||||
[0, "다랍쥐", null, 0, null, 68, 39, 87, 0, 160, 300, null, null],
|
||||
[0, "아람쥐", null, 0, null, 80, 45, 90, 0, 160, 300, null, null, "앵버거 대성공"],
|
||||
[0, "독황상제", null, 0, "강주", 106, 45, 120, 0, 160, 300, "출세", "집중", "나는 나보다 약한 녀석의 명령 따위는 듣지 않는다"],
|
||||
[0, "갈근", null, 0, null, 72, 47, 98, 0, 160, 300, null, null],
|
||||
[0, "독 안에 든 쥐", null, 0, null, 72, 98, 45, 0, 160, 300, null, null],
|
||||
[0, "독개비", null, 0, null, 72, 98, 45, 0, 160, 300, null, null],
|
||||
[0, "독거노견", null, 0, null, 71, 99, 46, 0, 160, 300, null, null],
|
||||
[0, "독거노인", null, 0, null, 72, 45, 98, 0, 160, 300, null, null],
|
||||
[0, "독구", null, 0, null, 71, 46, 99, 0, 160, 300, null, null, "웃자 ^-^"],
|
||||
[0, "독널무덤", null, 0, null, 72, 98, 45, 0, 160, 300, null, null],
|
||||
[0, "독도는우리땅", null, 0, null, 73, 44, 97, 0, 160, 300, null, null],
|
||||
[0, "독립투견", null, 0, null, 73, 44, 97, 0, 160, 300, null, null],
|
||||
[0, "독멜른", null, 0, null, 73, 44, 97, 0, 160, 300, null, null],
|
||||
[0, "독무대", null, 0, null, 71, 99, 46, 0, 160, 300, null, null],
|
||||
[0, "독백", null, 0, null, 72, 45, 98, 0, 160, 300, null, null],
|
||||
[0, "독불장군", null, 0, null, 72, 45, 98, 0, 160, 300, null, null],
|
||||
[0, "독산 현령", null, 0, null, 72, 45, 98, 0, 160, 300, null, null],
|
||||
[0, "독산동", null, 0, null, 73, 44, 97, 0, 160, 300, null, null],
|
||||
[0, "독산출판", null, 0, null, 73, 44, 97, 0, 160, 300, null, null],
|
||||
[0, "독설가", null, 0, null, 72, 45, 98, 0, 160, 300, null, null],
|
||||
[0, "독신", null, 0, null, 71, 47, 99, 0, 160, 300, null, null],
|
||||
[0, "독심술사", null, 0, null, 71, 99, 46, 0, 160, 300, null, null],
|
||||
[0, "독악질", null, 0, null, 71, 99, 46, 0, 160, 300, null, null, "시 스 시"],
|
||||
[0, "독야청정", null, 0, null, 73, 97, 44, 0, 160, 300, null, null],
|
||||
[0, "독우", null, 0, null, 73, 97, 44, 0, 160, 300, null, null],
|
||||
[0, "독이 든 성배", null, 0, null, 71, 99, 46, 0, 160, 300, null, null],
|
||||
[0, "독재자", null, 0, null, 71, 46, 99, 0, 160, 300, null, null, "대 실 패"],
|
||||
[0, "독종", null, 0, null, 73, 97, 44, 0, 160, 300, null, null],
|
||||
[0, "독지가", null, 0, null, 71, 99, 46, 0, 160, 300, null, null, "대 성 공"],
|
||||
[0, "독지각", null, 0, null, 71, 99, 46, 0, 160, 300, null, null, "독 피 자"],
|
||||
[0, "독피자", null, 0, null, 74, 48, 96, 0, 160, 300, null, null],
|
||||
[0, "독해와 작문", null, 0, null, 73, 44, 97, 0, 160, 300, null, null],
|
||||
[0, "독식물", null, 0, null, 68, 83, 36, 0, 160, 300, null, null, "독식물키우세요"],
|
||||
[0, "천괴은", null, 0, "회계", 106, 117, 43, 0, 160, 300, "출세", "견고", "헤헤.."],
|
||||
[0, "천괴금", null, 0, null, 31, 88, 97, 0, 160, 300, null, null, "헤헤.."],
|
||||
[0, "천괴동", null, 0, null, 74, 96, 46, 0, 160, 300, null, null],
|
||||
[0, "천괴수", null, 0, null, 76, 94, 45, 0, 160, 300, null, null],
|
||||
[0, "천괴호우", null, 0, null, 77, 44, 93, 0, 160, 300, null, null],
|
||||
[0, "천괴코인", null, 0, null, 73, 97, 43, 0, 160, 300, null, null],
|
||||
[0, "천괴흙", null, 0, null, 78, 43, 92, 0, 160, 300, null, null],
|
||||
[0, "천괴다이아", null, 0, null, 76, 44, 94, 0, 160, 300, null, null],
|
||||
[0, "천괴옥", null, 0, null, 72, 47, 95, 0, 160, 300, null, null, "쓰레기는 쓰레기통에 넣어 주세요. 저도 같이요"],
|
||||
[0, "천고l금", null, 0, null, 37, 83, 95, 0, 160, 300, null, null]
|
||||
],
|
||||
"general_ex":[
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user