Compare commits
79
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4de7ebec17 | ||
|
|
d43dff35fb | ||
|
|
5b13f8bd30 | ||
|
|
e51bc6f711 | ||
|
|
1b08aa0c58 | ||
|
|
f2547fe207 | ||
|
|
cec7726731 | ||
|
|
d679a6fed8 | ||
|
|
6fe156eb7c | ||
|
|
663ddbe76a | ||
|
|
30297454f7 | ||
|
|
bc602722bf | ||
|
|
be8f147216 | ||
|
|
b9495fb64a | ||
|
|
07b217b290 | ||
|
|
42fac46062 | ||
|
|
24bc8985d0 | ||
|
|
76a2d5ff63 | ||
|
|
148f32f78b | ||
|
|
62f5b6597e | ||
|
|
7e810b0279 | ||
|
|
2336b29b65 | ||
|
|
185c0e16a0 | ||
|
|
656baeb9ee | ||
|
|
3e06304dc7 | ||
|
|
4bb940c8c5 | ||
|
|
2b376b6aab | ||
|
|
04df26ff83 | ||
|
|
aca4240b92 | ||
|
|
faf26fa8a2 | ||
|
|
030ab1e7ea | ||
|
|
7f2c1d4782 | ||
|
|
9132138a99 | ||
|
|
84875d60bd | ||
|
|
3cbaf76626 | ||
|
|
f4846d0d66 | ||
|
|
f183dcc72b | ||
|
|
63cc5d8e88 | ||
|
|
f858c32fdf | ||
|
|
60eb127d71 | ||
|
|
ede33f3a37 | ||
|
|
ffd53a2390 | ||
|
|
2591fbde67 | ||
|
|
922d3f1938 | ||
|
|
64522ba8a6 | ||
|
|
7b1eedb574 | ||
|
|
7ec6ca605f | ||
|
|
5a5c613814 | ||
|
|
1a3ef20a35 | ||
|
|
fba966177d | ||
|
|
62c72dfdbe | ||
|
|
1ae1ff9b72 | ||
|
|
c1e12c2737 | ||
|
|
de09a66d6f | ||
|
|
3c2012da46 | ||
|
|
d55be54320 | ||
|
|
dcbefa1a96 | ||
|
|
be8f1fff96 | ||
|
|
6117dbdcc0 | ||
|
|
0a39ba1023 | ||
|
|
dae5f65baa | ||
|
|
080bb30103 | ||
|
|
9e647c7ce5 | ||
|
|
73606b0fb4 | ||
|
|
e62eb36cc2 | ||
|
|
6b81f744d4 | ||
|
|
1a9b3b78cb | ||
|
|
c3cbf956d0 | ||
|
|
91188c555d | ||
|
|
913028dd6c | ||
|
|
dfb3f6478d | ||
|
|
6afc6221d3 | ||
|
|
7b5a02487e | ||
|
|
533b79762e | ||
|
|
53b7dbfdd0 | ||
|
|
fd14c5403b | ||
|
|
dc476e73a1 | ||
|
|
e60150705e | ||
|
|
2869ba5c42 |
@@ -12,7 +12,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"brandonwamboldt/utilphp": "^1.1",
|
|
||||||
"sergeytsalkov/meekrodb": "^2.5",
|
"sergeytsalkov/meekrodb": "^2.5",
|
||||||
"league/plates": "^3.5",
|
"league/plates": "^3.5",
|
||||||
"vlucas/valitron": "^1.4",
|
"vlucas/valitron": "^1.4",
|
||||||
|
|||||||
Generated
+2
-52
@@ -4,58 +4,8 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "deed9afdc95bc42f84784df67d295223",
|
"content-hash": "7edae9b6be35e66ffd0d180f5fac6679",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
|
||||||
"name": "brandonwamboldt/utilphp",
|
|
||||||
"version": "1.1.0",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/brandonwamboldt/utilphp.git",
|
|
||||||
"reference": "36c32efc4f0679c05163464a550f45c8d83fe683"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/brandonwamboldt/utilphp/zipball/36c32efc4f0679c05163464a550f45c8d83fe683",
|
|
||||||
"reference": "36c32efc4f0679c05163464a550f45c8d83fe683",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.3.3"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"satooshi/php-coveralls": "dev-master"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"psr-0": {
|
|
||||||
"utilphp\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Brandon Wamboldt",
|
|
||||||
"email": "brandon.wamboldt@gmail.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "util.php is a collection of useful functions and snippets that you need or could use every day, designed to avoid conflicts with existing projects",
|
|
||||||
"homepage": "https://github.com/brandonwamboldt/utilphp",
|
|
||||||
"keywords": [
|
|
||||||
"collection",
|
|
||||||
"helpers",
|
|
||||||
"php",
|
|
||||||
"utility"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/brandonwamboldt/utilphp/issues",
|
|
||||||
"source": "https://github.com/brandonwamboldt/utilphp/tree/master"
|
|
||||||
},
|
|
||||||
"time": "2015-02-02T17:56:14+00:00"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "brick/math",
|
"name": "brick/math",
|
||||||
"version": "0.12.1",
|
"version": "0.12.1",
|
||||||
@@ -5721,5 +5671,5 @@
|
|||||||
"platform-overrides": {
|
"platform-overrides": {
|
||||||
"php": "8.3"
|
"php": "8.3"
|
||||||
},
|
},
|
||||||
"plugin-api-version": "2.3.0"
|
"plugin-api-version": "2.6.0"
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-1
@@ -99,7 +99,10 @@ function logError(string $err, string $errstr, string $errpath, array $trace)
|
|||||||
$err = str_replace(ROOT, '{ROOT}', $err);
|
$err = str_replace(ROOT, '{ROOT}', $err);
|
||||||
$errstr = str_replace(ROOT, '{ROOT}', $errstr);
|
$errstr = str_replace(ROOT, '{ROOT}', $errstr);
|
||||||
$errpath = str_replace(ROOT, '{ROOT}', $errpath);
|
$errpath = str_replace(ROOT, '{ROOT}', $errpath);
|
||||||
$trace = array_map(function (string $text) {
|
$trace = array_map(function (string|array $text) {
|
||||||
|
if (is_array($text)) {
|
||||||
|
$text = Json::encode($text);
|
||||||
|
}
|
||||||
return str_replace(ROOT, '{ROOT}', $text);
|
return str_replace(ROOT, '{ROOT}', $text);
|
||||||
}, $trace);
|
}, $trace);
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -31,7 +31,7 @@ $queryMap = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
if ($reqQueryType === null || !key_exists($reqQueryType, $queryMap)) {
|
if ($reqQueryType === null || !key_exists($reqQueryType, $queryMap)) {
|
||||||
$reqQueryType = Util::array_first_key($queryMap);
|
$reqQueryType = array_key_first($queryMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
|
|||||||
+1
-1
@@ -1047,7 +1047,7 @@ function increaseRefresh($type = "", $cnt = 1)
|
|||||||
|
|
||||||
$logDB = FileDB::db($logPath, $serverPath . '/../f_install/sql/api_log.sql');
|
$logDB = FileDB::db($logPath, $serverPath . '/../f_install/sql/api_log.sql');
|
||||||
|
|
||||||
$ip = $_SERVER['REMOTE_ADDR'] ?? 'local';
|
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'] ?? $_SERVER['REMOTE_ADDR'] ?? 'local';
|
||||||
$date = date('Y-m-d H:i:s');
|
$date = date('Y-m-d H:i:s');
|
||||||
|
|
||||||
$logDB->insert('api_log', [
|
$logDB->insert('api_log', [
|
||||||
|
|||||||
@@ -686,7 +686,7 @@ function TechLimit($startYear, $year, $tech) : bool {
|
|||||||
$relYear = $year - $startYear;
|
$relYear = $year - $startYear;
|
||||||
|
|
||||||
$relMaxTech = Util::valueFit(
|
$relMaxTech = Util::valueFit(
|
||||||
floor($relYear / 5) + 1,
|
floor($relYear / GameConst::$techLevelIncYear) + GameConst::$initialAllowedTechLevel,
|
||||||
1,
|
1,
|
||||||
GameConst::$maxTechLevel
|
GameConst::$maxTechLevel
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -559,7 +559,7 @@ function checkStatistic()
|
|||||||
|
|
||||||
$nationHist = '';
|
$nationHist = '';
|
||||||
foreach (GameConst::$availableNationType as $nationType) {
|
foreach (GameConst::$availableNationType as $nationType) {
|
||||||
if (!Util::array_get($nationHists[$nationType])) {
|
if (!($nationHists[$nationType] ?? null)) {
|
||||||
$nationHists[$nationType] = '-';
|
$nationHists[$nationType] = '-';
|
||||||
}
|
}
|
||||||
$nationHist .= getNationType($nationType) . "({$nationHists[$nationType]}), ";
|
$nationHist .= getNationType($nationType) . "({$nationHists[$nationType]}), ";
|
||||||
|
|||||||
+2
-2
@@ -138,7 +138,7 @@ function JSCitiesBasedOnDistance(int $cityNo, int $maxDistance = 1): array{
|
|||||||
$distanceList = searchDistance($cityNo, $maxDistance, true);
|
$distanceList = searchDistance($cityNo, $maxDistance, true);
|
||||||
$result = [];
|
$result = [];
|
||||||
for ($dist = 1; $dist <= $maxDistance; $dist++) {
|
for ($dist = 1; $dist <= $maxDistance; $dist++) {
|
||||||
$result[$dist] = Util::array_get($distanceList[$dist], []);
|
$result[$dist] = $distanceList[$dist] ?? [];
|
||||||
}
|
}
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
@@ -152,7 +152,7 @@ function printCitiesBasedOnDistance(int $cityNo, int $maxDistance = 1): string
|
|||||||
for ($dist = 1; $dist <= $maxDistance; $dist++) {
|
for ($dist = 1; $dist <= $maxDistance; $dist++) {
|
||||||
$cityList = array_map(function ($cityID) {
|
$cityList = array_map(function ($cityID) {
|
||||||
return CityConst::byID($cityID)->name;
|
return CityConst::byID($cityID)->name;
|
||||||
}, Util::array_get($distanceList[$dist], []));
|
}, $distanceList[$dist] ?? []);
|
||||||
|
|
||||||
$cityStr = join(', ', $cityList);
|
$cityStr = join(', ', $cityList);
|
||||||
|
|
||||||
|
|||||||
@@ -1153,21 +1153,25 @@ function fight($tnmt_type, $tnmt, $phs, $group, $g1, $g2, $type)
|
|||||||
];
|
];
|
||||||
|
|
||||||
//막판 분노
|
//막판 분노
|
||||||
|
$factor1 = 1.0;
|
||||||
|
$factor2 = 1.0;
|
||||||
$ratio = rand() % 300;
|
$ratio = rand() % 300;
|
||||||
if ($e1 / 5 > $energy1 && $damage1 > $damage2 && $gen1[$tp] >= $ratio) {
|
if ($e1 / 5 > $energy1 && $damage1 > $damage2 && $gen1[$tp] >= $ratio) {
|
||||||
$damage2 *= Util::round((rand() % 301 + 200) / 100); // 200 ~ 500%
|
$factor2 = Util::round((rand() % 301 + 200) / 100); // 200 ~ 500%
|
||||||
$critical1 = 1;
|
$critical1 = 1;
|
||||||
$str = Util::choiceRandom($crticialSkillMap[$tnmt_type]);
|
$str = Util::choiceRandom($crticialSkillMap[$tnmt_type]);
|
||||||
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 분노의 <M>{$str}</> 공격!";
|
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 분노의 <M>{$str}</> 공격!";
|
||||||
}
|
}
|
||||||
$ratio = rand() % 300;
|
$ratio = rand() % 300;
|
||||||
if ($e2 / 5 > $energy2 && $damage2 > $damage1 && $gen2[$tp] >= $ratio) {
|
if ($e2 / 5 > $energy2 && $damage2 > $damage1 && $gen2[$tp] >= $ratio) {
|
||||||
$damage1 *= Util::round((rand() % 301 + 200) / 100); // 200 ~ 500%
|
$factor1 = Util::round((rand() % 301 + 200) / 100); // 200 ~ 500%
|
||||||
$critical2 = 1;
|
$critical2 = 1;
|
||||||
|
|
||||||
$str = Util::choiceRandom($crticialSkillMap[$tnmt_type]);
|
$str = Util::choiceRandom($crticialSkillMap[$tnmt_type]);
|
||||||
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 분노의 <M>{$str}</> 공격!";
|
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 분노의 <M>{$str}</> 공격!";
|
||||||
}
|
}
|
||||||
|
$damage1 *= $factor1;
|
||||||
|
$damage2 *= $factor2;
|
||||||
|
|
||||||
//1합 승부
|
//1합 승부
|
||||||
if ($phase == 1) {
|
if ($phase == 1) {
|
||||||
|
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ function do도시임명(General $general, int $cityID, int $targetOfficerLevel):
|
|||||||
return '올바르지 않은 도시입니다';
|
return '올바르지 않은 도시입니다';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($general->getVar(GeneralColumn::officer_level) >= 4 && $myPenalty[PenaltyKey::NoChiefChange->value] ?? false) {
|
if ($general->getVar(GeneralColumn::officer_level) >= 4 && ($myPenalty[PenaltyKey::NoChiefChange->value] ?? false)) {
|
||||||
return '수뇌인 장수를 변경할 수 없는 상태입니다.';
|
return '수뇌인 장수를 변경할 수 없는 상태입니다.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ $penaltyInfo = array_merge($memberPenalty['any'] ?? [], $memberPenalty[DB::prefi
|
|||||||
|
|
||||||
$penalty = [];
|
$penalty = [];
|
||||||
foreach($penaltyInfo as $penaltyKey => $penaltyValue){
|
foreach($penaltyInfo as $penaltyKey => $penaltyValue){
|
||||||
if($penaltyValue['expire'] ?? 0 > TimeUtil::now()){
|
if(($penaltyValue['expire'] ?? 0) > TimeUtil::now()){
|
||||||
$penalty[$penaltyKey] = $penaltyValue['value'];
|
$penalty[$penaltyKey] = $penaltyValue['value'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ $penaltyInfo = array_merge($memberPenalty['any'] ?? [], $memberPenalty[DB::prefi
|
|||||||
|
|
||||||
$penalty = [];
|
$penalty = [];
|
||||||
foreach ($penaltyInfo as $penaltyKey => $penaltyValue) {
|
foreach ($penaltyInfo as $penaltyKey => $penaltyValue) {
|
||||||
if ($penaltyValue['expire'] ?? 0 > TimeUtil::now()) {
|
if (($penaltyValue['expire'] ?? 0) > TimeUtil::now()) {
|
||||||
$penalty[$penaltyKey] = $penaltyValue['value'];
|
$penalty[$penaltyKey] = $penaltyValue['value'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-2
@@ -51,8 +51,9 @@ function MessageBox($str)
|
|||||||
|
|
||||||
function LogText($prefix, $variable)
|
function LogText($prefix, $variable)
|
||||||
{
|
{
|
||||||
$text = sprintf('%s : %s'."\r\n", $prefix, TVarDumper::dump($variable));
|
return;
|
||||||
file_put_contents(ROOT.'/d_log/'.UniqueConst::$serverName.'_dbg_logs.txt', $text, FILE_APPEND);
|
//$text = sprintf('%s : %s'."\r\n", $prefix, TVarDumper::dump($variable));
|
||||||
|
//file_put_contents(ROOT.'/d_log/'.UniqueConst::$serverName.'_dbg_logs.txt', $text, FILE_APPEND);
|
||||||
}
|
}
|
||||||
|
|
||||||
function prepareDir(string $dirPath, bool $forceCreate=true):bool{
|
function prepareDir(string $dirPath, bool $forceCreate=true):bool{
|
||||||
|
|||||||
+9
-1
@@ -8,4 +8,12 @@ $session = Session::getInstance()->setReadOnly();
|
|||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
|
||||||
TurnExecutionHelper::executeAllCommand();
|
$updated = false;
|
||||||
|
$locked = false;
|
||||||
|
$lastExecuted = TurnExecutionHelper::executeAllCommand($updated, $locked);
|
||||||
|
Json::die([
|
||||||
|
'result' => true,
|
||||||
|
'updated' => $updated,
|
||||||
|
'locked' => $locked,
|
||||||
|
'lastExecuted' => $lastExecuted,
|
||||||
|
]);
|
||||||
+3
-3
@@ -526,7 +526,7 @@ function DeleteConflict($nation)
|
|||||||
function getConquerNation($city): int
|
function getConquerNation($city): int
|
||||||
{
|
{
|
||||||
$conflict = Json::decode($city['conflict']);
|
$conflict = Json::decode($city['conflict']);
|
||||||
return Util::array_first_key($conflict);
|
return array_key_first($conflict);
|
||||||
}
|
}
|
||||||
|
|
||||||
function ConquerCity(array $admin, General $general, array $city, array $defenderCityGeneralList)
|
function ConquerCity(array $admin, General $general, array $city, array $defenderCityGeneralList)
|
||||||
@@ -785,8 +785,8 @@ function ConquerCity(array $admin, General $general, array $city, array $defende
|
|||||||
'officer_set' => 0,
|
'officer_set' => 0,
|
||||||
];
|
];
|
||||||
if ($city['level'] > 3) {
|
if ($city['level'] > 3) {
|
||||||
$query['def'] = 1000;
|
$query['def'] = GameConst::$defaultCityWall;
|
||||||
$query['wall'] = 1000;
|
$query['wall'] = GameConst::$defaultCityWall;
|
||||||
} else {
|
} else {
|
||||||
$query['def'] = $db->sqleval('def_max/2');
|
$query['def'] = $db->sqleval('def_max/2');
|
||||||
$query['wall'] = $db->sqleval('wall_max/2');
|
$query['wall'] = $db->sqleval('wall_max/2');
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ class Join extends \sammo\BaseAPI
|
|||||||
}
|
}
|
||||||
|
|
||||||
$gameID = UniqueConst::$serverID;
|
$gameID = UniqueConst::$serverID;
|
||||||
$alreadyJoined = $db->queryFirstField('SELECT count(*) FROM `storage` WHERE `namespace` = %s AND `key` LIKE %s', 'inheritance_result', "{$gameID}_{$userID}_%");
|
$alreadyJoined = $db->queryFirstField('SELECT COUNT(*) FROM `inheritance_result` WHERE `server_id` = %s AND `owner` = %i', $gameID, $userID);
|
||||||
if ($alreadyJoined) {
|
if ($alreadyJoined) {
|
||||||
//이미 받았음
|
//이미 받았음
|
||||||
return 0;
|
return 0;
|
||||||
@@ -157,7 +157,7 @@ class Join extends \sammo\BaseAPI
|
|||||||
|
|
||||||
$penalty = [];
|
$penalty = [];
|
||||||
foreach($penaltyInfo as $penaltyKey => $penaltyValue){
|
foreach($penaltyInfo as $penaltyKey => $penaltyValue){
|
||||||
if($penaltyValue['expire'] ?? 0 > TimeUtil::now()){
|
if(($penaltyValue['expire'] ?? 0) > TimeUtil::now()){
|
||||||
$penalty[$penaltyKey] = $penaltyValue['value'];
|
$penalty[$penaltyKey] = $penaltyValue['value'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class che_척사_오악진형도 extends \sammo\BaseItem{
|
|||||||
|
|
||||||
public function getWarPowerMultiplier(WarUnit $unit):array{
|
public function getWarPowerMultiplier(WarUnit $unit):array{
|
||||||
$opposeCrewType = $unit->getOppose()->getCrewType();
|
$opposeCrewType = $unit->getOppose()->getCrewType();
|
||||||
if($opposeCrewType->reqCities || $opposeCrewType->reqRegions){
|
if($opposeCrewType->reqCities() || $opposeCrewType->reqRegions()){
|
||||||
return [1.15, 0.85];
|
return [1.15, 0.85];
|
||||||
}
|
}
|
||||||
return [1, 1];
|
return [1, 1];
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ class event_전투특기_공성 extends \sammo\BaseItem{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_SIEGE;
|
$myArmType = 'dex'.GameUnitConst::T_SIEGE;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ class event_전투특기_궁병 extends \sammo\BaseItem{
|
|||||||
if($statName === 'warAvoidRatio'){
|
if($statName === 'warAvoidRatio'){
|
||||||
return $value + 0.2;
|
return $value + 0.2;
|
||||||
}
|
}
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_ARCHER;
|
$myArmType = 'dex'.GameUnitConst::T_ARCHER;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ class event_전투특기_귀병 extends \sammo\BaseItem{
|
|||||||
if($statName === 'warMagicSuccessProb'){
|
if($statName === 'warMagicSuccessProb'){
|
||||||
return $value + 0.2;
|
return $value + 0.2;
|
||||||
}
|
}
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_WIZARD;
|
$myArmType = 'dex'.GameUnitConst::T_WIZARD;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class event_전투특기_기병 extends \sammo\BaseItem{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_CAVALRY;
|
$myArmType = 'dex'.GameUnitConst::T_CAVALRY;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ class event_전투특기_보병 extends \sammo\BaseItem{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_FOOTMAN;
|
$myArmType = 'dex'.GameUnitConst::T_FOOTMAN;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class event_전투특기_척사 extends \sammo\BaseItem{
|
|||||||
|
|
||||||
public function getWarPowerMultiplier(WarUnit $unit):array{
|
public function getWarPowerMultiplier(WarUnit $unit):array{
|
||||||
$opposeCrewType = $unit->getOppose()->getCrewType();
|
$opposeCrewType = $unit->getOppose()->getCrewType();
|
||||||
if($opposeCrewType->reqCities || $opposeCrewType->reqRegions){
|
if($opposeCrewType->reqCities() || $opposeCrewType->reqRegions()){
|
||||||
return [1.2, 0.8];
|
return [1.2, 0.8];
|
||||||
}
|
}
|
||||||
return [1, 1];
|
return [1, 1];
|
||||||
|
|||||||
@@ -0,0 +1,68 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo\ActionScenarioEffect;
|
||||||
|
|
||||||
|
use \sammo\iAction;
|
||||||
|
use sammo\Util;
|
||||||
|
use sammo\WarUnit;
|
||||||
|
use sammo\WarUnitCity;
|
||||||
|
use sammo\WarUnitTrigger\che_전멸시페이즈증가;
|
||||||
|
use sammo\WarUnitTriggerCaller;
|
||||||
|
|
||||||
|
class event_MoreEffect implements iAction
|
||||||
|
{
|
||||||
|
use \sammo\DefaultAction;
|
||||||
|
|
||||||
|
public function getWarPowerMultiplier(WarUnit $unit): array
|
||||||
|
{
|
||||||
|
if ($unit->isAttacker()) {
|
||||||
|
return [1.4, 0.7143];
|
||||||
|
}
|
||||||
|
return [1, 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onCalcDomestic(string $turnType, string $varType, float $value, $aux = null): float
|
||||||
|
{
|
||||||
|
$scoreMap = [
|
||||||
|
'상업' => 2,
|
||||||
|
'농업' => 2,
|
||||||
|
'치안' => 2,
|
||||||
|
'기술' => 2,
|
||||||
|
'성벽' => 2,
|
||||||
|
'수비' => 2,
|
||||||
|
'인구' => 2,
|
||||||
|
'민심' => 2,
|
||||||
|
];
|
||||||
|
if ($turnType == 'changeDefenceTrain') {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if ($varType === 'score' && key_exists($turnType, $scoreMap)) {
|
||||||
|
$multiplier = $scoreMap[$turnType];
|
||||||
|
$value *= $multiplier;
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onCalcNationalIncome(string $type, $amount){
|
||||||
|
if($type == 'gold'){
|
||||||
|
return $amount * 2;
|
||||||
|
}
|
||||||
|
if($type == 'rice'){
|
||||||
|
return $amount * 2;
|
||||||
|
}
|
||||||
|
if($type == 'pop' && $amount > 0){
|
||||||
|
return $amount * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getBattlePhaseSkillTriggerList(\sammo\WarUnit $unit): ?WarUnitTriggerCaller
|
||||||
|
{
|
||||||
|
return new WarUnitTriggerCaller(
|
||||||
|
new che_전멸시페이즈증가($unit),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -35,7 +35,7 @@ class che_event_공성 extends \sammo\BaseSpecial{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_SIEGE;
|
$myArmType = 'dex'.GameUnitConst::T_SIEGE;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class che_event_궁병 extends \sammo\BaseSpecial{
|
|||||||
if($statName === 'warAvoidRatio'){
|
if($statName === 'warAvoidRatio'){
|
||||||
return $value + 0.2;
|
return $value + 0.2;
|
||||||
}
|
}
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_ARCHER;
|
$myArmType = 'dex'.GameUnitConst::T_ARCHER;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ class che_event_귀병 extends \sammo\BaseSpecial{
|
|||||||
if($statName === 'warMagicSuccessProb'){
|
if($statName === 'warMagicSuccessProb'){
|
||||||
return $value + 0.2;
|
return $value + 0.2;
|
||||||
}
|
}
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_WIZARD;
|
$myArmType = 'dex'.GameUnitConst::T_WIZARD;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class che_event_기병 extends \sammo\BaseSpecial{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_CAVALRY;
|
$myArmType = 'dex'.GameUnitConst::T_CAVALRY;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class che_event_보병 extends \sammo\BaseSpecial{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_FOOTMAN;
|
$myArmType = 'dex'.GameUnitConst::T_FOOTMAN;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class che_event_척사 extends \sammo\BaseSpecial{
|
|||||||
|
|
||||||
public function getWarPowerMultiplier(WarUnit $unit):array{
|
public function getWarPowerMultiplier(WarUnit $unit):array{
|
||||||
$opposeCrewType = $unit->getOppose()->getCrewType();
|
$opposeCrewType = $unit->getOppose()->getCrewType();
|
||||||
if($opposeCrewType->reqCities || $opposeCrewType->reqRegions){
|
if($opposeCrewType->reqCities() || $opposeCrewType->reqRegions()){
|
||||||
return [1.2, 0.8];
|
return [1.2, 0.8];
|
||||||
}
|
}
|
||||||
return [1, 1];
|
return [1, 1];
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class che_공성 extends \sammo\BaseSpecial{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_SIEGE;
|
$myArmType = 'dex'.GameUnitConst::T_SIEGE;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class che_궁병 extends \sammo\BaseSpecial{
|
|||||||
if($statName === 'warAvoidRatio'){
|
if($statName === 'warAvoidRatio'){
|
||||||
return $value + 0.2;
|
return $value + 0.2;
|
||||||
}
|
}
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_ARCHER;
|
$myArmType = 'dex'.GameUnitConst::T_ARCHER;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ class che_귀병 extends \sammo\BaseSpecial{
|
|||||||
if($statName === 'warMagicSuccessProb'){
|
if($statName === 'warMagicSuccessProb'){
|
||||||
return $value + 0.2;
|
return $value + 0.2;
|
||||||
}
|
}
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_WIZARD;
|
$myArmType = 'dex'.GameUnitConst::T_WIZARD;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class che_기병 extends \sammo\BaseSpecial{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_CAVALRY;
|
$myArmType = 'dex'.GameUnitConst::T_CAVALRY;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class che_보병 extends \sammo\BaseSpecial{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||||
if(\sammo\Util::starts_with($statName, 'dex')){
|
if(str_starts_with($statName, 'dex')){
|
||||||
$myArmType = 'dex'.GameUnitConst::T_FOOTMAN;
|
$myArmType = 'dex'.GameUnitConst::T_FOOTMAN;
|
||||||
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
|
||||||
if($aux['isAttacker'] && $opposeArmType === $statName){
|
if($aux['isAttacker'] && $opposeArmType === $statName){
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class che_척사 extends \sammo\BaseSpecial{
|
|||||||
|
|
||||||
public function getWarPowerMultiplier(WarUnit $unit):array{
|
public function getWarPowerMultiplier(WarUnit $unit):array{
|
||||||
$opposeCrewType = $unit->getOppose()->getCrewType();
|
$opposeCrewType = $unit->getOppose()->getCrewType();
|
||||||
if($opposeCrewType->reqCities || $opposeCrewType->reqRegions){
|
if($opposeCrewType->reqCities() || $opposeCrewType->reqRegions()){
|
||||||
return [1.2, 0.8];
|
return [1.2, 0.8];
|
||||||
}
|
}
|
||||||
return [1, 1];
|
return [1, 1];
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ use \sammo\{
|
|||||||
Util, JosaUtil, DB,
|
Util, JosaUtil, DB,
|
||||||
General, GameConst,
|
General, GameConst,
|
||||||
ActionLogger,
|
ActionLogger,
|
||||||
|
Json,
|
||||||
LastTurn,
|
LastTurn,
|
||||||
NotInheritedMethodException,
|
NotInheritedMethodException,
|
||||||
RandUtil
|
RandUtil
|
||||||
@@ -118,6 +119,7 @@ abstract class BaseCommand{
|
|||||||
$nationID = $this->generalObj->getNationID();
|
$nationID = $this->generalObj->getNationID();
|
||||||
if($nationID == 0){
|
if($nationID == 0){
|
||||||
$this->nation = $this->generalObj->getStaticNation();
|
$this->nation = $this->generalObj->getStaticNation();
|
||||||
|
$this->nation['aux'] = [];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,7 +140,8 @@ abstract class BaseCommand{
|
|||||||
'gold'=>0,
|
'gold'=>0,
|
||||||
'rice'=>2000,
|
'rice'=>2000,
|
||||||
'tech'=>0,
|
'tech'=>0,
|
||||||
'gennum'=>1
|
'gennum'=>1,
|
||||||
|
'aux'=>'{}',
|
||||||
];
|
];
|
||||||
|
|
||||||
if($this->nation && $this->nation['nation'] === $nationID){
|
if($this->nation && $this->nation['nation'] === $nationID){
|
||||||
@@ -170,6 +173,10 @@ abstract class BaseCommand{
|
|||||||
else{
|
else{
|
||||||
$this->nation = $nation;
|
$this->nation = $nation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(is_string($this->nation['aux'] ?? null)){
|
||||||
|
$this->nation['aux'] = Json::decode($this->nation['aux']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function setDestGeneral(General $destGeneralObj){
|
protected function setDestGeneral(General $destGeneralObj){
|
||||||
@@ -312,12 +319,12 @@ abstract class BaseCommand{
|
|||||||
|
|
||||||
$this->generalObj->unpackAux();
|
$this->generalObj->unpackAux();
|
||||||
$constraintInput = [
|
$constraintInput = [
|
||||||
'general'=>$this->generalObj->getRaw(),
|
'general'=>$this->generalObj,
|
||||||
'city'=>$this->city,
|
'city'=>$this->city,
|
||||||
'nation'=>$this->nation,
|
'nation'=>$this->nation,
|
||||||
'cmd_arg'=>$this->arg,
|
'cmd_arg'=>$this->arg,
|
||||||
|
|
||||||
'destGeneral'=>$this->destGeneralObj?$this->destGeneralObj->getRaw():null,
|
'destGeneral'=>$this->destGeneralObj??null,
|
||||||
'destCity'=>$this->destCity,
|
'destCity'=>$this->destCity,
|
||||||
'destNation'=>$this->destNation,
|
'destNation'=>$this->destNation,
|
||||||
];
|
];
|
||||||
@@ -346,12 +353,12 @@ abstract class BaseCommand{
|
|||||||
|
|
||||||
$this->generalObj->unpackAux();
|
$this->generalObj->unpackAux();
|
||||||
$constraintInput = [
|
$constraintInput = [
|
||||||
'general'=>$this->generalObj->getRaw(),
|
'general'=>$this->generalObj,
|
||||||
'city'=>$this->city,
|
'city'=>$this->city,
|
||||||
'nation'=>$this->nation,
|
'nation'=>$this->nation,
|
||||||
'cmd_arg'=>$this->arg,
|
'cmd_arg'=>$this->arg,
|
||||||
|
|
||||||
'destGeneral'=>$this->destGeneralObj?$this->destGeneralObj->getRaw():null,
|
'destGeneral'=>$this->destGeneralObj??null,
|
||||||
'destCity'=>$this->destCity,
|
'destCity'=>$this->destCity,
|
||||||
'destNation'=>$this->destNation,
|
'destNation'=>$this->destNation,
|
||||||
];
|
];
|
||||||
@@ -384,12 +391,12 @@ abstract class BaseCommand{
|
|||||||
|
|
||||||
$this->generalObj->unpackAux();
|
$this->generalObj->unpackAux();
|
||||||
$constraintInput = [
|
$constraintInput = [
|
||||||
'general'=>$this->generalObj->getRaw(),
|
'general'=>$this->generalObj,
|
||||||
'city'=>$this->city,
|
'city'=>$this->city,
|
||||||
'nation'=>$this->nation,
|
'nation'=>$this->nation,
|
||||||
'cmd_arg'=>$this->arg,
|
'cmd_arg'=>$this->arg,
|
||||||
|
|
||||||
'destGeneral'=>$this->destGeneralObj?$this->destGeneralObj->getRaw():null,
|
'destGeneral'=>$this->destGeneralObj??null,
|
||||||
'destCity'=>$this->destCity,
|
'destCity'=>$this->destCity,
|
||||||
'destNation'=>$this->destNation,
|
'destNation'=>$this->destNation,
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ class che_건국 extends Command\GeneralCommand
|
|||||||
$general->addExperience($exp);
|
$general->addExperience($exp);
|
||||||
$general->addDedication($ded);
|
$general->addDedication($ded);
|
||||||
|
|
||||||
$aux = Json::decode($this->nation['aux']) ?? [];
|
$aux = $this->nation['aux'];
|
||||||
$aux['can_국기변경'] = 1;
|
$aux['can_국기변경'] = 1;
|
||||||
|
|
||||||
$db->update('city', [
|
$db->update('city', [
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ class che_랜덤임관 extends Command\GeneralCommand
|
|||||||
if ($notIn) {
|
if ($notIn) {
|
||||||
|
|
||||||
$rawGeneralsCnt = $db->query(
|
$rawGeneralsCnt = $db->query(
|
||||||
"SELECT g.`nation`, n.`gennum`, n.name, SUM((ra.value + 1000)/(rb.value + 1000)*(CASE WHEN g.`npc` < 2 THEN 1.2 ELSE 1 END)*(CASE WHEN g.`leadership` >= 40 THEN g.`leadership` ELSE 0 END)) AS warpower, SUM(SQRT(g.intel * g.strength) * 2 + g.leadership / 2)/5 AS develpower
|
"SELECT g.`nation`, n.`gennum`, n.name, SUM((ra.value + 50000)/(rb.value + 50000)*(CASE WHEN g.`npc` < 2 THEN 1.15 ELSE 1 END)*(CASE WHEN g.`leadership` >= 40 THEN g.`leadership` ELSE 0 END)) AS warpower, SUM(SQRT(g.intel * g.strength) * 2 + g.leadership / 2)/5 AS develpower
|
||||||
FROM general AS g
|
FROM general AS g
|
||||||
LEFT JOIN `rank_data` AS ra ON g.`no` = ra.general_id AND ra.`type` = 'killcrew_person'
|
LEFT JOIN `rank_data` AS ra ON g.`no` = ra.general_id AND ra.`type` = 'killcrew_person'
|
||||||
LEFT JOIN `rank_data` AS rb ON g.`no` = rb.general_id AND rb.`type` = 'deathcrew_person'
|
LEFT JOIN `rank_data` AS rb ON g.`no` = rb.general_id AND rb.`type` = 'deathcrew_person'
|
||||||
@@ -193,7 +193,7 @@ class che_랜덤임관 extends Command\GeneralCommand
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
$rawGeneralsCnt = $db->query(
|
$rawGeneralsCnt = $db->query(
|
||||||
"SELECT g.`nation`, n.`gennum`, n.name, SUM((ra.value + 100)/(rb.value + 100)*(CASE WHEN g.`npc` < 2 THEN 1.2 ELSE 1 END)*(CASE WHEN g.`leadership` >= 40 THEN g.`leadership` ELSE 0 END)) AS warpower, SUM(SQRT(g.intel * g.strength) * 2 + g.leadership / 2)/5 AS develpower
|
"SELECT g.`nation`, n.`gennum`, n.name, SUM((ra.value + 50000)/(rb.value + 50000)*(CASE WHEN g.`npc` < 2 THEN 1.15 ELSE 1 END)*(CASE WHEN g.`leadership` >= 40 THEN g.`leadership` ELSE 0 END)) AS warpower, SUM(SQRT(g.intel * g.strength) * 2 + g.leadership / 2)/5 AS develpower
|
||||||
FROM general AS g
|
FROM general AS g
|
||||||
LEFT JOIN `rank_data` AS ra ON g.`no` = ra.general_id AND ra.`type` = 'killcrew_person'
|
LEFT JOIN `rank_data` AS ra ON g.`no` = ra.general_id AND ra.`type` = 'killcrew_person'
|
||||||
LEFT JOIN `rank_data` AS rb ON g.`no` = rb.general_id AND rb.`type` = 'deathcrew_person'
|
LEFT JOIN `rank_data` AS rb ON g.`no` = rb.general_id AND rb.`type` = 'deathcrew_person'
|
||||||
@@ -208,7 +208,7 @@ class che_랜덤임관 extends Command\GeneralCommand
|
|||||||
foreach ($rawGeneralsCnt as $nation) {
|
foreach ($rawGeneralsCnt as $nation) {
|
||||||
$calcCnt = $nation['warpower'] + $nation['develpower'];
|
$calcCnt = $nation['warpower'] + $nation['develpower'];
|
||||||
|
|
||||||
if ($general->getNPCType() < 2 && Util::starts_with($nation['name'], 'ⓤ')) {
|
if ($general->getNPCType() < 2 && str_starts_with($nation['name'], 'ⓤ')) {
|
||||||
$calcCnt *= 100;
|
$calcCnt *= 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ class che_무작위건국 extends Command\GeneralCommand
|
|||||||
$general->addExperience($exp);
|
$general->addExperience($exp);
|
||||||
$general->addDedication($ded);
|
$general->addDedication($ded);
|
||||||
|
|
||||||
$aux = Json::decode($this->nation['aux']) ?? [];
|
$aux = $this->nation['aux'];
|
||||||
$aux['can_국기변경'] = 1;
|
$aux['can_국기변경'] = 1;
|
||||||
$aux['can_무작위수도이전'] = 1;
|
$aux['can_무작위수도이전'] = 1;
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ class che_징병 extends Command\GeneralCommand
|
|||||||
protected function init()
|
protected function init()
|
||||||
{
|
{
|
||||||
$this->setCity();
|
$this->setCity();
|
||||||
$this->setNation(['tech']);
|
$this->setNation(['tech', 'aux']);
|
||||||
|
|
||||||
$this->minConditionConstraints = [
|
$this->minConditionConstraints = [
|
||||||
ConstraintHelper::NotBeNeutral(),
|
ConstraintHelper::NotBeNeutral(),
|
||||||
@@ -256,8 +256,11 @@ class che_징병 extends Command\GeneralCommand
|
|||||||
$ownCities = [];
|
$ownCities = [];
|
||||||
$ownRegions = [];
|
$ownRegions = [];
|
||||||
|
|
||||||
foreach (DB::db()->query('SELECT city, region from city where nation = %i', $general->getNationID()) as $city) {
|
foreach (DB::db()->query('SELECT city, region, secu, level from city where nation = %i', $general->getNationID()) as $city) {
|
||||||
$ownCities[$city['city']] = 1;
|
$ownCities[$city['city']] = [
|
||||||
|
'secu' => $city['secu'],
|
||||||
|
'level' => $city['level'],
|
||||||
|
];
|
||||||
$ownRegions[$city['region']] = 1;
|
$ownRegions[$city['region']] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -273,23 +276,19 @@ class che_징병 extends Command\GeneralCommand
|
|||||||
'values' => [],
|
'values' => [],
|
||||||
];
|
];
|
||||||
|
|
||||||
$crewTypes = [];
|
|
||||||
foreach (GameUnitConst::byType($armType) as $unit) {
|
foreach (GameUnitConst::byType($armType) as $unit) {
|
||||||
$crewObj = new \stdClass;
|
$crewObj = new \stdClass;
|
||||||
|
|
||||||
$crewObj->id = $unit->id;
|
$crewObj->id = $unit->id;
|
||||||
$crewObj->reqTech = $unit->reqTech;
|
/** @var ?\sammo\GameUnitConstraints\ReqTech */
|
||||||
$crewObj->reqYear = $unit->reqYear;
|
$reqTechObj = $unit->reqConstraints['ReqTech'] ?? null;
|
||||||
|
$crewObj->reqTech = $reqTechObj ? $reqTechObj->reqTech : 0;
|
||||||
|
|
||||||
/*
|
/** @var ?\sammo\GameUnitConstraint\ReqMinRelYear */
|
||||||
if ($unit->reqTech == 0) {
|
$reqMinRelYearObj = $unit->reqConstraints['reqMinRelYear'] ?? null;
|
||||||
$crewObj->bgcolor = 'green';
|
$crewObj->reqYear = $reqMinRelYearObj ? $reqMinRelYearObj->reqMinRelYear : 0;
|
||||||
} else {
|
|
||||||
$crewObj->bgcolor = 'limegreen';
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
$crewObj->notAvailable = !$unit->isValid($ownCities, $ownRegions, $relativeYear, $tech);
|
$crewObj->notAvailable = !$unit->isValid($general, $ownCities, $ownRegions, $relativeYear, $tech, $this->nation['aux']);
|
||||||
|
|
||||||
$crewObj->baseRice = $general->onCalcDomestic($this->getName(), 'rice', $unit->riceWithTech($tech), ['armType' => $unit->armType]);
|
$crewObj->baseRice = $general->onCalcDomestic($this->getName(), 'rice', $unit->riceWithTech($tech), ['armType' => $unit->armType]);
|
||||||
$crewObj->baseCost = $general->onCalcDomestic($this->getName(), 'cost', $unit->costWithTech($tech), ['armType' => $unit->armType]);
|
$crewObj->baseCost = $general->onCalcDomestic($this->getName(), 'cost', $unit->costWithTech($tech), ['armType' => $unit->armType]);
|
||||||
|
|||||||
@@ -164,7 +164,7 @@ class che_출병 extends Command\GeneralCommand
|
|||||||
|
|
||||||
$currDist = 999;
|
$currDist = 999;
|
||||||
|
|
||||||
$minDist = Util::array_first_key($distanceList);
|
$minDist = array_key_first($distanceList);
|
||||||
do {
|
do {
|
||||||
//1: 최단 거리 도시 중 공격 대상이 있는가 확인
|
//1: 최단 거리 도시 중 공격 대상이 있는가 확인
|
||||||
//2: 최단 거리 + 1 도시 중 공격 대상이 있는가 확인
|
//2: 최단 거리 + 1 도시 중 공격 대상이 있는가 확인
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ class cr_건국 extends Command\GeneralCommand
|
|||||||
$general->addExperience($exp);
|
$general->addExperience($exp);
|
||||||
$general->addDedication($ded);
|
$general->addDedication($ded);
|
||||||
|
|
||||||
$aux = Json::decode($this->nation['aux']) ?? [];
|
$aux = $this->nation['aux'];
|
||||||
$aux['can_국기변경'] = 1;
|
$aux['can_국기변경'] = 1;
|
||||||
|
|
||||||
$db->update('city', [
|
$db->update('city', [
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ class che_국기변경 extends Command\NationCommand
|
|||||||
$josaYi = JosaUtil::pick($generalName, '이');
|
$josaYi = JosaUtil::pick($generalName, '이');
|
||||||
$josaYiNation = JosaUtil::pick($nationName, '이');
|
$josaYiNation = JosaUtil::pick($nationName, '이');
|
||||||
|
|
||||||
$aux = Json::decode($this->nation['aux']);
|
$aux = $this->nation['aux'];
|
||||||
$aux["can_{$actionName}"] = 0;
|
$aux["can_{$actionName}"] = 0;
|
||||||
|
|
||||||
$db->update('nation', [
|
$db->update('nation', [
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ class che_국호변경 extends Command\NationCommand
|
|||||||
$josaYi = JosaUtil::pick($generalName, '이');
|
$josaYi = JosaUtil::pick($generalName, '이');
|
||||||
$josaYiNation = JosaUtil::pick($nationName, '이');
|
$josaYiNation = JosaUtil::pick($nationName, '이');
|
||||||
|
|
||||||
$aux = Json::decode($this->nation['aux']);
|
$aux = $this->nation['aux'];
|
||||||
$aux["can_{$actionName}"] = 0;
|
$aux["can_{$actionName}"] = 0;
|
||||||
|
|
||||||
$db->update('nation', [
|
$db->update('nation', [
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ class che_무작위수도이전 extends Command\NationCommand
|
|||||||
$josaYi = JosaUtil::pick($generalName, '이');
|
$josaYi = JosaUtil::pick($generalName, '이');
|
||||||
$josaYiNation = JosaUtil::pick($nationName, '이');
|
$josaYiNation = JosaUtil::pick($nationName, '이');
|
||||||
|
|
||||||
$aux = Json::decode($this->nation['aux']);
|
$aux = $this->nation['aux'];
|
||||||
$aux["can_무작위수도이전"] -= 1;
|
$aux["can_무작위수도이전"] -= 1;
|
||||||
|
|
||||||
$db->update('city', [
|
$db->update('city', [
|
||||||
|
|||||||
@@ -13,12 +13,14 @@ use \sammo\{
|
|||||||
Message,
|
Message,
|
||||||
CityConst,
|
CityConst,
|
||||||
CityInitialDetail,
|
CityInitialDetail,
|
||||||
|
Json,
|
||||||
StaticEventHandler
|
StaticEventHandler
|
||||||
};
|
};
|
||||||
|
|
||||||
use \sammo\Constraint\Constraint;
|
use \sammo\Constraint\Constraint;
|
||||||
use \sammo\Constraint\ConstraintHelper;
|
use \sammo\Constraint\ConstraintHelper;
|
||||||
use sammo\Enums\InheritanceKey;
|
use sammo\Enums\InheritanceKey;
|
||||||
|
use sammo\Enums\NationAuxKey;
|
||||||
use sammo\Event\Action;
|
use sammo\Event\Action;
|
||||||
|
|
||||||
class che_초토화 extends Command\NationCommand{
|
class che_초토화 extends Command\NationCommand{
|
||||||
@@ -52,7 +54,7 @@ class che_초토화 extends Command\NationCommand{
|
|||||||
$env = $this->env;
|
$env = $this->env;
|
||||||
|
|
||||||
$this->setCity();
|
$this->setCity();
|
||||||
$this->setNation(['surlimit', 'gold', 'rice', 'capital']);
|
$this->setNation(['surlimit', 'gold', 'rice', 'capital', 'aux']);
|
||||||
|
|
||||||
$this->minConditionConstraints=[
|
$this->minConditionConstraints=[
|
||||||
ConstraintHelper::OccupiedCity(),
|
ConstraintHelper::OccupiedCity(),
|
||||||
@@ -157,6 +159,11 @@ class che_초토화 extends Command\NationCommand{
|
|||||||
$josaYiNation = JosaUtil::pick($nationName, '이');
|
$josaYiNation = JosaUtil::pick($nationName, '이');
|
||||||
|
|
||||||
$amount = $this->calcReturnAmount($destCity);
|
$amount = $this->calcReturnAmount($destCity);
|
||||||
|
$aux = $this->nation['aux'];
|
||||||
|
|
||||||
|
if($destCity['level'] >= 8){
|
||||||
|
$aux[NationAuxKey::did_특성초토화->value] = ($aux[NationAuxKey::did_특성초토화->value] ?? 0) + 1;
|
||||||
|
}
|
||||||
|
|
||||||
$db->update('general', [
|
$db->update('general', [
|
||||||
'experience'=>$db->sqleval('experience * 0.9')
|
'experience'=>$db->sqleval('experience * 0.9')
|
||||||
@@ -184,6 +191,7 @@ class che_초토화 extends Command\NationCommand{
|
|||||||
'gold' => $db->sqleval('gold + %i', $amount),
|
'gold' => $db->sqleval('gold + %i', $amount),
|
||||||
'rice' => $db->sqleval('rice + %i', $amount),
|
'rice' => $db->sqleval('rice + %i', $amount),
|
||||||
'surlimit' => $db->sqleval('surlimit + %i', $this->getPostReqTurn()),
|
'surlimit' => $db->sqleval('surlimit + %i', $this->getPostReqTurn()),
|
||||||
|
'aux' => Json::encode($aux),
|
||||||
], 'nation=%i', $nationID);
|
], 'nation=%i', $nationID);
|
||||||
|
|
||||||
\sammo\refreshNationStaticInfo();
|
\sammo\refreshNationStaticInfo();
|
||||||
|
|||||||
@@ -0,0 +1,108 @@
|
|||||||
|
<?php
|
||||||
|
namespace sammo\Command\Nation;
|
||||||
|
|
||||||
|
use \sammo\Command;
|
||||||
|
use sammo\Constraint\ConstraintHelper;
|
||||||
|
use sammo\DB;
|
||||||
|
use sammo\Enums\InheritanceKey;
|
||||||
|
use sammo\Enums\NationAuxKey;
|
||||||
|
use \sammo\Util;
|
||||||
|
use \sammo\JosaUtil;
|
||||||
|
use sammo\Json;
|
||||||
|
use sammo\LastTurn;
|
||||||
|
use sammo\StaticEventHandler;
|
||||||
|
use sammo\GameConst;
|
||||||
|
|
||||||
|
class event_극병연구 extends Command\NationCommand{
|
||||||
|
static protected $actionName = '극병 연구';
|
||||||
|
static protected $auxType = NationAuxKey::can_극병사용;
|
||||||
|
|
||||||
|
protected function argTest():bool{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function init(){
|
||||||
|
$this->setCity();
|
||||||
|
$this->setNation(['gold','rice','aux']);
|
||||||
|
$this->fullConditionConstraints=[];
|
||||||
|
|
||||||
|
$name = static::$actionName;
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
|
||||||
|
$this->minConditionConstraints = [
|
||||||
|
ConstraintHelper::OccupiedCity(),
|
||||||
|
ConstraintHelper::BeChief(),
|
||||||
|
ConstraintHelper::ReqNationAuxValue(static::$auxType->value, 0, "<", 1, "{$name}가 이미 완료되었습니다."),
|
||||||
|
ConstraintHelper::ReqNationGold(GameConst::$basegold + $reqGold),
|
||||||
|
ConstraintHelper::ReqNationRice(GameConst::$baserice + $reqRice),
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->fullConditionConstraints = $this->minConditionConstraints;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCommandDetailTitle():string{
|
||||||
|
$name = $this->getName();
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$reqTurn = $this->getPreReqTurn()+1;
|
||||||
|
|
||||||
|
$reqGoldD5 = number_format($reqGold / 10000);
|
||||||
|
$reqRiceD5 = number_format($reqRice / 10000);
|
||||||
|
|
||||||
|
return "{$name}/{$reqTurn}턴(금/쌀 {$reqGoldD5}만)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPreReqTurn():int{
|
||||||
|
return 23;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPostReqTurn():int{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCost():array{
|
||||||
|
return [100000, 100000];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function run(\Sammo\RandUtil $rng):bool{
|
||||||
|
if(!$this->hasFullConditionMet()){
|
||||||
|
throw new \RuntimeException('불가능한 커맨드를 강제로 실행 시도');
|
||||||
|
}
|
||||||
|
|
||||||
|
$db = DB::db();
|
||||||
|
$general = $this->generalObj;
|
||||||
|
$nationID = $general->getNationID();
|
||||||
|
|
||||||
|
$actionName = static::$actionName;
|
||||||
|
|
||||||
|
$aux = $this->nation['aux'];
|
||||||
|
$aux[static::$auxType->value] = 1;
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
|
||||||
|
$logger = $general->getLogger();
|
||||||
|
|
||||||
|
$general->addExperience(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
$general->addDedication(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
|
||||||
|
$generalName = $general->getName();
|
||||||
|
$josaYi = JosaUtil::pick($generalName, '이');
|
||||||
|
|
||||||
|
$db->update('nation', [
|
||||||
|
'gold' => $db->sqleval('gold - %i', $reqGold),
|
||||||
|
'rice' => $db->sqleval('rice - %i', $reqRice),
|
||||||
|
'aux' => Json::encode($aux),
|
||||||
|
], 'nation=%i', $nationID);
|
||||||
|
|
||||||
|
$logger->pushGeneralActionLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushGeneralHistoryLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushNationalHistoryLog("<Y>{$generalName}</>{$josaYi} <M>{$actionName}</> 완료");
|
||||||
|
|
||||||
|
$general->increaseInheritancePoint(InheritanceKey::active_action, 1);
|
||||||
|
StaticEventHandler::handleEvent($this->generalObj, $this->destGeneralObj, $this::class, $this->env, $this->arg ?? []);
|
||||||
|
$this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0));
|
||||||
|
$general->applyDB($db);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
<?php
|
||||||
|
namespace sammo\Command\Nation;
|
||||||
|
|
||||||
|
use \sammo\Command;
|
||||||
|
use sammo\Constraint\ConstraintHelper;
|
||||||
|
use sammo\DB;
|
||||||
|
use sammo\Enums\InheritanceKey;
|
||||||
|
use sammo\Enums\NationAuxKey;
|
||||||
|
use \sammo\Util;
|
||||||
|
use \sammo\JosaUtil;
|
||||||
|
use sammo\Json;
|
||||||
|
use sammo\LastTurn;
|
||||||
|
use sammo\StaticEventHandler;
|
||||||
|
use sammo\GameConst;
|
||||||
|
|
||||||
|
class event_대검병연구 extends Command\NationCommand{
|
||||||
|
static protected $actionName = '대검병 연구';
|
||||||
|
static protected $auxType = NationAuxKey::can_대검병사용;
|
||||||
|
|
||||||
|
protected function argTest():bool{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function init(){
|
||||||
|
$this->setCity();
|
||||||
|
$this->setNation(['gold','rice','aux']);
|
||||||
|
$this->fullConditionConstraints=[];
|
||||||
|
|
||||||
|
$name = static::$actionName;
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$this->minConditionConstraints = [
|
||||||
|
ConstraintHelper::OccupiedCity(),
|
||||||
|
ConstraintHelper::BeChief(),
|
||||||
|
ConstraintHelper::ReqNationAuxValue(static::$auxType->value, 0, "<", 1, "{$name}가 이미 완료되었습니다."),
|
||||||
|
ConstraintHelper::ReqNationGold(GameConst::$basegold + $reqGold),
|
||||||
|
ConstraintHelper::ReqNationRice(GameConst::$baserice + $reqRice),
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->fullConditionConstraints = $this->minConditionConstraints;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCommandDetailTitle():string{
|
||||||
|
$name = $this->getName();
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$reqTurn = $this->getPreReqTurn()+1;
|
||||||
|
|
||||||
|
$reqGoldD5 = number_format($reqGold / 10000);
|
||||||
|
$reqRiceD5 = number_format($reqRice / 10000);
|
||||||
|
|
||||||
|
return "{$name}/{$reqTurn}턴(금/쌀 {$reqGoldD5}만)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPreReqTurn():int{
|
||||||
|
return 11;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPostReqTurn():int{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCost():array{
|
||||||
|
return [50000, 50000];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function run(\Sammo\RandUtil $rng):bool{
|
||||||
|
if(!$this->hasFullConditionMet()){
|
||||||
|
throw new \RuntimeException('불가능한 커맨드를 강제로 실행 시도');
|
||||||
|
}
|
||||||
|
|
||||||
|
$db = DB::db();
|
||||||
|
$general = $this->generalObj;
|
||||||
|
$nationID = $general->getNationID();
|
||||||
|
|
||||||
|
$actionName = static::$actionName;
|
||||||
|
|
||||||
|
$aux = $this->nation['aux'];
|
||||||
|
$aux[static::$auxType->value] = 1;
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
|
||||||
|
$logger = $general->getLogger();
|
||||||
|
|
||||||
|
$general->addExperience(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
$general->addDedication(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
|
||||||
|
$generalName = $general->getName();
|
||||||
|
$josaYi = JosaUtil::pick($generalName, '이');
|
||||||
|
|
||||||
|
$db->update('nation', [
|
||||||
|
'gold' => $db->sqleval('gold - %i', $reqGold),
|
||||||
|
'rice' => $db->sqleval('rice - %i', $reqRice),
|
||||||
|
'aux' => Json::encode($aux),
|
||||||
|
], 'nation=%i', $nationID);
|
||||||
|
|
||||||
|
$logger->pushGeneralActionLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushGeneralHistoryLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushNationalHistoryLog("<Y>{$generalName}</>{$josaYi} <M>{$actionName}</> 완료");
|
||||||
|
|
||||||
|
$general->increaseInheritancePoint(InheritanceKey::active_action, 1);
|
||||||
|
StaticEventHandler::handleEvent($this->generalObj, $this->destGeneralObj, $this::class, $this->env, $this->arg ?? []);
|
||||||
|
$this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0));
|
||||||
|
$general->applyDB($db);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
<?php
|
||||||
|
namespace sammo\Command\Nation;
|
||||||
|
|
||||||
|
use \sammo\Command;
|
||||||
|
use sammo\Constraint\ConstraintHelper;
|
||||||
|
use sammo\DB;
|
||||||
|
use sammo\Enums\InheritanceKey;
|
||||||
|
use sammo\Enums\NationAuxKey;
|
||||||
|
use \sammo\Util;
|
||||||
|
use \sammo\JosaUtil;
|
||||||
|
use sammo\Json;
|
||||||
|
use sammo\LastTurn;
|
||||||
|
use sammo\StaticEventHandler;
|
||||||
|
use sammo\GameConst;
|
||||||
|
|
||||||
|
class event_무희연구 extends Command\NationCommand{
|
||||||
|
static protected $actionName = '무희 연구';
|
||||||
|
static protected $auxType = NationAuxKey::can_무희사용;
|
||||||
|
|
||||||
|
protected function argTest():bool{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function init(){
|
||||||
|
$this->setCity();
|
||||||
|
$this->setNation(['gold','rice','aux']);
|
||||||
|
$this->fullConditionConstraints=[];
|
||||||
|
|
||||||
|
$name = static::$actionName;
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$this->minConditionConstraints = [
|
||||||
|
ConstraintHelper::OccupiedCity(),
|
||||||
|
ConstraintHelper::BeChief(),
|
||||||
|
ConstraintHelper::ReqNationAuxValue(static::$auxType->value, 0, "<", 1, "{$name}가 이미 완료되었습니다."),
|
||||||
|
ConstraintHelper::ReqNationGold(GameConst::$basegold + $reqGold),
|
||||||
|
ConstraintHelper::ReqNationRice(GameConst::$baserice + $reqRice),
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->fullConditionConstraints = $this->minConditionConstraints;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCommandDetailTitle():string{
|
||||||
|
$name = $this->getName();
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$reqTurn = $this->getPreReqTurn()+1;
|
||||||
|
|
||||||
|
$reqGoldD5 = number_format($reqGold / 10000);
|
||||||
|
$reqRiceD5 = number_format($reqRice / 10000);
|
||||||
|
|
||||||
|
return "{$name}/{$reqTurn}턴(금/쌀 {$reqGoldD5}만)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPreReqTurn():int{
|
||||||
|
return 23;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPostReqTurn():int{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCost():array{
|
||||||
|
return [100000, 100000];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function run(\Sammo\RandUtil $rng):bool{
|
||||||
|
if(!$this->hasFullConditionMet()){
|
||||||
|
throw new \RuntimeException('불가능한 커맨드를 강제로 실행 시도');
|
||||||
|
}
|
||||||
|
|
||||||
|
$db = DB::db();
|
||||||
|
$general = $this->generalObj;
|
||||||
|
$nationID = $general->getNationID();
|
||||||
|
|
||||||
|
$actionName = static::$actionName;
|
||||||
|
|
||||||
|
$aux = $this->nation['aux'];
|
||||||
|
$aux[static::$auxType->value] = 1;
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
|
||||||
|
$logger = $general->getLogger();
|
||||||
|
|
||||||
|
$general->addExperience(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
$general->addDedication(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
|
||||||
|
$generalName = $general->getName();
|
||||||
|
$josaYi = JosaUtil::pick($generalName, '이');
|
||||||
|
|
||||||
|
$db->update('nation', [
|
||||||
|
'gold' => $db->sqleval('gold - %i', $reqGold),
|
||||||
|
'rice' => $db->sqleval('rice - %i', $reqRice),
|
||||||
|
'aux' => Json::encode($aux),
|
||||||
|
], 'nation=%i', $nationID);
|
||||||
|
|
||||||
|
$logger->pushGeneralActionLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushGeneralHistoryLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushNationalHistoryLog("<Y>{$generalName}</>{$josaYi} <M>{$actionName}</> 완료");
|
||||||
|
|
||||||
|
$general->increaseInheritancePoint(InheritanceKey::active_action, 1);
|
||||||
|
StaticEventHandler::handleEvent($this->generalObj, $this->destGeneralObj, $this::class, $this->env, $this->arg ?? []);
|
||||||
|
$this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0));
|
||||||
|
$general->applyDB($db);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
<?php
|
||||||
|
namespace sammo\Command\Nation;
|
||||||
|
|
||||||
|
use \sammo\Command;
|
||||||
|
use sammo\Constraint\ConstraintHelper;
|
||||||
|
use sammo\DB;
|
||||||
|
use sammo\Enums\InheritanceKey;
|
||||||
|
use sammo\Enums\NationAuxKey;
|
||||||
|
use \sammo\Util;
|
||||||
|
use \sammo\JosaUtil;
|
||||||
|
use sammo\Json;
|
||||||
|
use sammo\LastTurn;
|
||||||
|
use sammo\StaticEventHandler;
|
||||||
|
use sammo\GameConst;
|
||||||
|
|
||||||
|
class event_산저병연구 extends Command\NationCommand{
|
||||||
|
static protected $actionName = '산저병 연구';
|
||||||
|
static protected $auxType = NationAuxKey::can_산저병사용;
|
||||||
|
|
||||||
|
protected function argTest():bool{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function init(){
|
||||||
|
$this->setCity();
|
||||||
|
$this->setNation(['gold','rice','aux']);
|
||||||
|
$this->fullConditionConstraints=[];
|
||||||
|
|
||||||
|
$name = static::$actionName;
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$this->minConditionConstraints = [
|
||||||
|
ConstraintHelper::OccupiedCity(),
|
||||||
|
ConstraintHelper::BeChief(),
|
||||||
|
ConstraintHelper::ReqNationAuxValue(static::$auxType->value, 0, "<", 1, "{$name}가 이미 완료되었습니다."),
|
||||||
|
ConstraintHelper::ReqNationGold(GameConst::$basegold + $reqGold),
|
||||||
|
ConstraintHelper::ReqNationRice(GameConst::$baserice + $reqRice),
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->fullConditionConstraints = $this->minConditionConstraints;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCommandDetailTitle():string{
|
||||||
|
$name = $this->getName();
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$reqTurn = $this->getPreReqTurn()+1;
|
||||||
|
|
||||||
|
$reqGoldD5 = number_format($reqGold / 10000);
|
||||||
|
$reqRiceD5 = number_format($reqRice / 10000);
|
||||||
|
|
||||||
|
return "{$name}/{$reqTurn}턴(금/쌀 {$reqGoldD5}만)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPreReqTurn():int{
|
||||||
|
return 11;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPostReqTurn():int{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCost():array{
|
||||||
|
return [50000, 50000];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function run(\Sammo\RandUtil $rng):bool{
|
||||||
|
if(!$this->hasFullConditionMet()){
|
||||||
|
throw new \RuntimeException('불가능한 커맨드를 강제로 실행 시도');
|
||||||
|
}
|
||||||
|
|
||||||
|
$db = DB::db();
|
||||||
|
$general = $this->generalObj;
|
||||||
|
$nationID = $general->getNationID();
|
||||||
|
|
||||||
|
$actionName = static::$actionName;
|
||||||
|
|
||||||
|
$aux = $this->nation['aux'];
|
||||||
|
$aux[static::$auxType->value] = 1;
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
|
||||||
|
$logger = $general->getLogger();
|
||||||
|
|
||||||
|
$general->addExperience(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
$general->addDedication(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
|
||||||
|
$generalName = $general->getName();
|
||||||
|
$josaYi = JosaUtil::pick($generalName, '이');
|
||||||
|
|
||||||
|
$db->update('nation', [
|
||||||
|
'gold' => $db->sqleval('gold - %i', $reqGold),
|
||||||
|
'rice' => $db->sqleval('rice - %i', $reqRice),
|
||||||
|
'aux' => Json::encode($aux),
|
||||||
|
], 'nation=%i', $nationID);
|
||||||
|
|
||||||
|
$logger->pushGeneralActionLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushGeneralHistoryLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushNationalHistoryLog("<Y>{$generalName}</>{$josaYi} <M>{$actionName}</> 완료");
|
||||||
|
|
||||||
|
$general->increaseInheritancePoint(InheritanceKey::active_action, 1);
|
||||||
|
StaticEventHandler::handleEvent($this->generalObj, $this->destGeneralObj, $this::class, $this->env, $this->arg ?? []);
|
||||||
|
$this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0));
|
||||||
|
$general->applyDB($db);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
<?php
|
||||||
|
namespace sammo\Command\Nation;
|
||||||
|
|
||||||
|
use \sammo\Command;
|
||||||
|
use sammo\Constraint\ConstraintHelper;
|
||||||
|
use sammo\DB;
|
||||||
|
use sammo\Enums\InheritanceKey;
|
||||||
|
use sammo\Enums\NationAuxKey;
|
||||||
|
use \sammo\Util;
|
||||||
|
use \sammo\JosaUtil;
|
||||||
|
use sammo\Json;
|
||||||
|
use sammo\LastTurn;
|
||||||
|
use sammo\StaticEventHandler;
|
||||||
|
use sammo\GameConst;
|
||||||
|
|
||||||
|
class event_상병연구 extends Command\NationCommand{
|
||||||
|
static protected $actionName = '상병 연구';
|
||||||
|
static protected $auxType = NationAuxKey::can_상병사용;
|
||||||
|
|
||||||
|
protected function argTest():bool{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function init(){
|
||||||
|
$this->setCity();
|
||||||
|
$this->setNation(['gold','rice','aux']);
|
||||||
|
$this->fullConditionConstraints=[];
|
||||||
|
|
||||||
|
$name = static::$actionName;
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$this->minConditionConstraints = [
|
||||||
|
ConstraintHelper::OccupiedCity(),
|
||||||
|
ConstraintHelper::BeChief(),
|
||||||
|
ConstraintHelper::ReqNationAuxValue(static::$auxType->value, 0, "<", 1, "{$name}가 이미 완료되었습니다."),
|
||||||
|
ConstraintHelper::ReqNationGold(GameConst::$basegold + $reqGold),
|
||||||
|
ConstraintHelper::ReqNationRice(GameConst::$baserice + $reqRice),
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->fullConditionConstraints = $this->minConditionConstraints;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCommandDetailTitle():string{
|
||||||
|
$name = $this->getName();
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$reqTurn = $this->getPreReqTurn()+1;
|
||||||
|
|
||||||
|
$reqGoldD5 = number_format($reqGold / 10000);
|
||||||
|
$reqRiceD5 = number_format($reqRice / 10000);
|
||||||
|
|
||||||
|
return "{$name}/{$reqTurn}턴(금/쌀 {$reqGoldD5}만)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPreReqTurn():int{
|
||||||
|
return 23;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPostReqTurn():int{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCost():array{
|
||||||
|
return [100000, 100000];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function run(\Sammo\RandUtil $rng):bool{
|
||||||
|
if(!$this->hasFullConditionMet()){
|
||||||
|
throw new \RuntimeException('불가능한 커맨드를 강제로 실행 시도');
|
||||||
|
}
|
||||||
|
|
||||||
|
$db = DB::db();
|
||||||
|
$general = $this->generalObj;
|
||||||
|
$nationID = $general->getNationID();
|
||||||
|
|
||||||
|
$actionName = static::$actionName;
|
||||||
|
|
||||||
|
$aux = $this->nation['aux'];
|
||||||
|
$aux[static::$auxType->value] = 1;
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
|
||||||
|
$logger = $general->getLogger();
|
||||||
|
|
||||||
|
$general->addExperience(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
$general->addDedication(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
|
||||||
|
$generalName = $general->getName();
|
||||||
|
$josaYi = JosaUtil::pick($generalName, '이');
|
||||||
|
|
||||||
|
$db->update('nation', [
|
||||||
|
'gold' => $db->sqleval('gold - %i', $reqGold),
|
||||||
|
'rice' => $db->sqleval('rice - %i', $reqRice),
|
||||||
|
'aux' => Json::encode($aux),
|
||||||
|
], 'nation=%i', $nationID);
|
||||||
|
|
||||||
|
$logger->pushGeneralActionLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushGeneralHistoryLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushNationalHistoryLog("<Y>{$generalName}</>{$josaYi} <M>{$actionName}</> 완료");
|
||||||
|
|
||||||
|
$general->increaseInheritancePoint(InheritanceKey::active_action, 1);
|
||||||
|
StaticEventHandler::handleEvent($this->generalObj, $this->destGeneralObj, $this::class, $this->env, $this->arg ?? []);
|
||||||
|
$this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0));
|
||||||
|
$general->applyDB($db);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
<?php
|
||||||
|
namespace sammo\Command\Nation;
|
||||||
|
|
||||||
|
use \sammo\Command;
|
||||||
|
use sammo\Constraint\ConstraintHelper;
|
||||||
|
use sammo\DB;
|
||||||
|
use sammo\Enums\InheritanceKey;
|
||||||
|
use sammo\Enums\NationAuxKey;
|
||||||
|
use \sammo\Util;
|
||||||
|
use \sammo\JosaUtil;
|
||||||
|
use sammo\Json;
|
||||||
|
use sammo\LastTurn;
|
||||||
|
use sammo\StaticEventHandler;
|
||||||
|
use sammo\GameConst;
|
||||||
|
|
||||||
|
class event_원융노병연구 extends Command\NationCommand{
|
||||||
|
static protected $actionName = '원융노병 연구';
|
||||||
|
static protected $auxType = NationAuxKey::can_원융노병사용;
|
||||||
|
|
||||||
|
protected function argTest():bool{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function init(){
|
||||||
|
$this->setCity();
|
||||||
|
$this->setNation(['gold','rice','aux']);
|
||||||
|
$this->fullConditionConstraints=[];
|
||||||
|
|
||||||
|
$name = static::$actionName;
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$this->minConditionConstraints = [
|
||||||
|
ConstraintHelper::OccupiedCity(),
|
||||||
|
ConstraintHelper::BeChief(),
|
||||||
|
ConstraintHelper::ReqNationAuxValue(static::$auxType->value, 0, "<", 1, "{$name}가 이미 완료되었습니다."),
|
||||||
|
ConstraintHelper::ReqNationGold(GameConst::$basegold + $reqGold),
|
||||||
|
ConstraintHelper::ReqNationRice(GameConst::$baserice + $reqRice),
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->fullConditionConstraints = $this->minConditionConstraints;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCommandDetailTitle():string{
|
||||||
|
$name = $this->getName();
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$reqTurn = $this->getPreReqTurn()+1;
|
||||||
|
|
||||||
|
$reqGoldD5 = number_format($reqGold / 10000);
|
||||||
|
$reqRiceD5 = number_format($reqRice / 10000);
|
||||||
|
|
||||||
|
return "{$name}/{$reqTurn}턴(금/쌀 {$reqGoldD5}만)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPreReqTurn():int{
|
||||||
|
return 23;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPostReqTurn():int{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCost():array{
|
||||||
|
return [100000, 100000];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function run(\Sammo\RandUtil $rng):bool{
|
||||||
|
if(!$this->hasFullConditionMet()){
|
||||||
|
throw new \RuntimeException('불가능한 커맨드를 강제로 실행 시도');
|
||||||
|
}
|
||||||
|
|
||||||
|
$db = DB::db();
|
||||||
|
$general = $this->generalObj;
|
||||||
|
$nationID = $general->getNationID();
|
||||||
|
|
||||||
|
$actionName = static::$actionName;
|
||||||
|
|
||||||
|
$aux = $this->nation['aux'];
|
||||||
|
$aux[static::$auxType->value] = 1;
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
|
||||||
|
$logger = $general->getLogger();
|
||||||
|
|
||||||
|
$general->addExperience(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
$general->addDedication(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
|
||||||
|
$generalName = $general->getName();
|
||||||
|
$josaYi = JosaUtil::pick($generalName, '이');
|
||||||
|
|
||||||
|
$db->update('nation', [
|
||||||
|
'gold' => $db->sqleval('gold - %i', $reqGold),
|
||||||
|
'rice' => $db->sqleval('rice - %i', $reqRice),
|
||||||
|
'aux' => Json::encode($aux),
|
||||||
|
], 'nation=%i', $nationID);
|
||||||
|
|
||||||
|
$logger->pushGeneralActionLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushGeneralHistoryLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushNationalHistoryLog("<Y>{$generalName}</>{$josaYi} <M>{$actionName}</> 완료");
|
||||||
|
|
||||||
|
$general->increaseInheritancePoint(InheritanceKey::active_action, 1);
|
||||||
|
StaticEventHandler::handleEvent($this->generalObj, $this->destGeneralObj, $this::class, $this->env, $this->arg ?? []);
|
||||||
|
$this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0));
|
||||||
|
$general->applyDB($db);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
<?php
|
||||||
|
namespace sammo\Command\Nation;
|
||||||
|
|
||||||
|
use \sammo\Command;
|
||||||
|
use sammo\Constraint\ConstraintHelper;
|
||||||
|
use sammo\DB;
|
||||||
|
use sammo\Enums\InheritanceKey;
|
||||||
|
use sammo\Enums\NationAuxKey;
|
||||||
|
use \sammo\Util;
|
||||||
|
use \sammo\JosaUtil;
|
||||||
|
use sammo\Json;
|
||||||
|
use sammo\LastTurn;
|
||||||
|
use sammo\StaticEventHandler;
|
||||||
|
use sammo\GameConst;
|
||||||
|
|
||||||
|
class event_음귀병연구 extends Command\NationCommand{
|
||||||
|
static protected $actionName = '음귀병 연구';
|
||||||
|
static protected $auxType = NationAuxKey::can_음귀병사용;
|
||||||
|
|
||||||
|
protected function argTest():bool{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function init(){
|
||||||
|
$this->setCity();
|
||||||
|
$this->setNation(['gold','rice','aux']);
|
||||||
|
$this->fullConditionConstraints=[];
|
||||||
|
|
||||||
|
$name = static::$actionName;
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$this->minConditionConstraints = [
|
||||||
|
ConstraintHelper::OccupiedCity(),
|
||||||
|
ConstraintHelper::BeChief(),
|
||||||
|
ConstraintHelper::ReqNationAuxValue(static::$auxType->value, 0, "<", 1, "{$name}가 이미 완료되었습니다."),
|
||||||
|
ConstraintHelper::ReqNationGold(GameConst::$basegold + $reqGold),
|
||||||
|
ConstraintHelper::ReqNationRice(GameConst::$baserice + $reqRice),
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->fullConditionConstraints = $this->minConditionConstraints;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCommandDetailTitle():string{
|
||||||
|
$name = $this->getName();
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$reqTurn = $this->getPreReqTurn()+1;
|
||||||
|
|
||||||
|
$reqGoldD5 = number_format($reqGold / 10000);
|
||||||
|
$reqRiceD5 = number_format($reqRice / 10000);
|
||||||
|
|
||||||
|
return "{$name}/{$reqTurn}턴(금/쌀 {$reqGoldD5}만)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPreReqTurn():int{
|
||||||
|
return 11;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPostReqTurn():int{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCost():array{
|
||||||
|
return [50000, 50000];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function run(\Sammo\RandUtil $rng):bool{
|
||||||
|
if(!$this->hasFullConditionMet()){
|
||||||
|
throw new \RuntimeException('불가능한 커맨드를 강제로 실행 시도');
|
||||||
|
}
|
||||||
|
|
||||||
|
$db = DB::db();
|
||||||
|
$general = $this->generalObj;
|
||||||
|
$nationID = $general->getNationID();
|
||||||
|
|
||||||
|
$actionName = static::$actionName;
|
||||||
|
|
||||||
|
$aux = $this->nation['aux'];
|
||||||
|
$aux[static::$auxType->value] = 1;
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
|
||||||
|
$logger = $general->getLogger();
|
||||||
|
|
||||||
|
$general->addExperience(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
$general->addDedication(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
|
||||||
|
$generalName = $general->getName();
|
||||||
|
$josaYi = JosaUtil::pick($generalName, '이');
|
||||||
|
|
||||||
|
$db->update('nation', [
|
||||||
|
'gold' => $db->sqleval('gold - %i', $reqGold),
|
||||||
|
'rice' => $db->sqleval('rice - %i', $reqRice),
|
||||||
|
'aux' => Json::encode($aux),
|
||||||
|
], 'nation=%i', $nationID);
|
||||||
|
|
||||||
|
$logger->pushGeneralActionLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushGeneralHistoryLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushNationalHistoryLog("<Y>{$generalName}</>{$josaYi} <M>{$actionName}</> 완료");
|
||||||
|
|
||||||
|
$general->increaseInheritancePoint(InheritanceKey::active_action, 1);
|
||||||
|
StaticEventHandler::handleEvent($this->generalObj, $this->destGeneralObj, $this::class, $this->env, $this->arg ?? []);
|
||||||
|
$this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0));
|
||||||
|
$general->applyDB($db);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
<?php
|
||||||
|
namespace sammo\Command\Nation;
|
||||||
|
|
||||||
|
use \sammo\Command;
|
||||||
|
use sammo\Constraint\ConstraintHelper;
|
||||||
|
use sammo\DB;
|
||||||
|
use sammo\Enums\InheritanceKey;
|
||||||
|
use sammo\Enums\NationAuxKey;
|
||||||
|
use \sammo\Util;
|
||||||
|
use \sammo\JosaUtil;
|
||||||
|
use sammo\Json;
|
||||||
|
use sammo\LastTurn;
|
||||||
|
use sammo\StaticEventHandler;
|
||||||
|
use sammo\GameConst;
|
||||||
|
|
||||||
|
class event_화륜차연구 extends Command\NationCommand{
|
||||||
|
static protected $actionName = '화륜차 연구';
|
||||||
|
static protected $auxType = NationAuxKey::can_화륜차사용;
|
||||||
|
|
||||||
|
protected function argTest():bool{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function init(){
|
||||||
|
$this->setCity();
|
||||||
|
$this->setNation(['gold','rice','aux']);
|
||||||
|
$this->fullConditionConstraints=[];
|
||||||
|
|
||||||
|
$name = static::$actionName;
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$this->minConditionConstraints = [
|
||||||
|
ConstraintHelper::OccupiedCity(),
|
||||||
|
ConstraintHelper::BeChief(),
|
||||||
|
ConstraintHelper::ReqNationAuxValue(static::$auxType->value, 0, "<", 1, "{$name}가 이미 완료되었습니다."),
|
||||||
|
ConstraintHelper::ReqNationGold(GameConst::$basegold + $reqGold),
|
||||||
|
ConstraintHelper::ReqNationRice(GameConst::$baserice + $reqRice),
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->fullConditionConstraints = $this->minConditionConstraints;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCommandDetailTitle():string{
|
||||||
|
$name = $this->getName();
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$reqTurn = $this->getPreReqTurn()+1;
|
||||||
|
|
||||||
|
$reqGoldD5 = number_format($reqGold / 10000);
|
||||||
|
$reqRiceD5 = number_format($reqRice / 10000);
|
||||||
|
|
||||||
|
return "{$name}/{$reqTurn}턴(금/쌀 {$reqGoldD5}만)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPreReqTurn():int{
|
||||||
|
return 23;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPostReqTurn():int{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCost():array{
|
||||||
|
return [100000, 100000];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function run(\Sammo\RandUtil $rng):bool{
|
||||||
|
if(!$this->hasFullConditionMet()){
|
||||||
|
throw new \RuntimeException('불가능한 커맨드를 강제로 실행 시도');
|
||||||
|
}
|
||||||
|
|
||||||
|
$db = DB::db();
|
||||||
|
$general = $this->generalObj;
|
||||||
|
$nationID = $general->getNationID();
|
||||||
|
|
||||||
|
$actionName = static::$actionName;
|
||||||
|
|
||||||
|
$aux = $this->nation['aux'];
|
||||||
|
$aux[static::$auxType->value] = 1;
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
|
||||||
|
$logger = $general->getLogger();
|
||||||
|
|
||||||
|
$general->addExperience(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
$general->addDedication(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
|
||||||
|
$generalName = $general->getName();
|
||||||
|
$josaYi = JosaUtil::pick($generalName, '이');
|
||||||
|
|
||||||
|
$db->update('nation', [
|
||||||
|
'gold' => $db->sqleval('gold - %i', $reqGold),
|
||||||
|
'rice' => $db->sqleval('rice - %i', $reqRice),
|
||||||
|
'aux' => Json::encode($aux),
|
||||||
|
], 'nation=%i', $nationID);
|
||||||
|
|
||||||
|
$logger->pushGeneralActionLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushGeneralHistoryLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushNationalHistoryLog("<Y>{$generalName}</>{$josaYi} <M>{$actionName}</> 완료");
|
||||||
|
|
||||||
|
$general->increaseInheritancePoint(InheritanceKey::active_action, 1);
|
||||||
|
StaticEventHandler::handleEvent($this->generalObj, $this->destGeneralObj, $this::class, $this->env, $this->arg ?? []);
|
||||||
|
$this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0));
|
||||||
|
$general->applyDB($db);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
<?php
|
||||||
|
namespace sammo\Command\Nation;
|
||||||
|
|
||||||
|
use \sammo\Command;
|
||||||
|
use sammo\Constraint\ConstraintHelper;
|
||||||
|
use sammo\DB;
|
||||||
|
use sammo\Enums\InheritanceKey;
|
||||||
|
use sammo\Enums\NationAuxKey;
|
||||||
|
use \sammo\Util;
|
||||||
|
use \sammo\JosaUtil;
|
||||||
|
use sammo\Json;
|
||||||
|
use sammo\LastTurn;
|
||||||
|
use sammo\StaticEventHandler;
|
||||||
|
use sammo\GameConst;
|
||||||
|
|
||||||
|
class event_화시병연구 extends Command\NationCommand{
|
||||||
|
static protected $actionName = '화시병 연구';
|
||||||
|
static protected $auxType = NationAuxKey::can_화시병사용;
|
||||||
|
|
||||||
|
protected function argTest():bool{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function init(){
|
||||||
|
$this->setCity();
|
||||||
|
$this->setNation(['gold','rice','aux']);
|
||||||
|
$this->fullConditionConstraints=[];
|
||||||
|
|
||||||
|
$name = static::$actionName;
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$this->minConditionConstraints = [
|
||||||
|
ConstraintHelper::OccupiedCity(),
|
||||||
|
ConstraintHelper::BeChief(),
|
||||||
|
ConstraintHelper::ReqNationAuxValue(static::$auxType->value, 0, "<", 1, "{$name}가 이미 완료되었습니다."),
|
||||||
|
ConstraintHelper::ReqNationGold(GameConst::$basegold + $reqGold),
|
||||||
|
ConstraintHelper::ReqNationRice(GameConst::$baserice + $reqRice),
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->fullConditionConstraints = $this->minConditionConstraints;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCommandDetailTitle():string{
|
||||||
|
$name = $this->getName();
|
||||||
|
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
$reqTurn = $this->getPreReqTurn()+1;
|
||||||
|
|
||||||
|
$reqGoldD5 = number_format($reqGold / 10000);
|
||||||
|
$reqRiceD5 = number_format($reqRice / 10000);
|
||||||
|
|
||||||
|
return "{$name}/{$reqTurn}턴(금/쌀 {$reqGoldD5}만)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPreReqTurn():int{
|
||||||
|
return 11;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPostReqTurn():int{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCost():array{
|
||||||
|
return [50000, 50000];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function run(\Sammo\RandUtil $rng):bool{
|
||||||
|
if(!$this->hasFullConditionMet()){
|
||||||
|
throw new \RuntimeException('불가능한 커맨드를 강제로 실행 시도');
|
||||||
|
}
|
||||||
|
|
||||||
|
$db = DB::db();
|
||||||
|
$general = $this->generalObj;
|
||||||
|
$nationID = $general->getNationID();
|
||||||
|
|
||||||
|
$actionName = static::$actionName;
|
||||||
|
|
||||||
|
$aux = $this->nation['aux'];
|
||||||
|
$aux[static::$auxType->value] = 1;
|
||||||
|
[$reqGold, $reqRice] = $this->getCost();
|
||||||
|
|
||||||
|
$logger = $general->getLogger();
|
||||||
|
|
||||||
|
$general->addExperience(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
$general->addDedication(5 * ($this->getPreReqTurn() + 1));
|
||||||
|
|
||||||
|
$generalName = $general->getName();
|
||||||
|
$josaYi = JosaUtil::pick($generalName, '이');
|
||||||
|
|
||||||
|
$db->update('nation', [
|
||||||
|
'gold' => $db->sqleval('gold - %i', $reqGold),
|
||||||
|
'rice' => $db->sqleval('rice - %i', $reqRice),
|
||||||
|
'aux' => Json::encode($aux),
|
||||||
|
], 'nation=%i', $nationID);
|
||||||
|
|
||||||
|
$logger->pushGeneralActionLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushGeneralHistoryLog("<M>{$actionName}</> 완료");
|
||||||
|
$logger->pushNationalHistoryLog("<Y>{$generalName}</>{$josaYi} <M>{$actionName}</> 완료");
|
||||||
|
|
||||||
|
$general->increaseInheritancePoint(InheritanceKey::active_action, 1);
|
||||||
|
StaticEventHandler::handleEvent($this->generalObj, $this->destGeneralObj, $this::class, $this->env, $this->arg ?? []);
|
||||||
|
$this->setResultTurn(new LastTurn($this->getName(), $this->arg, 0));
|
||||||
|
$general->applyDB($db);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -50,7 +50,7 @@ class AllowJoinDestNation extends Constraint{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(($this->general['npc']??2 < 2) && \str_starts_with($this->destNation['name'], 'ⓤ')){
|
if((($this->general['npc']??2) < 2) && \str_starts_with($this->destNation['name'], 'ⓤ')){
|
||||||
$this->reason = "유저장은 태수국에 임관할 수 없습니다.";
|
$this->reason = "유저장은 태수국에 임관할 수 없습니다.";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,9 +6,10 @@ use \sammo\GameUnitConst;
|
|||||||
use \sammo\DB;
|
use \sammo\DB;
|
||||||
use \sammo\KVStorage;
|
use \sammo\KVStorage;
|
||||||
use \sammo\CityConst;
|
use \sammo\CityConst;
|
||||||
|
use sammo\Json;
|
||||||
|
|
||||||
class AvailableRecruitCrewType extends Constraint{
|
class AvailableRecruitCrewType extends Constraint{
|
||||||
const REQ_VALUES = Constraint::REQ_NATION|Constraint::REQ_INT_ARG;
|
const REQ_VALUES = Constraint::REQ_GENERAL|Constraint::REQ_NATION|Constraint::REQ_INT_ARG;
|
||||||
|
|
||||||
public function checkInputValues(bool $throwExeception=true):bool{
|
public function checkInputValues(bool $throwExeception=true):bool{
|
||||||
if(!parent::checkInputValues($throwExeception) && !$throwExeception){
|
if(!parent::checkInputValues($throwExeception) && !$throwExeception){
|
||||||
@@ -47,13 +48,22 @@ class AvailableRecruitCrewType extends Constraint{
|
|||||||
|
|
||||||
$ownCities = [];
|
$ownCities = [];
|
||||||
$ownRegions = [];
|
$ownRegions = [];
|
||||||
foreach($db->queryFirstColumn('SELECT city FROM city WHERE nation = %i', $nationID) as $ownCity){
|
foreach($db->query('SELECT city, region, secu, level FROM city WHERE nation = %i', $nationID) as $ownCity){
|
||||||
$ownCities[$ownCity] = 1;
|
$ownCityID = $ownCity['city'];
|
||||||
$ownRegions[CityConst::byId($ownCity)->region] = 1;
|
$ownCities[$ownCityID] = [
|
||||||
|
'secu'=>$ownCity['secu'],
|
||||||
|
'level'=>$ownCity['level'],
|
||||||
|
];
|
||||||
|
$ownRegions[CityConst::byId($ownCityID)->region] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$nationAux = $this->nation['aux'] ?? null;
|
||||||
|
if($nationAux === null){
|
||||||
|
$nationAux = Json::decode($db->queryFirstField('SELECT aux FROM nation WHERE id = %i', $nationID) ?? "{}");
|
||||||
}
|
}
|
||||||
|
|
||||||
$crewType = GameUnitConst::byID($this->arg);
|
$crewType = GameUnitConst::byID($this->arg);
|
||||||
if($crewType->isValid($ownCities, $ownRegions, $year - $startyear, $tech)){
|
if($crewType->isValid($this->generalObj, $ownCities, $ownRegions, $year - $startyear, $tech, $nationAux)){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
namespace sammo\Constraint;
|
namespace sammo\Constraint;
|
||||||
|
|
||||||
|
use sammo\General;
|
||||||
|
|
||||||
abstract class Constraint
|
abstract class Constraint
|
||||||
{
|
{
|
||||||
private function __construct()
|
private function __construct()
|
||||||
@@ -24,6 +26,8 @@ abstract class Constraint
|
|||||||
|
|
||||||
const REQ_VALUES = 0;
|
const REQ_VALUES = 0;
|
||||||
|
|
||||||
|
/** @var ?General */
|
||||||
|
protected $generalObj = null;
|
||||||
protected $general = null;
|
protected $general = null;
|
||||||
protected $city = null;
|
protected $city = null;
|
||||||
protected $nation = null;
|
protected $nation = null;
|
||||||
@@ -33,6 +37,8 @@ abstract class Constraint
|
|||||||
|
|
||||||
protected $cmd_arg = null;
|
protected $cmd_arg = null;
|
||||||
|
|
||||||
|
/** @var ?General */
|
||||||
|
protected $destGeneralObj = null;
|
||||||
protected $destGeneral = null;
|
protected $destGeneral = null;
|
||||||
protected $destCity = null;
|
protected $destCity = null;
|
||||||
protected $destNation = null;
|
protected $destNation = null;
|
||||||
@@ -48,9 +54,10 @@ abstract class Constraint
|
|||||||
return static::REQ_VALUES;
|
return static::REQ_VALUES;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setGeneral(array $general)
|
public function setGeneral(General $general)
|
||||||
{
|
{
|
||||||
$this->general = $general;
|
$this->generalObj = $general;
|
||||||
|
$this->general = $general->getRaw();
|
||||||
$this->tested = false;
|
$this->tested = false;
|
||||||
$this->reason = null;
|
$this->reason = null;
|
||||||
}
|
}
|
||||||
@@ -85,9 +92,10 @@ abstract class Constraint
|
|||||||
$this->reason = null;
|
$this->reason = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setDestGeneral(array $general)
|
public function setDestGeneral(General $general)
|
||||||
{
|
{
|
||||||
$this->destGeneral = $general;
|
$this->destGeneralObj = $general;
|
||||||
|
$this->destGeneral = $general->getRaw();
|
||||||
$this->tested = false;
|
$this->tested = false;
|
||||||
$this->reason = null;
|
$this->reason = null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo\Enums;
|
||||||
|
|
||||||
|
// Nation['aux'] 에서 지정될 수 있는 키
|
||||||
|
|
||||||
|
enum NationAuxKey: string
|
||||||
|
{
|
||||||
|
case can_국기변경 = 'can_국기변경';
|
||||||
|
case can_국호변경 = 'can_국호변경';
|
||||||
|
case did_특성초토화 = 'did_특성초토화';
|
||||||
|
|
||||||
|
|
||||||
|
// 이벤트
|
||||||
|
case can_무작위수도이전 = 'can_무작위수도이전';
|
||||||
|
|
||||||
|
case can_대검병사용 = 'can_대검병사용';
|
||||||
|
case can_극병사용 = 'can_극병사용';
|
||||||
|
case can_화시병사용 = 'can_화시병사용';
|
||||||
|
case can_원융노병사용 = 'can_원융노병사용';
|
||||||
|
case can_산저병사용 = 'can_산저병사용';
|
||||||
|
case can_상병사용 = 'can_상병사용';
|
||||||
|
case can_음귀병사용 = 'can_음귀병사용';
|
||||||
|
case can_무희사용 = 'can_무희사용';
|
||||||
|
case can_화륜차사용 = 'can_화륜차사용';
|
||||||
|
}
|
||||||
@@ -14,6 +14,13 @@ class ChangeCity extends \sammo\Event\Action{
|
|||||||
'def'=>true,
|
'def'=>true,
|
||||||
'wall'=>true,
|
'wall'=>true,
|
||||||
'trade'=>true,
|
'trade'=>true,
|
||||||
|
|
||||||
|
'pop_max'=>true,
|
||||||
|
'agri_max'=>true,
|
||||||
|
'comm_max'=>true,
|
||||||
|
'secu_max'=>true,
|
||||||
|
'def_max'=>true,
|
||||||
|
'wall_max'=>true,
|
||||||
];
|
];
|
||||||
const REGEXP_PERCENT = '/^(\d+(\.\d+)?)%$/';// 123.5% [1]=float
|
const REGEXP_PERCENT = '/^(\d+(\.\d+)?)%$/';// 123.5% [1]=float
|
||||||
const REGEXP_MATH = '/^([\+\-\/\*])(\d+(\.\d+)?)$/'; //+30 [1]=기호, [2]=float
|
const REGEXP_MATH = '/^([\+\-\/\*])(\d+(\.\d+)?)$/'; //+30 [1]=기호, [2]=float
|
||||||
@@ -120,6 +127,16 @@ class ChangeCity extends \sammo\Event\Action{
|
|||||||
return DB::db()->sqleval('ROUND(%b * %d, 0)', $keyMax, $value/100);
|
return DB::db()->sqleval('ROUND(%b * %d, 0)', $keyMax, $value/100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(str_ends_with($key, '_max') && preg_match(self::REGEXP_MATH, $value, $matches)){
|
||||||
|
//key가 아예 최대치에 대한 값이면 연산은 결과값이 0보다만 높게.
|
||||||
|
$op = $matches[1];
|
||||||
|
$value = $matches[2];
|
||||||
|
if($op == '/' && $value == 0){
|
||||||
|
throw new \InvalidArgumentException('0으로 나눌 수 없습니다.');
|
||||||
|
}
|
||||||
|
return DB::db()->sqleval('greatest(0, ROUND(%b '.$op.' %i, 0))', $key, $value);
|
||||||
|
}
|
||||||
|
|
||||||
if(preg_match(self::REGEXP_MATH, $value, $matches)){
|
if(preg_match(self::REGEXP_MATH, $value, $matches)){
|
||||||
$op = $matches[1];
|
$op = $matches[1];
|
||||||
$value = $matches[2];
|
$value = $matches[2];
|
||||||
|
|||||||
@@ -94,6 +94,11 @@ class GameConstBase
|
|||||||
/** @var int 최대 레벨 */
|
/** @var int 최대 레벨 */
|
||||||
public static $maxLevel = 255;
|
public static $maxLevel = 255;
|
||||||
|
|
||||||
|
/** @var int 기술등급 허용 증가 단위 년 */
|
||||||
|
public static $techLevelIncYear = 5;
|
||||||
|
/** @var int 초기 기술등급 */
|
||||||
|
public static $initialAllowedTechLevel = 1;
|
||||||
|
|
||||||
/** @var int 최소 인구 증가량 */
|
/** @var int 최소 인구 증가량 */
|
||||||
public static $basePopIncreaseAmount = 5000;
|
public static $basePopIncreaseAmount = 5000;
|
||||||
/** @var int 증축시 인구 증가량 */
|
/** @var int 증축시 인구 증가량 */
|
||||||
@@ -109,6 +114,9 @@ class GameConstBase
|
|||||||
/** @var int 징병 허용 최소 인구 */
|
/** @var int 징병 허용 최소 인구 */
|
||||||
public static $minAvailableRecruitPop = 30000;
|
public static $minAvailableRecruitPop = 30000;
|
||||||
|
|
||||||
|
/** @var int 점령 후 일반 도시 성벽 */
|
||||||
|
public static $defaultCityWall = 1000;
|
||||||
|
|
||||||
/** @var int 초기 제한시 장수 제한 */
|
/** @var int 초기 제한시 장수 제한 */
|
||||||
public static $initialNationGenLimit = 10;
|
public static $initialNationGenLimit = 10;
|
||||||
|
|
||||||
|
|||||||
+55
-123
@@ -1,6 +1,13 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace sammo;
|
namespace sammo;
|
||||||
|
|
||||||
|
use sammo\GameUnitConstraint\Impossible;
|
||||||
|
use sammo\GameUnitConstraint\ReqTech;
|
||||||
|
use sammo\GameUnitConstraint\ReqCities;
|
||||||
|
use sammo\GameUnitConstraint\ReqRegions;
|
||||||
|
use sammo\GameUnitConstraint\ReqMinRelYear;
|
||||||
|
|
||||||
|
|
||||||
class GameUnitConstBase{
|
class GameUnitConstBase{
|
||||||
protected function __construct(){
|
protected function __construct(){
|
||||||
|
|
||||||
@@ -21,8 +28,6 @@ class GameUnitConstBase{
|
|||||||
|
|
||||||
protected static $constID = [];
|
protected static $constID = [];
|
||||||
protected static $constName = [];
|
protected static $constName = [];
|
||||||
protected static $constCity = [];
|
|
||||||
protected static $constRegion = [];
|
|
||||||
protected static $constType = [];
|
protected static $constType = [];
|
||||||
|
|
||||||
protected static $typeData = [
|
protected static $typeData = [
|
||||||
@@ -33,11 +38,12 @@ class GameUnitConstBase{
|
|||||||
self::T_SIEGE => '차병',
|
self::T_SIEGE => '차병',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected static $_buildData = [
|
protected static function getBuildData(): array {
|
||||||
|
return [
|
||||||
[
|
[
|
||||||
1000, self::T_CASTLE, '성벽',
|
1000, self::T_CASTLE, '성벽',
|
||||||
100, 100, 7, 0, 0, 99, 9,
|
100, 100, 7, 0, 0, 99, 9,
|
||||||
999999, null, null, 999999,
|
[new Impossible()],
|
||||||
[], // 성벽은 공격할 수 없다.
|
[], // 성벽은 공격할 수 없다.
|
||||||
[self::T_FOOTMAN=>1.2],
|
[self::T_FOOTMAN=>1.2],
|
||||||
['성벽입니다.','생성할 수 없습니다.'],
|
['성벽입니다.','생성할 수 없습니다.'],
|
||||||
@@ -47,7 +53,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1100, self::T_FOOTMAN, '보병',
|
1100, self::T_FOOTMAN, '보병',
|
||||||
100, 150, 7, 10, 0, 9, 9,
|
100, 150, 7, 10, 0, 9, 9,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
['표준적인 보병입니다.','보병은 방어특화이며,','상대가 회피하기 어렵습니다.'],
|
['표준적인 보병입니다.','보병은 방어특화이며,','상대가 회피하기 어렵습니다.'],
|
||||||
@@ -56,7 +62,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1101, self::T_FOOTMAN, '청주병',
|
1101, self::T_FOOTMAN, '청주병',
|
||||||
100, 200, 7, 10, 0, 10, 11,
|
100, 200, 7, 10, 0, 10, 11,
|
||||||
1000, null, ['중원'], 0,
|
[new ReqTech(1000), new ReqRegions('중원')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
['저렴하고 튼튼합니다.'],
|
['저렴하고 튼튼합니다.'],
|
||||||
@@ -65,7 +71,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1102, self::T_FOOTMAN, '수병',
|
1102, self::T_FOOTMAN, '수병',
|
||||||
150, 150, 7, 10, 0, 11, 10,
|
150, 150, 7, 10, 0, 11, 10,
|
||||||
1000, null, ['오월'], 0,
|
[new ReqTech(1000), new ReqRegions('오월')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
['저렴하고 강력합니다.'],
|
['저렴하고 강력합니다.'],
|
||||||
@@ -74,7 +80,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1103, self::T_FOOTMAN, '자객병',
|
1103, self::T_FOOTMAN, '자객병',
|
||||||
100, 150, 8, 20, 0, 10, 10,
|
100, 150, 8, 20, 0, 10, 10,
|
||||||
2000, ['저'], null, 0,
|
[new ReqTech(2000), new ReqCities('저')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
['은밀하고 날쌥니다.'],
|
['은밀하고 날쌥니다.'],
|
||||||
@@ -83,7 +89,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1104, self::T_FOOTMAN, '근위병',
|
1104, self::T_FOOTMAN, '근위병',
|
||||||
150, 200, 7, 10, 0, 12, 12,
|
150, 200, 7, 10, 0, 12, 12,
|
||||||
3000, ['낙양'], null, 0,
|
[new ReqTech(3000), new ReqCities('낙양')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
['최강의 보병입니다.'],
|
['최강의 보병입니다.'],
|
||||||
@@ -92,7 +98,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1105, self::T_FOOTMAN, '등갑병',
|
1105, self::T_FOOTMAN, '등갑병',
|
||||||
100, 225, 7, 5, 0, 13, 10,
|
100, 225, 7, 5, 0, 13, 10,
|
||||||
1000, null, ['남중'], 0,
|
[new ReqTech(1000), new ReqRegions('남중')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
['등갑을 두른 보병입니다.'],
|
['등갑을 두른 보병입니다.'],
|
||||||
@@ -101,7 +107,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1106, self::T_FOOTMAN, '백이병',
|
1106, self::T_FOOTMAN, '백이병',
|
||||||
175, 175, 7, 5, 0, 13, 11,
|
175, 175, 7, 5, 0, 13, 11,
|
||||||
3000, ['성도'], null, 0,
|
[new ReqTech(3000), new ReqCities('성도')],
|
||||||
[self::T_ARCHER=>1.1, self::T_CAVALRY=>0.9, self::T_SIEGE=>1.1],
|
[self::T_ARCHER=>1.1, self::T_CAVALRY=>0.9, self::T_SIEGE=>1.1],
|
||||||
[self::T_ARCHER=>0.9, self::T_CAVALRY=>1.1, self::T_SIEGE=>0.9],
|
[self::T_ARCHER=>0.9, self::T_CAVALRY=>1.1, self::T_SIEGE=>0.9],
|
||||||
['정예 보병입니다. 불리한 싸움도 버텨냅니다.'],
|
['정예 보병입니다. 불리한 싸움도 버텨냅니다.'],
|
||||||
@@ -111,7 +117,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1200, self::T_ARCHER, '궁병',
|
1200, self::T_ARCHER, '궁병',
|
||||||
100, 100, 7, 10, 0, 10, 10,
|
100, 100, 7, 10, 0, 10, 10,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
['표준적인 궁병입니다.','궁병은 선제사격을 하는 병종입니다.'],
|
['표준적인 궁병입니다.','궁병은 선제사격을 하는 병종입니다.'],
|
||||||
@@ -120,7 +126,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1201, self::T_ARCHER, '궁기병',
|
1201, self::T_ARCHER, '궁기병',
|
||||||
100, 100, 8, 20, 0, 11, 12,
|
100, 100, 8, 20, 0, 11, 12,
|
||||||
1000, null, ['동이'], 0,
|
[new ReqTech(1000), new ReqRegions('동이')],
|
||||||
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.9, self::T_SIEGE=>1.2],
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.9, self::T_SIEGE=>1.2],
|
||||||
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.1, self::T_SIEGE=>0.8],
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.1, self::T_SIEGE=>0.8],
|
||||||
['말을 타고 잘 피합니다. 특히 다른 궁병보다 보병에게 조금 더 강합니다.'],
|
['말을 타고 잘 피합니다. 특히 다른 궁병보다 보병에게 조금 더 강합니다.'],
|
||||||
@@ -129,7 +135,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1202, self::T_ARCHER, '연노병',
|
1202, self::T_ARCHER, '연노병',
|
||||||
150, 100, 8, 10, 0, 12, 11,
|
150, 100, 8, 10, 0, 12, 11,
|
||||||
1000, null, ['서촉'], 0,
|
[new ReqTech(1000), new ReqRegions('서촉')],
|
||||||
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
['화살을 연사합니다.'],
|
['화살을 연사합니다.'],
|
||||||
@@ -138,7 +144,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1203, self::T_ARCHER, '강궁병',
|
1203, self::T_ARCHER, '강궁병',
|
||||||
150, 150, 7, 10, 0, 13, 13,
|
150, 150, 7, 10, 0, 13, 13,
|
||||||
3000, ['양양'], null, 0,
|
[new ReqTech(3000), new ReqCities('양양')],
|
||||||
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
['강건한 궁병입니다.'],
|
['강건한 궁병입니다.'],
|
||||||
@@ -147,7 +153,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1204, self::T_ARCHER, '석궁병',
|
1204, self::T_ARCHER, '석궁병',
|
||||||
200, 100, 7, 10, 0, 13, 13,
|
200, 100, 7, 10, 0, 13, 13,
|
||||||
3000, ['건업'], null, 0,
|
[new ReqTech(3000), new ReqCities('건업')],
|
||||||
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
['강력한 화살을 쏩니다.'],
|
['강력한 화살을 쏩니다.'],
|
||||||
@@ -157,7 +163,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1300, self::T_CAVALRY, '기병',
|
1300, self::T_CAVALRY, '기병',
|
||||||
150, 100, 7, 5, 0, 11, 11,
|
150, 100, 7, 5, 0, 11, 11,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['표준적인 기병입니다.','기병은 공격특화입니다.'],
|
['표준적인 기병입니다.','기병은 공격특화입니다.'],
|
||||||
@@ -166,7 +172,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1301, self::T_CAVALRY, '백마병',
|
1301, self::T_CAVALRY, '백마병',
|
||||||
200, 100, 7, 5, 0, 12, 13,
|
200, 100, 7, 5, 0, 12, 13,
|
||||||
1000, null, ['하북'], 0,
|
[new ReqTech(1000), new ReqRegions('하북')],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['백마의 위용을 보여줍니다.'],
|
['백마의 위용을 보여줍니다.'],
|
||||||
@@ -175,7 +181,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1302, self::T_CAVALRY, '중장기병',
|
1302, self::T_CAVALRY, '중장기병',
|
||||||
150, 150, 7, 5, 0, 13, 12,
|
150, 150, 7, 5, 0, 13, 12,
|
||||||
1000, null, ['서북'], 0,
|
[new ReqTech(1000), new ReqRegions('서북')],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['갑주를 두른 기병입니다.'],
|
['갑주를 두른 기병입니다.'],
|
||||||
@@ -184,7 +190,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1303, self::T_CAVALRY, '돌격기병',
|
1303, self::T_CAVALRY, '돌격기병',
|
||||||
200, 100, 8, 5, 0, 13, 11,
|
200, 100, 8, 5, 0, 13, 11,
|
||||||
2000, ['흉노'], null, 0,
|
[new ReqTech(2000), new ReqCities('흉노')],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['저돌적으로 공격합니다.'],
|
['저돌적으로 공격합니다.'],
|
||||||
@@ -193,7 +199,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1304, self::T_CAVALRY, '철기병',
|
1304, self::T_CAVALRY, '철기병',
|
||||||
100, 250, 7, 5, 0, 11, 13,
|
100, 250, 7, 5, 0, 11, 13,
|
||||||
2000, ['강'], null, 0,
|
[new ReqTech(2000), new ReqCities('강')],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['철갑을 두른 기병입니다.'],
|
['철갑을 두른 기병입니다.'],
|
||||||
@@ -202,7 +208,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1305, self::T_CAVALRY, '수렵기병',
|
1305, self::T_CAVALRY, '수렵기병',
|
||||||
150, 100, 8, 15, 0, 12, 12,
|
150, 100, 8, 15, 0, 12, 12,
|
||||||
2000, ['산월'], null, 0,
|
[new ReqTech(2000), new ReqCities('산월')],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['날쎄고 빠른 기병입니다.'],
|
['날쎄고 빠른 기병입니다.'],
|
||||||
@@ -211,7 +217,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1306, self::T_CAVALRY, '맹수병',
|
1306, self::T_CAVALRY, '맹수병',
|
||||||
250, 175, 6, 0, 0, 16, 16,
|
250, 175, 6, 0, 0, 16, 16,
|
||||||
2000, ['남만'], null, 0,
|
[new ReqTech(2000), new ReqCities('남만')],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['어느 누구보다 강력합니다.'],
|
['어느 누구보다 강력합니다.'],
|
||||||
@@ -220,7 +226,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1307, self::T_CAVALRY, '호표기병',
|
1307, self::T_CAVALRY, '호표기병',
|
||||||
200, 150, 7, 5, 0, 14, 14,
|
200, 150, 7, 5, 0, 14, 14,
|
||||||
3000, ['허창'], null, 0,
|
[new ReqTech(3000), new ReqCities('허창')],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['정예 기병입니다.'],
|
['정예 기병입니다.'],
|
||||||
@@ -230,7 +236,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1400, self::T_WIZARD, '귀병',
|
1400, self::T_WIZARD, '귀병',
|
||||||
80, 80, 7, 5, 0.5, 9, 9,
|
80, 80, 7, 5, 0.5, 9, 9,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['계략을 사용하는 병종입니다.'],
|
['계략을 사용하는 병종입니다.'],
|
||||||
@@ -239,7 +245,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1401, self::T_WIZARD, '신귀병',
|
1401, self::T_WIZARD, '신귀병',
|
||||||
80, 80, 7, 20, 0.6, 10, 10,
|
80, 80, 7, 20, 0.6, 10, 10,
|
||||||
1000, null, ['초'], 0,
|
[new ReqTech(1000), new ReqRegions('초')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['신출귀몰한 귀병입니다.'],
|
['신출귀몰한 귀병입니다.'],
|
||||||
@@ -248,7 +254,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1402, self::T_WIZARD, '백귀병',
|
1402, self::T_WIZARD, '백귀병',
|
||||||
80, 130, 7, 5, 0.6, 9, 11,
|
80, 130, 7, 5, 0.6, 9, 11,
|
||||||
2000, ['오환'], null, 0,
|
[new ReqTech(2000), new ReqCities('오환')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['저렴하고 튼튼합니다.'],
|
['저렴하고 튼튼합니다.'],
|
||||||
@@ -257,7 +263,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1403, self::T_WIZARD, '흑귀병',
|
1403, self::T_WIZARD, '흑귀병',
|
||||||
130, 80, 7, 5, 0.6, 11, 9,
|
130, 80, 7, 5, 0.6, 11, 9,
|
||||||
2000, ['왜'], null, 0,
|
[new ReqTech(2000), new ReqCities('왜')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['저렴하고 강력합니다.'],
|
['저렴하고 강력합니다.'],
|
||||||
@@ -266,7 +272,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1404, self::T_WIZARD, '악귀병',
|
1404, self::T_WIZARD, '악귀병',
|
||||||
130, 130, 7, 0, 0.6, 12, 12,
|
130, 130, 7, 0, 0.6, 12, 12,
|
||||||
3000, ['장안'], null, 0,
|
[new ReqTech(3000), new ReqCities('장안')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['백병전에도 능숙합니다.'],
|
['백병전에도 능숙합니다.'],
|
||||||
@@ -275,7 +281,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1405, self::T_WIZARD, '남귀병',
|
1405, self::T_WIZARD, '남귀병',
|
||||||
60, 60, 7, 10, 0.8, 8, 8,
|
60, 60, 7, 10, 0.8, 8, 8,
|
||||||
1000, null, null, 0,
|
[new ReqTech(1000)],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['전투를 포기하고 계략에 몰두합니다.'],
|
['전투를 포기하고 계략에 몰두합니다.'],
|
||||||
@@ -284,7 +290,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1406, self::T_WIZARD, '황귀병',
|
1406, self::T_WIZARD, '황귀병',
|
||||||
110, 110, 7, 0, 0.8, 13, 10,
|
110, 110, 7, 0, 0.8, 13, 10,
|
||||||
3000, ['낙양'], null, 0,
|
[new ReqTech(3000), new ReqCities('낙양')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['고도로 훈련된 귀병입니다.'],
|
['고도로 훈련된 귀병입니다.'],
|
||||||
@@ -293,7 +299,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1407, self::T_WIZARD, '천귀병',
|
1407, self::T_WIZARD, '천귀병',
|
||||||
80, 130, 7, 15, 0.6, 11, 12,
|
80, 130, 7, 15, 0.6, 11, 12,
|
||||||
3000, ['성도'], null, 0,
|
[new ReqTech(3000), new ReqCities('성도')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['갑주를 두른 귀병입니다.'],
|
['갑주를 두른 귀병입니다.'],
|
||||||
@@ -302,7 +308,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1408, self::T_WIZARD, '마귀병',
|
1408, self::T_WIZARD, '마귀병',
|
||||||
130, 80, 7, 15, 0.6, 12, 11,
|
130, 80, 7, 15, 0.6, 12, 11,
|
||||||
3000, ['업'], null, 0,
|
[new ReqTech(3000), new ReqCities('업')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['날카로운 무기를 가진 귀병입니다.'],
|
['날카로운 무기를 가진 귀병입니다.'],
|
||||||
@@ -312,7 +318,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1500, self::T_SIEGE, '정란',
|
1500, self::T_SIEGE, '정란',
|
||||||
100, 100, 6, 0, 0, 14, 5,
|
100, 100, 6, 0, 0, 14, 5,
|
||||||
0, null, null, 3,
|
[new ReqMinRelYear(3)],
|
||||||
[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=>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=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067],
|
||||||
['높은 구조물 위에서 공격합니다. 첫 공격은 성벽을 향합니다.'],
|
['높은 구조물 위에서 공격합니다. 첫 공격은 성벽을 향합니다.'],
|
||||||
@@ -321,7 +327,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1501, self::T_SIEGE, '충차',
|
1501, self::T_SIEGE, '충차',
|
||||||
150, 100, 6, 0, 0, 18, 5,
|
150, 100, 6, 0, 0, 18, 5,
|
||||||
1000, null, null, 3,
|
[new ReqTech(1000), new ReqMinRelYear(3)],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
|
||||||
['엄청난 위력으로 성벽을 부수어버립니다.'],
|
['엄청난 위력으로 성벽을 부수어버립니다.'],
|
||||||
@@ -330,7 +336,7 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1502, self::T_SIEGE, '벽력거',
|
1502, self::T_SIEGE, '벽력거',
|
||||||
150, 100, 6, 5, 0, 20, 5,
|
150, 100, 6, 5, 0, 20, 5,
|
||||||
3000, ['업'], null, 0,
|
[new ReqTech(3000), new ReqCities('업')],
|
||||||
[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=>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=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067],
|
||||||
['상대에게 돌덩이를 날립니다. 첫 공격은 성벽을 향합니다.'],
|
['상대에게 돌덩이를 날립니다. 첫 공격은 성벽을 향합니다.'],
|
||||||
@@ -339,13 +345,15 @@ class GameUnitConstBase{
|
|||||||
[
|
[
|
||||||
1503, self::T_SIEGE, '목우',
|
1503, self::T_SIEGE, '목우',
|
||||||
50, 200, 5, 0, 0, 15, 5,
|
50, 200, 5, 0, 0, 15, 5,
|
||||||
3000, ['성도'], null, 0,
|
[new ReqTech(3000), new ReqCities('성도')],
|
||||||
[self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, self::T_CASTLE=>1.8],
|
[self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, self::T_CASTLE=>1.8],
|
||||||
[self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, 1106=>1],
|
[self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, 1106=>1],
|
||||||
['상대를 저지하는 특수병기입니다.'],
|
['상대를 저지하는 특수병기입니다.'],
|
||||||
['che_성벽부상무효'], ['che_저지시도', 'che_저지발동'], null
|
['che_성벽부상무효'], ['che_저지시도', 'che_저지발동'], null
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static function addGameUnit(GameUnitDetail $unitType){
|
public static function addGameUnit(GameUnitDetail $unitType){
|
||||||
static::_generate();
|
static::_generate();
|
||||||
@@ -357,22 +365,6 @@ class GameUnitConstBase{
|
|||||||
static::$constType[$unitType->armType] = [];
|
static::$constType[$unitType->armType] = [];
|
||||||
}
|
}
|
||||||
static::$constType[$unitType->armType][] = $unitType;
|
static::$constType[$unitType->armType][] = $unitType;
|
||||||
|
|
||||||
foreach($unitType->reqCities as $reqCity){
|
|
||||||
if(!key_exists($reqCity, static::$constCity)){
|
|
||||||
static::$constCity[$reqCity] = [];
|
|
||||||
}
|
|
||||||
static::$constCity[$reqCity][] = $unitType;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($unitType->reqRegions){
|
|
||||||
foreach($unitType->reqRegions as $reqRegion){
|
|
||||||
if(!key_exists($reqRegion, static::$constRegion)){
|
|
||||||
static::$constRegion[$reqRegion] = [];
|
|
||||||
}
|
|
||||||
static::$constRegion[$reqRegion][] = $unitType;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -400,22 +392,6 @@ class GameUnitConstBase{
|
|||||||
return static::$constName[$name]??null;
|
return static::$constName[$name]??null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return \sammo\GameUnitDetail[]
|
|
||||||
*/
|
|
||||||
public static function byCity(int $city): array{
|
|
||||||
static::_generate();
|
|
||||||
return static::$constCity[$city]??[];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return \sammo\GameUnitDetail[]
|
|
||||||
*/
|
|
||||||
public static function byRegion(int $region): array{
|
|
||||||
static::_generate();
|
|
||||||
return static::$constRegion[$region]??[];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return \sammo\GameUnitDetail[]
|
* @return \sammo\GameUnitDetail[]
|
||||||
@@ -435,17 +411,17 @@ class GameUnitConstBase{
|
|||||||
|
|
||||||
protected static function _generate(){
|
protected static function _generate(){
|
||||||
|
|
||||||
if(static::$constID || static::$constName || static::$constCity || static::$constRegion || static::$constType){
|
if(static::$constID || static::$constName || static::$constType){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$constID = [];
|
$constID = [];
|
||||||
$constName = [];
|
$constName = [];
|
||||||
$constCity = [];
|
|
||||||
$constRegion = [];
|
|
||||||
$constType = [];
|
$constType = [];
|
||||||
|
|
||||||
foreach(static::$_buildData as $rawUnit){
|
$buildData = static::getBuildData();
|
||||||
|
|
||||||
|
foreach($buildData as $rawUnit){
|
||||||
[
|
[
|
||||||
$id,
|
$id,
|
||||||
$armType,
|
$armType,
|
||||||
@@ -457,10 +433,7 @@ class GameUnitConstBase{
|
|||||||
$magicCoef,
|
$magicCoef,
|
||||||
$cost,
|
$cost,
|
||||||
$rice,
|
$rice,
|
||||||
$reqTech,
|
$reqConstraints,
|
||||||
$reqCities,
|
|
||||||
$reqRegions,
|
|
||||||
$reqYear,
|
|
||||||
$attackCoef,
|
$attackCoef,
|
||||||
$defenceCoef,
|
$defenceCoef,
|
||||||
$info,
|
$info,
|
||||||
@@ -469,26 +442,9 @@ class GameUnitConstBase{
|
|||||||
$iActionList,
|
$iActionList,
|
||||||
] = $rawUnit;
|
] = $rawUnit;
|
||||||
|
|
||||||
if($reqYear > 0){
|
foreach($reqConstraints as $constraint){
|
||||||
$info[] = "{$reqYear}년 경과 후 사용 가능";
|
/** @var \sammo\GameUnitConstraint\BaseGameUnitConstraint $constraint */
|
||||||
}
|
$info[] = $constraint->getInfo();
|
||||||
|
|
||||||
if($reqTech > 0){
|
|
||||||
$info[] = "기술력 {$reqTech} 이상 필요";
|
|
||||||
}
|
|
||||||
|
|
||||||
if($reqCities !== null){
|
|
||||||
$reqCities = array_map(function($reqCity) use (&$info){
|
|
||||||
$info[] = "{$reqCity} 소유시 가능";
|
|
||||||
return CityConst::byName($reqCity)->id;
|
|
||||||
}, $reqCities);
|
|
||||||
}
|
|
||||||
|
|
||||||
if($reqRegions !== null){
|
|
||||||
$reqRegions = array_map(function($reqRegion) use (&$info){
|
|
||||||
$info[] = "{$reqRegion} 지역 소유시 가능";
|
|
||||||
return CityConst::$regionMap[$reqRegion];
|
|
||||||
}, $reqRegions);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$unit = new GameUnitDetail(
|
$unit = new GameUnitDetail(
|
||||||
@@ -502,16 +458,13 @@ class GameUnitConstBase{
|
|||||||
$magicCoef,
|
$magicCoef,
|
||||||
$cost,
|
$cost,
|
||||||
$rice,
|
$rice,
|
||||||
$reqTech,
|
$reqConstraints,
|
||||||
$reqCities,
|
|
||||||
$reqRegions,
|
|
||||||
$reqYear,
|
|
||||||
$attackCoef,
|
$attackCoef,
|
||||||
$defenceCoef,
|
$defenceCoef,
|
||||||
$info,
|
$info,
|
||||||
$initSkillTrigger,
|
$initSkillTrigger,
|
||||||
$phaseSkillTrigger,
|
$phaseSkillTrigger,
|
||||||
$iActionList,
|
$iActionList
|
||||||
);
|
);
|
||||||
|
|
||||||
$constID[$id] = $unit;
|
$constID[$id] = $unit;
|
||||||
@@ -521,31 +474,10 @@ class GameUnitConstBase{
|
|||||||
}
|
}
|
||||||
$constType[$armType][$id] = $unit;
|
$constType[$armType][$id] = $unit;
|
||||||
|
|
||||||
if($unit->reqCities){
|
|
||||||
foreach($unit->reqCities as $reqCity){
|
|
||||||
if(!key_exists($reqCity, $constCity)){
|
|
||||||
$constCity[$reqCity] = [];
|
|
||||||
}
|
|
||||||
$constCity[$reqCity][$id] = $unit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if($unit->reqRegions){
|
|
||||||
foreach($unit->reqRegions as $reqRegion){
|
|
||||||
if(!key_exists($reqRegion, $constRegion)){
|
|
||||||
$constRegion[$reqRegion] = [];
|
|
||||||
}
|
|
||||||
$constRegion[$reqRegion][$id] = $unit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static::$constID = $constID;
|
static::$constID = $constID;
|
||||||
static::$constName = $constName;
|
static::$constName = $constName;
|
||||||
static::$constCity = $constCity;
|
|
||||||
static::$constRegion = $constRegion;
|
|
||||||
static::$constType = $constType;
|
static::$constType = $constType;
|
||||||
|
|
||||||
static::_generateOptional();
|
static::_generateOptional();
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo\GameUnitConstraint;
|
||||||
|
|
||||||
|
use sammo\General;
|
||||||
|
|
||||||
|
abstract class BaseGameUnitConstraint {
|
||||||
|
public abstract function test(General $general, array $ownCities, array $ownRegions, int $relativeYear, int $tech, array $nationAux): bool;
|
||||||
|
|
||||||
|
public abstract function getInfo(): string;
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo\GameUnitConstraint;
|
||||||
|
|
||||||
|
use sammo\General;
|
||||||
|
|
||||||
|
class Impossible extends BaseGameUnitConstraint {
|
||||||
|
|
||||||
|
public function test(General $general, array $ownCities, array $ownRegions, int $relativeYear, int $tech, array $nationAux): bool
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInfo(): string
|
||||||
|
{
|
||||||
|
return "불가능";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo\GameUnitConstraint;
|
||||||
|
|
||||||
|
use sammo\General;
|
||||||
|
|
||||||
|
class ReqChief extends BaseGameUnitConstraint
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test(General $general, array $ownCities, array $ownRegions, int $relativeYear, int $tech, array $nationAux): bool
|
||||||
|
{
|
||||||
|
if($general->getVar('officer_level') >= 5){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInfo(): string
|
||||||
|
{
|
||||||
|
return "군주 및 수뇌부만 가능";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo\GameUnitConstraint;
|
||||||
|
|
||||||
|
use sammo\CityConst;
|
||||||
|
use sammo\General;
|
||||||
|
|
||||||
|
class ReqCities extends BaseGameUnitConstraint
|
||||||
|
{
|
||||||
|
|
||||||
|
public readonly array $reqCities;
|
||||||
|
public function __construct(...$reqCities)
|
||||||
|
{
|
||||||
|
$dstReqCities = [];
|
||||||
|
if (count($reqCities) == 0) {
|
||||||
|
$this->reqCities = [];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($reqCities as $city) {
|
||||||
|
$dstReqCities[CityConst::byName($city)->id] = $city;
|
||||||
|
}
|
||||||
|
$this->reqCities = $dstReqCities;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test(General $general, array $ownCities, array $ownRegions, int $relativeYear, int $tech, array $nationAux): bool
|
||||||
|
{
|
||||||
|
foreach ($this->reqCities as $cityID => $cityName) {
|
||||||
|
if (key_exists($cityID, $ownCities)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInfo(): string
|
||||||
|
{
|
||||||
|
$cityNameText = implode(', ', $this->reqCities);
|
||||||
|
return "{$cityNameText} 소유시 가능";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo\GameUnitConstraint;
|
||||||
|
|
||||||
|
use sammo\CityConst;
|
||||||
|
use sammo\General;
|
||||||
|
|
||||||
|
use function sammo\getCityLevelList;
|
||||||
|
|
||||||
|
class ReqCitiesWithCityLevel extends BaseGameUnitConstraint
|
||||||
|
{
|
||||||
|
|
||||||
|
public readonly array $reqCities;
|
||||||
|
public function __construct(
|
||||||
|
public readonly int $reqCityLevel,
|
||||||
|
...$reqCities)
|
||||||
|
{
|
||||||
|
$dstReqCities = [];
|
||||||
|
if (count($reqCities) == 0) {
|
||||||
|
$this->reqCities = [];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($reqCities as $city) {
|
||||||
|
$dstReqCities[CityConst::byName($city)->id] = $city;
|
||||||
|
}
|
||||||
|
$this->reqCities = $dstReqCities;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test(General $general, array $ownCities, array $ownRegions, int $relativeYear, int $tech, array $nationAux): bool
|
||||||
|
{
|
||||||
|
foreach ($this->reqCities as $cityID => $cityName) {
|
||||||
|
if (!key_exists($cityID, $ownCities)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($ownCities[$cityID]['level'] >= $this->reqCityLevel) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInfo(): string
|
||||||
|
{
|
||||||
|
$cityLevelText = getCityLevelList()[$this->reqCityLevel];
|
||||||
|
$cityNameText = implode(', ', $this->reqCities);
|
||||||
|
return "{$cityNameText} {$cityLevelText}성 소유시 가능";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo\GameUnitConstraint;
|
||||||
|
|
||||||
|
use sammo\General;
|
||||||
|
|
||||||
|
use function sammo\getCityLevelList;
|
||||||
|
|
||||||
|
class ReqHighLevelCities extends BaseGameUnitConstraint
|
||||||
|
{
|
||||||
|
|
||||||
|
public readonly array $reqCities;
|
||||||
|
public function __construct(
|
||||||
|
public readonly int $reqCityLevel,
|
||||||
|
public readonly int $reqCityCount
|
||||||
|
) {}
|
||||||
|
|
||||||
|
public function test(General $general, array $ownCities, array $ownRegions, int $relativeYear, int $tech, array $nationAux): bool
|
||||||
|
{
|
||||||
|
$cnt = 0;
|
||||||
|
foreach ($ownCities as $cityItem) {
|
||||||
|
if ($cityItem['level'] >= $this->reqCityLevel) {
|
||||||
|
$cnt++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if($cnt >= $this->reqCityCount) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInfo(): string
|
||||||
|
{
|
||||||
|
$cityLevelText = getCityLevelList()[$this->reqCityLevel];
|
||||||
|
return "{$cityLevelText}성 {$this->reqCityCount}개 이상 소유시 가능";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo\GameUnitConstraint;
|
||||||
|
|
||||||
|
use sammo\General;
|
||||||
|
|
||||||
|
class ReqMinRelYear extends BaseGameUnitConstraint {
|
||||||
|
|
||||||
|
public function __construct(public readonly int $reqMinRelYear)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test(General $general, array $ownCities, array $ownRegions, int $relativeYear, int $tech, array $nationAux): bool
|
||||||
|
{
|
||||||
|
return $relativeYear >= $this->reqMinRelYear;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInfo(): string
|
||||||
|
{
|
||||||
|
return "{$this->reqMinRelYear}년 경과 후 사용 가능";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,122 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo\GameUnitConstraint;
|
||||||
|
|
||||||
|
use sammo\CityConst;
|
||||||
|
use sammo\Enums\NationAuxKey;
|
||||||
|
use sammo\General;
|
||||||
|
|
||||||
|
class ReqNationAux extends BaseGameUnitConstraint
|
||||||
|
{
|
||||||
|
|
||||||
|
const AVAILABLE_CMP = [
|
||||||
|
'==' => true,
|
||||||
|
'!=' => true,
|
||||||
|
'<' => true,
|
||||||
|
'>' => true,
|
||||||
|
'<=' => true,
|
||||||
|
'>=' => true,
|
||||||
|
];
|
||||||
|
|
||||||
|
public function __construct(
|
||||||
|
public readonly NationAuxKey $reqNationAuxKey,
|
||||||
|
public readonly string $cmp,
|
||||||
|
public readonly int|float $value
|
||||||
|
) {
|
||||||
|
if (!array_key_exists($cmp, self::AVAILABLE_CMP)) {
|
||||||
|
throw new \InvalidArgumentException('올바르지 않은 비교연산자입니다');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test(General $general, array $ownCities, array $ownRegions, int $relativeYear, int $tech, array $nationAux): bool
|
||||||
|
{
|
||||||
|
|
||||||
|
$lhs = $nationAux[$this->reqNationAuxKey->value] ?? 0;
|
||||||
|
$rhs = $this->value;
|
||||||
|
|
||||||
|
$value = false;
|
||||||
|
switch ($this->cmp) {
|
||||||
|
case '==':
|
||||||
|
$value = ($lhs == $rhs);
|
||||||
|
break;
|
||||||
|
case '!=':
|
||||||
|
$value = ($lhs != $rhs);
|
||||||
|
break;
|
||||||
|
case '<=':
|
||||||
|
$value = ($lhs <= $rhs);
|
||||||
|
break;
|
||||||
|
case '>=':
|
||||||
|
$value = ($lhs >= $rhs);
|
||||||
|
break;
|
||||||
|
case '<':
|
||||||
|
$value = ($lhs < $rhs);
|
||||||
|
break;
|
||||||
|
case '>':
|
||||||
|
$value = ($lhs > $rhs);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInfo(): string
|
||||||
|
{
|
||||||
|
//Enum별 특수한 경우
|
||||||
|
switch ($this->reqNationAuxKey) {
|
||||||
|
case NationAuxKey::can_대검병사용:
|
||||||
|
if ($this->cmp == "==" && $this->value == 1) return "대검병 연구 시 가능";
|
||||||
|
break;
|
||||||
|
case NationAuxKey::can_극병사용:
|
||||||
|
if ($this->cmp == "==" && $this->value == 1) return "극병 연구 시 가능";
|
||||||
|
break;
|
||||||
|
case NationAuxKey::can_화시병사용:
|
||||||
|
if ($this->cmp == "==" && $this->value == 1) return "화시병 연구 시 가능";
|
||||||
|
break;
|
||||||
|
case NationAuxKey::can_원융노병사용:
|
||||||
|
if ($this->cmp == "==" && $this->value == 1) return "원융노병 연구 시 가능";
|
||||||
|
break;
|
||||||
|
case NationAuxKey::can_산저병사용:
|
||||||
|
if ($this->cmp == "==" && $this->value == 1) return "산저병 연구 시 가능";
|
||||||
|
break;
|
||||||
|
case NationAuxKey::can_상병사용:
|
||||||
|
if ($this->cmp == "==" && $this->value == 1) return "상병 연구 시 가능";
|
||||||
|
break;
|
||||||
|
case NationAuxKey::can_음귀병사용:
|
||||||
|
if ($this->cmp == "==" && $this->value == 1) return "음귀병 연구 시 가능";
|
||||||
|
break;
|
||||||
|
case NationAuxKey::can_무희사용:
|
||||||
|
if ($this->cmp == "==" && $this->value == 1) return "무희 연구 시 가능";
|
||||||
|
break;
|
||||||
|
case NationAuxKey::can_화륜차사용:
|
||||||
|
if ($this->cmp == "==" && $this->value == 1) return "화륜차 연구 시 가능";
|
||||||
|
break;
|
||||||
|
case NationAuxKey::did_특성초토화:
|
||||||
|
if ($this->cmp == ">=" && $this->value == 1) return "특성 초토화 시 가능";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
//범용
|
||||||
|
switch ($this->cmp) {
|
||||||
|
case '==': {
|
||||||
|
if ($this->value == 0) {
|
||||||
|
return "{$this->reqNationAuxKey->value} 없을 때";
|
||||||
|
}
|
||||||
|
if ($this->value == 1) {
|
||||||
|
return "{$this->reqNationAuxKey->value} 있을 때";
|
||||||
|
}
|
||||||
|
return "{$this->reqNationAuxKey->value} = {$this->value} 일 때";
|
||||||
|
};
|
||||||
|
case '!=': {
|
||||||
|
if ($this->value == 0) {
|
||||||
|
return "{$this->reqNationAuxKey->value} 없을 때";
|
||||||
|
}
|
||||||
|
if ($this->value == 1) {
|
||||||
|
return "{$this->reqNationAuxKey->value} 있을 때";
|
||||||
|
}
|
||||||
|
return "{$this->reqNationAuxKey->value} != {$this->value} 일 때";
|
||||||
|
};
|
||||||
|
default:
|
||||||
|
return "{$this->reqNationAuxKey->value} {$this->cmp} {$this->value} 일 때";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo\GameUnitConstraint;
|
||||||
|
|
||||||
|
use sammo\General;
|
||||||
|
|
||||||
|
class ReqNotChief extends BaseGameUnitConstraint
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test(General $general, array $ownCities, array $ownRegions, int $relativeYear, int $tech, array $nationAux): bool
|
||||||
|
{
|
||||||
|
if($general->getVar('officer_level') < 5){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInfo(): string
|
||||||
|
{
|
||||||
|
return "군주 및 수뇌부는 불가";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo\GameUnitConstraint;
|
||||||
|
|
||||||
|
use sammo\CityConst;
|
||||||
|
use sammo\General;
|
||||||
|
|
||||||
|
class ReqRegions extends BaseGameUnitConstraint
|
||||||
|
{
|
||||||
|
|
||||||
|
public readonly array $reqRegions;
|
||||||
|
public function __construct(...$reqRegions)
|
||||||
|
{
|
||||||
|
$dstReqRegions = [];
|
||||||
|
if (count($reqRegions) == 0) {
|
||||||
|
$this->reqRegions = [];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($reqRegions as $region) {
|
||||||
|
$dstReqRegions[CityConst::$regionMap[$region]] = $region;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->reqRegions = $dstReqRegions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test(General $general, array $ownCities, array $ownRegions, int $relativeYear, int $tech, array $nationAux): bool
|
||||||
|
{
|
||||||
|
foreach ($this->reqRegions as $regionID => $regionText) {
|
||||||
|
if (key_exists($regionID, $ownRegions)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInfo(): string
|
||||||
|
{
|
||||||
|
$regionNameText = implode(', ', $this->reqRegions);
|
||||||
|
return "{$regionNameText} 지역 소유시 가능";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo\GameUnitConstraint;
|
||||||
|
|
||||||
|
use sammo\General;
|
||||||
|
use sammo\KVStorage;
|
||||||
|
|
||||||
|
class ReqTech extends BaseGameUnitConstraint {
|
||||||
|
|
||||||
|
public function __construct(public readonly int $reqTech)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test(General $general, array $ownCities, array $ownRegions, int $relativeYear, int $tech, array $nationAux): bool
|
||||||
|
{
|
||||||
|
if ($tech < $this->reqTech) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInfo(): string
|
||||||
|
{
|
||||||
|
return "기술력 {$this->reqTech} 이상 필요";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
namespace sammo;
|
namespace sammo;
|
||||||
|
|
||||||
|
use sammo\GameUnitConstraint\BaseGameUnitConstraint;
|
||||||
|
|
||||||
class GameUnitDetail implements iAction
|
class GameUnitDetail implements iAction
|
||||||
{
|
{
|
||||||
use DefaultAction;
|
use DefaultAction;
|
||||||
@@ -16,17 +18,14 @@ class GameUnitDetail implements iAction
|
|||||||
public $magicCoef;
|
public $magicCoef;
|
||||||
public $cost;
|
public $cost;
|
||||||
public $rice;
|
public $rice;
|
||||||
public $reqTech;
|
|
||||||
public $reqCities;
|
|
||||||
public $reqRegions;
|
|
||||||
public $reqYear;
|
|
||||||
public $attackCoef;
|
public $attackCoef;
|
||||||
public $defenceCoef;
|
public $defenceCoef;
|
||||||
public $info;
|
|
||||||
public $initSkillTrigger;
|
public $initSkillTrigger;
|
||||||
public $phaseSkillTrigger;
|
public $phaseSkillTrigger;
|
||||||
/** @var iAction[]|null iActionList */
|
/** @var iAction[]|null iActionList */
|
||||||
public $iActionList;
|
public $iActionList;
|
||||||
|
public array $reqConstraints;
|
||||||
|
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
int $id,
|
int $id,
|
||||||
@@ -39,13 +38,10 @@ class GameUnitDetail implements iAction
|
|||||||
float $magicCoef,
|
float $magicCoef,
|
||||||
int $cost,
|
int $cost,
|
||||||
int $rice,
|
int $rice,
|
||||||
int $reqTech,
|
array $reqConstraints,
|
||||||
?array $reqCities,
|
|
||||||
?array $reqRegions,
|
|
||||||
int $reqYear,
|
|
||||||
array $attackCoef,
|
array $attackCoef,
|
||||||
array $defenceCoef,
|
array $defenceCoef,
|
||||||
array $info,
|
public readonly array $info,
|
||||||
?array $initSkillTrigger,
|
?array $initSkillTrigger,
|
||||||
?array $phaseSkillTrigger,
|
?array $phaseSkillTrigger,
|
||||||
?array $iActionList,
|
?array $iActionList,
|
||||||
@@ -60,13 +56,18 @@ class GameUnitDetail implements iAction
|
|||||||
$this->magicCoef = $magicCoef;
|
$this->magicCoef = $magicCoef;
|
||||||
$this->cost = $cost;
|
$this->cost = $cost;
|
||||||
$this->rice = $rice;
|
$this->rice = $rice;
|
||||||
$this->reqTech = $reqTech;
|
$this->reqConstraints = [];
|
||||||
$this->reqCities = $reqCities;
|
foreach($reqConstraints as $constraint){
|
||||||
$this->reqRegions = $reqRegions;
|
$className = Util::getClassNameFromObj($constraint);
|
||||||
$this->reqYear = $reqYear;
|
if(!key_exists($className, $this->reqConstraints)){
|
||||||
|
$this->reqConstraints[$className] = $constraint;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$this->reqConstraints[] = $constraint;
|
||||||
|
}
|
||||||
|
}
|
||||||
$this->attackCoef = $attackCoef;
|
$this->attackCoef = $attackCoef;
|
||||||
$this->defenceCoef = $defenceCoef;
|
$this->defenceCoef = $defenceCoef;
|
||||||
$this->info = $info;
|
|
||||||
$this->initSkillTrigger = $initSkillTrigger;
|
$this->initSkillTrigger = $initSkillTrigger;
|
||||||
$this->phaseSkillTrigger = $phaseSkillTrigger;
|
$this->phaseSkillTrigger = $phaseSkillTrigger;
|
||||||
$this->iActionList = [];
|
$this->iActionList = [];
|
||||||
@@ -79,6 +80,33 @@ class GameUnitDetail implements iAction
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function reqTech(): int {
|
||||||
|
$reqTechObj = $this->reqConstraints['ReqTech'] ?? null;
|
||||||
|
|
||||||
|
if($reqTechObj === null){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return $reqTechObj->reqTech;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function reqRegions(): ?array {
|
||||||
|
$reqRegionsObj = $this->reqConstraints['ReqRegions'] ?? null;
|
||||||
|
|
||||||
|
if($reqRegionsObj === null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return $reqRegionsObj->reqRegions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function reqCities(): ?array {
|
||||||
|
$reqCitiesObj = $this->reqConstraints['ReqCities'] ?? null;
|
||||||
|
|
||||||
|
if($reqCitiesObj === null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return $reqCitiesObj->reqCities;
|
||||||
|
}
|
||||||
|
|
||||||
public function getInfo(): string
|
public function getInfo(): string
|
||||||
{
|
{
|
||||||
return join("\n<br>", $this->info);
|
return join("\n<br>", $this->info);
|
||||||
@@ -193,41 +221,13 @@ class GameUnitDetail implements iAction
|
|||||||
return $defaultWar;
|
return $defaultWar;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isValid($ownCities, $ownRegions, $relativeYear, $tech)
|
public function isValid(General $general, $ownCities, $ownRegions, $relativeYear, $tech, $nationAux)
|
||||||
{
|
{
|
||||||
//음수 없음
|
//음수 없음
|
||||||
$relativeYear = max(0, $relativeYear);
|
$relativeYear = max(0, $relativeYear);
|
||||||
|
|
||||||
if ($relativeYear < $this->reqYear) {
|
foreach($this->reqConstraints as $constraint){
|
||||||
return false;
|
if(!$constraint->test($general, $ownCities, $ownRegions, $relativeYear, $tech, $nationAux)){
|
||||||
}
|
|
||||||
|
|
||||||
if ($tech < $this->reqTech) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->reqCities !== null) {
|
|
||||||
$valid = false;
|
|
||||||
foreach ($this->reqCities as $reqCity) {
|
|
||||||
if (\key_exists($reqCity, $ownCities)) {
|
|
||||||
$valid = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!$valid) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->reqRegions !== null) {
|
|
||||||
$valid = false;
|
|
||||||
foreach ($this->reqRegions as $reqRegion) {
|
|
||||||
if (\key_exists($reqRegion, $ownRegions)) {
|
|
||||||
$valid = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!$valid) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+21
-8
@@ -2084,7 +2084,7 @@ class GeneralAI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$finalCityID = Util::array_first_key($cityScoreList);
|
$finalCityID = array_key_first($cityScoreList);
|
||||||
$dist = $distanceList[$capital][$finalCityID];
|
$dist = $distanceList[$capital][$finalCityID];
|
||||||
$targetCityID = $finalCityID;
|
$targetCityID = $finalCityID;
|
||||||
if ($dist > 1) {
|
if ($dist > 1) {
|
||||||
@@ -2558,8 +2558,11 @@ class GeneralAI
|
|||||||
$cities = [];
|
$cities = [];
|
||||||
$regions = [];
|
$regions = [];
|
||||||
|
|
||||||
foreach ($db->queryAllLists('SELECT city, region FROM city WHERE nation = %i', $nationID) as [$cityID, $regionID]) {
|
foreach ($db->queryAllLists('SELECT city, region, secu, level FROM city WHERE nation = %i', $nationID) as [$cityID, $regionID, $secu, $level]) {
|
||||||
$cities[$cityID] = true;
|
$cities[$cityID] = [
|
||||||
|
'secu' => $secu,
|
||||||
|
'level' => $level,
|
||||||
|
];
|
||||||
$regions[$regionID] = true;
|
$regions[$regionID] = true;
|
||||||
}
|
}
|
||||||
$relYear = Util::valueFit($env['year'] - $env['startyear'], 0);
|
$relYear = Util::valueFit($env['year'] - $env['startyear'], 0);
|
||||||
@@ -2567,7 +2570,7 @@ class GeneralAI
|
|||||||
|
|
||||||
$types = [];
|
$types = [];
|
||||||
foreach (GameUnitConst::byType($armType) as $crewtype) {
|
foreach (GameUnitConst::byType($armType) as $crewtype) {
|
||||||
if ($crewtype->isValid($cities, $regions, $relYear, $tech)) {
|
if ($crewtype->isValid($general, $cities, $regions, $relYear, $tech, $this->nation['aux'])) {
|
||||||
$score = $crewtype->pickScore($tech);
|
$score = $crewtype->pickScore($tech);
|
||||||
$types[$crewtype->id] = $score;
|
$types[$crewtype->id] = $score;
|
||||||
}
|
}
|
||||||
@@ -2581,15 +2584,19 @@ class GeneralAI
|
|||||||
|
|
||||||
if ($this->generalPolicy->can고급병종) {
|
if ($this->generalPolicy->can고급병종) {
|
||||||
$currCrewType = $general->getCrewTypeObj();
|
$currCrewType = $general->getCrewTypeObj();
|
||||||
if ($currCrewType->isValid($cities, $regions, $relYear, $tech)) {
|
if ($currCrewType->isValid($general, $cities, $regions, $relYear, $tech, $this->nation['aux'])) {
|
||||||
if ($currCrewType->reqTech >= 2000) {
|
$reqTechObj = $currCrewType->reqConstraints['ReqTech'] ?? null;
|
||||||
|
if($reqTechObj){
|
||||||
|
$reqTech = $reqTechObj->reqTech;
|
||||||
|
if ($reqTech >= 2000) {
|
||||||
$type = $currCrewType->id;
|
$type = $currCrewType->id;
|
||||||
} else if ($currCrewType->armType != $armType && $currCrewType->reqTech >= 1000) {
|
} else if ($currCrewType->armType != $armType && $reqTech >= 1000) {
|
||||||
//굳이 뽑은 이유가 있겠지
|
//굳이 뽑은 이유가 있겠지
|
||||||
$type = $currCrewType->id;
|
$type = $currCrewType->id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//XXX: 훈련, 사기진작 금액을 하드코딩으로 계산중
|
//XXX: 훈련, 사기진작 금액을 하드코딩으로 계산중
|
||||||
$gold = $general->getVar('gold');
|
$gold = $general->getVar('gold');
|
||||||
@@ -3122,9 +3129,15 @@ class GeneralAI
|
|||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
|
||||||
$dupLord = $db->queryFirstField('SELECT COUNT(*) FROM general WHERE officer_level = 12 AND city = %i', $this->general->getCityID());
|
$dupLord = $db->queryFirstField('SELECT COUNT(*) FROM general WHERE officer_level = 12 AND city = %i', $this->general->getCityID());
|
||||||
if($dupLord <= 1 && !in_array($this->general->getRawCity()['level'], [5, 6])) {
|
if($dupLord <= 1) {
|
||||||
|
if ($this->general->getRawCity() === null) {
|
||||||
|
$rawCity = $db->queryFirstRow('SELECT * FROM city WHERE city = %i', $this->general->getCityID());
|
||||||
|
$this->general->setRawCity($rawCity);
|
||||||
|
}
|
||||||
|
if (in_array($this->general->getRawCity()['level'], [5, 6])) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$general = $this->general;
|
$general = $this->general;
|
||||||
$lordCities = $db->queryFirstColumn('SELECT city.city as city FROM general LEFT JOIN city ON general.city = city.city WHERE general.officer_level = 12 AND city.nation = 0');
|
$lordCities = $db->queryFirstColumn('SELECT city.city as city FROM general LEFT JOIN city ON general.city = city.city WHERE general.officer_level = 12 AND city.nation = 0');
|
||||||
|
|||||||
@@ -334,11 +334,19 @@ class InheritancePointManager
|
|||||||
$inheritStor->setValue($key, [$point, $aux]);
|
$inheritStor->setValue($key, [$point, $aux]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$oldInheritStor = KVStorage::getStorage(DB::db(), "inheritance_result");
|
$db = DB::db();
|
||||||
$serverID = UniqueConst::$serverID;
|
$serverID = UniqueConst::$serverID;
|
||||||
$year = $gameStor->year;
|
$year = $gameStor->year;
|
||||||
$month = $gameStor->month;
|
$month = $gameStor->month;
|
||||||
$oldInheritStor->setValue("{$serverID}_{$ownerID}_{$general->getID()}_{$year}_{$month}", $inheritStor->getAll(true));
|
|
||||||
|
$db->insert('inheritance_result', [
|
||||||
|
'server_id'=>$serverID,
|
||||||
|
'owner'=>$ownerID,
|
||||||
|
'general_id'=>$general->getID(),
|
||||||
|
'year'=>$year,
|
||||||
|
'month'=>$month,
|
||||||
|
'value'=>Json::encode($inheritStor->getAll(true))
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ abstract class TriggerCaller{
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
$lastKey = Util::array_last_key($this->triggerListByPriority);
|
$lastKey = array_key_last($this->triggerListByPriority);
|
||||||
if($lastKey < $priority){
|
if($lastKey < $priority){
|
||||||
$this->triggerListByPriority[$priority] = [$uniqueID=>$trigger];
|
$this->triggerListByPriority[$priority] = [$uniqueID=>$trigger];
|
||||||
return $this;
|
return $this;
|
||||||
|
|||||||
@@ -422,7 +422,7 @@ class TurnExecutionHelper
|
|||||||
|
|
||||||
$date = TimeUtil::now(true);
|
$date = TimeUtil::now(true);
|
||||||
// 최종 처리 월턴의 다음 월턴시간 구함
|
// 최종 처리 월턴의 다음 월턴시간 구함
|
||||||
$lastExecuted = $gameStor->turntime;
|
//$lastExecuted = $gameStor->turntime;
|
||||||
$prevTurn = cutTurn($gameStor->turntime, $gameStor->turnterm);
|
$prevTurn = cutTurn($gameStor->turntime, $gameStor->turnterm);
|
||||||
$nextTurn = addTurn($prevTurn, $gameStor->turnterm);
|
$nextTurn = addTurn($prevTurn, $gameStor->turnterm);
|
||||||
|
|
||||||
@@ -455,9 +455,6 @@ class TurnExecutionHelper
|
|||||||
$gameStor->turntime = $currentTurn;
|
$gameStor->turntime = $currentTurn;
|
||||||
}
|
}
|
||||||
unlock();
|
unlock();
|
||||||
if($lastExecuted !== $currentTurn){
|
|
||||||
$executed = true;
|
|
||||||
}
|
|
||||||
return $gameStor->turntime;
|
return $gameStor->turntime;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -516,10 +513,6 @@ class TurnExecutionHelper
|
|||||||
$gameStor->resetCache();
|
$gameStor->resetCache();
|
||||||
unlock();
|
unlock();
|
||||||
|
|
||||||
if($lastExecuted !== $currentTurn){
|
|
||||||
$executed = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $turntime;
|
return $turntime;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,974 @@
|
|||||||
|
{
|
||||||
|
"title":"【역사모드2-2】 반동탁연합 결성(정사)",
|
||||||
|
"startYear":187,
|
||||||
|
"life":1,
|
||||||
|
"fiction":0,
|
||||||
|
"const":{
|
||||||
|
"defaultMaxGeneral":600
|
||||||
|
},
|
||||||
|
"nation":[
|
||||||
|
["동탁", "#A9A9A9", 12000, 80000, "천자를 등에 업은 동탁", 2000, "명가", 5, ["낙양", "호로", "사수", "함곡", "장안", "홍농", "사곡", "안정"]],
|
||||||
|
["조조", "#0000FF", 10000, 40000, "동탁의거의 조조", 1000, "법가", 1, ["진류"]],
|
||||||
|
["유대", "#800000", 10000, 10000, "연주자사 유대, 유요의 형", 1000, "병가", 3, ["복양"]],
|
||||||
|
["공손찬", "#FF00FF", 10000, 10000, "백마의 공손찬", 1000, "병가", 1, ["북평"]],
|
||||||
|
["장양", "#7B68EE", 10000, 10000, "병주자사 장양", 1000, "병가", 3, ["진양"]],
|
||||||
|
["유언", "#483D8B", 10000, 30000, "익주목 유언", 1000, "유가", 4, ["성도", "자동", "면죽"]],
|
||||||
|
["원술", "#FFC0CB", 15000, 40000, "후장군 원술", 1000, "병가", 2, ["완"]],
|
||||||
|
["도겸", "#00FF00", 10000, 10000, "서주목 도겸", 1000, "유가", 4, ["서주", "하비.광릉"]],
|
||||||
|
["진온", "#808000", 10000, 10000, "양주자사 진온", 1000, "유가", 3, ["수춘", "합비"]],
|
||||||
|
["마등", "#808000", 10000, 10000, "서량태수 마등", 1000, "병가", 1, ["서량"]],
|
||||||
|
["공손도", "#A0522D", 10000, 10000, "요동의 왕 공손도", 1000, "덕가", 1, ["안평"]],
|
||||||
|
["한복", "#A0522D", 10000, 10000, "기주자사 한복", 1000, "병가", 3, ["업"]],
|
||||||
|
["유표", "#E0FFFF", 10000, 10000, "형주자사 유표", 1000, "유가", 3, ["양양", "장판", "강하"]],
|
||||||
|
["장로", "#20B2AA", 10000, 10000, "사실 이때 없는 애지만 장로", 1000, "오두미도", 1, ["한중"]],
|
||||||
|
["왕광", "#483D8B", 10000, 10000, "하내태수 왕광", 1000, "유가", 1, ["하내"]],
|
||||||
|
["유우", "#6495ED", 10000, 10000, "유주자사 유우", 1000, "유가", 5, ["계", "역경"]],
|
||||||
|
["원소", "#FFFF00", 10000, 10000, "발해태수 원소", 1000, "병가", 1, ["남피"]],
|
||||||
|
["사섭", "#800000", 10000, 10000, "교주자사 사섭", 1000, "유가", 3, ["교지", "남해"]],
|
||||||
|
["공융", "#800080", 10000, 10000, "북해태수 공융", 1000, "유가", 1, ["북해"]],
|
||||||
|
["한수", "#FFFFFF", 10000, 10000, "서량의 모반자 한수", 1000, "병가", 1, ["천수"]],
|
||||||
|
["공주", "#800080", 10000, 10000, "예주 자사 공주", 1000, "유가", 3, ["초"]],
|
||||||
|
["유총", "#7B68EE", 10000, 10000, "진민왕 유총", 1000, "덕가", 6, ["여남"]]
|
||||||
|
|
||||||
|
],
|
||||||
|
"diplomacy":[
|
||||||
|
[1,2,1,36],
|
||||||
|
[1,3,1,36],
|
||||||
|
[1,5,1,36],
|
||||||
|
[1,6,1,36],
|
||||||
|
[1,7,1,36],
|
||||||
|
[1,8,1,36],
|
||||||
|
[1,9,1,36],
|
||||||
|
[1,10,1,36],
|
||||||
|
[1,11,1,36],
|
||||||
|
[1,12,1,36],
|
||||||
|
[1,13,1,36],
|
||||||
|
[1,14,1,36],
|
||||||
|
[1,15,1,36],
|
||||||
|
[1,16,1,36],
|
||||||
|
[1,17,1,36],
|
||||||
|
[1,18,1,36],
|
||||||
|
[1,19,1,36],
|
||||||
|
[1,20,1,36],
|
||||||
|
[1,21,1,36],
|
||||||
|
[1,22,1,36],
|
||||||
|
|
||||||
|
[2,3,7,24],
|
||||||
|
[2,5,7,24],
|
||||||
|
[2,6,7,24],
|
||||||
|
[2,7,7,24],
|
||||||
|
[2,8,7,24],
|
||||||
|
[2,9,7,24],
|
||||||
|
[2,10,7,24],
|
||||||
|
[2,11,7,24],
|
||||||
|
[2,12,7,24],
|
||||||
|
[2,13,7,24],
|
||||||
|
[2,14,7,24],
|
||||||
|
[2,15,7,24],
|
||||||
|
[2,16,7,24],
|
||||||
|
[2,17,7,24],
|
||||||
|
[2,18,7,24],
|
||||||
|
[2,19,7,24],
|
||||||
|
[2,20,7,24],
|
||||||
|
[2,21,7,24],
|
||||||
|
[2,22,7,24],
|
||||||
|
|
||||||
|
[3,5,7,24],
|
||||||
|
[3,6,7,24],
|
||||||
|
[3,7,7,24],
|
||||||
|
[3,8,7,24],
|
||||||
|
[3,9,7,24],
|
||||||
|
[3,10,7,24],
|
||||||
|
[3,11,7,24],
|
||||||
|
[3,12,7,24],
|
||||||
|
[3,13,7,24],
|
||||||
|
[3,14,7,24],
|
||||||
|
[3,15,7,24],
|
||||||
|
[3,16,7,24],
|
||||||
|
[3,17,7,24],
|
||||||
|
[3,18,7,24],
|
||||||
|
[3,19,7,24],
|
||||||
|
[3,20,7,24],
|
||||||
|
[3,21,7,24],
|
||||||
|
[3,22,7,24],
|
||||||
|
|
||||||
|
[5,6,7,24],
|
||||||
|
[5,7,7,24],
|
||||||
|
[5,8,7,24],
|
||||||
|
[5,9,7,24],
|
||||||
|
[5,10,7,24],
|
||||||
|
[5,11,7,24],
|
||||||
|
[5,12,7,24],
|
||||||
|
[5,13,7,24],
|
||||||
|
[5,14,7,24],
|
||||||
|
[5,15,7,24],
|
||||||
|
[5,16,7,24],
|
||||||
|
[5,17,7,24],
|
||||||
|
[5,18,7,24],
|
||||||
|
[5,19,7,24],
|
||||||
|
[5,20,7,24],
|
||||||
|
[5,21,7,24],
|
||||||
|
[5,22,7,24],
|
||||||
|
|
||||||
|
[6,7,7,24],
|
||||||
|
[6,8,7,24],
|
||||||
|
[6,9,7,24],
|
||||||
|
[6,10,7,24],
|
||||||
|
[6,11,7,24],
|
||||||
|
[6,12,7,24],
|
||||||
|
[6,13,7,24],
|
||||||
|
[6,14,7,24],
|
||||||
|
[6,15,7,24],
|
||||||
|
[6,16,7,24],
|
||||||
|
[6,17,7,24],
|
||||||
|
[6,18,7,24],
|
||||||
|
[6,19,7,24],
|
||||||
|
[6,20,7,24],
|
||||||
|
[6,21,7,24],
|
||||||
|
[6,22,7,24],
|
||||||
|
|
||||||
|
[7,8,7,24],
|
||||||
|
[7,9,7,24],
|
||||||
|
[7,10,7,24],
|
||||||
|
[7,11,7,24],
|
||||||
|
[7,12,7,24],
|
||||||
|
[7,13,7,24],
|
||||||
|
[7,14,7,24],
|
||||||
|
[7,15,7,24],
|
||||||
|
[7,16,7,24],
|
||||||
|
[7,17,7,24],
|
||||||
|
[7,18,7,24],
|
||||||
|
[7,19,7,24],
|
||||||
|
[7,20,7,24],
|
||||||
|
[7,21,7,24],
|
||||||
|
[7,22,7,24],
|
||||||
|
|
||||||
|
[8,9,7,24],
|
||||||
|
[8,10,7,24],
|
||||||
|
[8,11,7,24],
|
||||||
|
[8,12,7,24],
|
||||||
|
[8,13,7,24],
|
||||||
|
[8,14,7,24],
|
||||||
|
[8,15,7,24],
|
||||||
|
[8,16,7,24],
|
||||||
|
[8,17,7,24],
|
||||||
|
[8,18,7,24],
|
||||||
|
[8,19,7,24],
|
||||||
|
[8,20,7,24],
|
||||||
|
[8,21,7,24],
|
||||||
|
[8,22,7,24],
|
||||||
|
[9,10,7,24],
|
||||||
|
[9,11,7,24],
|
||||||
|
[9,12,7,24],
|
||||||
|
[9,13,7,24],
|
||||||
|
[9,14,7,24],
|
||||||
|
[9,15,7,24],
|
||||||
|
[9,16,7,24],
|
||||||
|
[9,17,7,24],
|
||||||
|
[9,18,7,24],
|
||||||
|
[9,19,7,24],
|
||||||
|
[9,20,7,24],
|
||||||
|
[9,21,7,24],
|
||||||
|
[9,22,7,24],
|
||||||
|
[10,11,7,24],
|
||||||
|
[10,12,7,24],
|
||||||
|
[10,13,7,24],
|
||||||
|
[10,14,7,24],
|
||||||
|
[10,15,7,24],
|
||||||
|
[10,16,7,24],
|
||||||
|
[10,17,7,24],
|
||||||
|
[10,18,7,24],
|
||||||
|
[10,19,7,24],
|
||||||
|
[10,20,7,24],
|
||||||
|
[10,21,7,24],
|
||||||
|
[10,22,7,24],
|
||||||
|
[11,12,7,24],
|
||||||
|
[11,13,7,24],
|
||||||
|
[11,14,7,24],
|
||||||
|
[11,15,7,24],
|
||||||
|
[11,16,7,24],
|
||||||
|
[11,17,7,24],
|
||||||
|
[11,18,7,24],
|
||||||
|
[11,19,7,24],
|
||||||
|
[11,20,7,24],
|
||||||
|
[11,21,7,24],
|
||||||
|
[11,22,7,24],
|
||||||
|
[12,13,7,24],
|
||||||
|
[12,14,7,24],
|
||||||
|
[12,15,7,24],
|
||||||
|
[12,16,7,24],
|
||||||
|
[12,17,7,24],
|
||||||
|
[12,18,7,24],
|
||||||
|
[12,19,7,24],
|
||||||
|
[12,20,7,24],
|
||||||
|
[12,21,7,24],
|
||||||
|
[12,22,7,24],
|
||||||
|
[13,14,7,24],
|
||||||
|
[13,15,7,24],
|
||||||
|
[13,16,7,24],
|
||||||
|
[13,17,7,24],
|
||||||
|
[13,18,7,24],
|
||||||
|
[13,19,7,24],
|
||||||
|
[13,20,7,24],
|
||||||
|
[13,21,7,24],
|
||||||
|
[13,22,7,24],
|
||||||
|
[14,15,7,24],
|
||||||
|
[14,16,7,24],
|
||||||
|
[14,17,7,24],
|
||||||
|
[14,18,7,24],
|
||||||
|
[14,19,7,24],
|
||||||
|
[14,20,7,24],
|
||||||
|
[14,21,7,24],
|
||||||
|
[14,22,7,24],
|
||||||
|
[15,16,7,24],
|
||||||
|
[15,17,7,24],
|
||||||
|
[15,18,7,24],
|
||||||
|
[15,19,7,24],
|
||||||
|
[15,20,7,24],
|
||||||
|
[15,21,7,24],
|
||||||
|
[15,22,7,24],
|
||||||
|
[16,17,7,24],
|
||||||
|
[16,18,7,24],
|
||||||
|
[16,19,7,24],
|
||||||
|
[16,20,7,24],
|
||||||
|
[16,21,7,24],
|
||||||
|
[16,22,7,24],
|
||||||
|
[17,18,7,24],
|
||||||
|
[17,19,7,24],
|
||||||
|
[17,20,7,24],
|
||||||
|
[17,21,7,24],
|
||||||
|
[17,22,7,24],
|
||||||
|
[18,19,7,24],
|
||||||
|
[18,20,7,24],
|
||||||
|
[18,21,7,24],
|
||||||
|
[18,22,7,24],
|
||||||
|
[19,20,7,24],
|
||||||
|
[19,21,7,24],
|
||||||
|
[19,22,7,24],
|
||||||
|
[20,21,7,24],
|
||||||
|
[20,22,7,24],
|
||||||
|
[21,22,7,24]
|
||||||
|
],
|
||||||
|
"general":[
|
||||||
|
[0, "아회남", null, 0, null, 65, 74, 26, 0, 190, 225, null, null],
|
||||||
|
[0, "이적", null, 0, null, 29, 24, 84, 0, 162, 273, null, null],
|
||||||
|
[0, "윤상", null, 0, null, 51, 44, 62, 0, 194, 260, null, null],
|
||||||
|
[0, "윤묵", null, 0, null, 26, 15, 66, 0, 183, 239, null, null],
|
||||||
|
[0, "우금1", null, 0, null, 83, 78, 74, 0, 159, 221, null, null],
|
||||||
|
[0, "위관", null, 0, null, 69, 46, 79, 0, 220, 291, null, null],
|
||||||
|
[0, "원윤", null, 7, "완", 15, 14, 39, 1, 150, 199, null, null],
|
||||||
|
[0, "원희", null, 17, "남피", 66, 51, 63, 1, 176, 207, null, null],
|
||||||
|
[0, "염행", null, 20, "천수", 76, 84, 66, 1, 159, 215, null, null],
|
||||||
|
[0, "염유", null, 0, "계", 71, 57, 71, 0, 168, 227, null, null],
|
||||||
|
[0, "원술", null, 7, "완", 44, 65, 65, 12, 155, 199, null, null, "흥 마궁수 주제에 어딜 앞에 나서느냐! 썩 꺼져라!"],
|
||||||
|
[0, "원상", null, 0, null, 63, 75, 42, 0, 179, 207, null, null],
|
||||||
|
[0, "원소", null, 17, "남피", 81, 69, 70, 12, 154, 202, null, null, "안량과 문추만 이곳에 있엇어도…"],
|
||||||
|
[0, "염상", null, 0, null, 30, 27, 71, 0, 158, 199, null, null],
|
||||||
|
[0, "원담", null, 17, "남피", 60, 69, 30, 1, 173, 205, null, null],
|
||||||
|
[0, "염포", null, 14, "한중", 29, 25, 82, 11, 167, 231, null, null],
|
||||||
|
[0, "왕위", null, 0, null, 60, 70, 62, 0, 163, 222, null, null],
|
||||||
|
[0, "왕윤", null, 1, "장안", 26, 6, 68, 1, 137, 192, null, null],
|
||||||
|
[0, "왕항", null, 0, null, 76, 60, 61, 0, 184, 254, null, null],
|
||||||
|
[0, "왕찬", null, 0, null, 15, 3, 79, 0, 177, 217, null, null],
|
||||||
|
[0, "왕수", null, 19, "북해", 54, 27, 77, 11, 168, 218, null, null],
|
||||||
|
[0, "왕숙", null, 0, null, 36, 22, 76, 0, 195, 256, null, null],
|
||||||
|
[0, "왕준", null, 0, null, 81, 73, 77, 0, 206, 286, null, null],
|
||||||
|
[0, "왕쌍", null, 0, null, 67, 88, 19, 0, 195, 228, null, null],
|
||||||
|
[0, "왕창", null, 0, null, 74, 64, 79, 0, 188, 259, null, null],
|
||||||
|
[0, "왕평", null, 0, null, 83, 79, 76, 0, 192, 248, null, null],
|
||||||
|
[0, "왕보", null, 0, null, 62, 41, 79, 0, 171, 219, null, null],
|
||||||
|
[0, "왕문", null, 0, null, 65, 64, 31, 0, 162, 205, null, null],
|
||||||
|
[0, "왕릉", null, 0, null, 74, 64, 71, 0, 172, 251, null, null],
|
||||||
|
[0, "왕루", null, 0, null, 28, 30, 79, 0, 173, 211, null, null],
|
||||||
|
[0, "왕랑", null, 8, "서주", 47, 35, 79, 1, 167, 228, null, null],
|
||||||
|
[0, "온회", null, 0, null, 62, 36, 74, 0, 178, 228, null, null],
|
||||||
|
[0, "하안", null, 0, null, 15, 30, 72, 0, 190, 249, null, null],
|
||||||
|
[0, "괴월", null, 13, "양양", 47, 27, 82, 11, 157, 214, null, null],
|
||||||
|
[0, "괴량", null, 13, "양양", 68, 33, 88, 1, 155, 204, null, null],
|
||||||
|
[0, "가화", null, 0, null, 49, 65, 41, 0, 176, 222, null, null],
|
||||||
|
[0, "가규", null, 0, null, 78, 61, 84, 0, 177, 231, null, null],
|
||||||
|
[0, "하의", null, 0, null, 56, 69, 36, 0, 161, 195, null, null],
|
||||||
|
[0, "화흠", null, 1, "낙양", 33, 33, 82, 1, 157, 231, null, null],
|
||||||
|
[0, "가후", null, 1, "안정", 88, 48, 97, 1, 147, 223, null, null],
|
||||||
|
[0, "곽가", null, 0, null, 88, 15, 96, 0, 170, 207, null, null],
|
||||||
|
[0, "악환", null, 0, null, 65, 82, 42, 0, 196, 251, null, null],
|
||||||
|
[0, "곽사", null, 1, "안정", 64, 76, 13, 1, 146, 197, null, null],
|
||||||
|
[0, "악취", null, 0, null, 53, 66, 61, 0, 157, 195, null, null],
|
||||||
|
[0, "곽준", null, 0, null, 73, 66, 73, 0, 178, 217, null, null],
|
||||||
|
[0, "학소", null, 0, null, 86, 79, 78, 0, 185, 229, null, null],
|
||||||
|
[0, "악진", null, 2, "진류", 80, 84, 56, 1, 159, 218, null, null],
|
||||||
|
[0, "곽도", null, 17, "남피", 52, 50, 82, 1, 157, 205, null, null],
|
||||||
|
[0, "학맹", null, 0, null, 62, 67, 42, 0, 156, 300, null, null],
|
||||||
|
[0, "곽유지", null, 0, null, 28, 9, 69, 0, 190, 259, null, null],
|
||||||
|
[0, "곽익", null, 0, null, 73, 69, 69, 0, 207, 270, null, null],
|
||||||
|
[0, "곽회", null, 0, null, 87, 78, 81, 0, 187, 255, null, null],
|
||||||
|
[0, "하후위", null, 0, null, 71, 73, 49, 0, 204, 253, null, null],
|
||||||
|
[0, "하후연", null, 2, "진류", 90, 91, 68, 1, 162, 219, null, null],
|
||||||
|
[0, "하후은", null, 0, null, 63, 72, 53, 0, 180, 208, null, null],
|
||||||
|
[0, "하후화", null, 0, null, 48, 51, 71, 0, 207, 265, null, null],
|
||||||
|
[0, "하후혜", null, 0, null, 50, 44, 76, 0, 206, 242, null, null],
|
||||||
|
[0, "하후현", null, 0, null, 54, 39, 76, 0, 208, 254, null, null],
|
||||||
|
[0, "하후상", null, 0, null, 79, 72, 75, 0, 181, 225, null, null],
|
||||||
|
[0, "하후덕", null, 0, null, 69, 73, 32, 0, 178, 218, null, null],
|
||||||
|
[0, "하후돈", null, 2, "진류", 92, 90, 63, 1, 156, 220, null, null],
|
||||||
|
[0, "하후패", null, 0, null, 79, 84, 77, 0, 202, 262, null, null],
|
||||||
|
[0, "하후무", null, 0, null, 20, 7, 4, 0, 201, 259, null, null],
|
||||||
|
[0, "가충", null, 0, null, 54, 31, 89, 0, 217, 282, null, null],
|
||||||
|
[0, "하진", null, 0, null, 39, 40, 6, 0, 135, 189, null, null],
|
||||||
|
[0, "화웅", null, 1, "호로", 88, 92, 61, 1, 155, 190, null, null],
|
||||||
|
[0, "한윤", null, 7, "완", 26, 29, 65, 1, 155, 197, null, null],
|
||||||
|
[0, "관우", null, 0, "진류", 97, 97, 79, 0, 162, 219, null, null, "술이 식기 전에 돌아오겠소"],
|
||||||
|
[0, "환계", null, 7, "완", 25, 26, 68, 1, 156, 221, null, null],
|
||||||
|
[0, "관해", null, 0, null, 70, 82, 10, 0, 160, 193, null, null],
|
||||||
|
[0, "관구검", null, 0, null, 78, 74, 55, 0, 202, 255, null, null],
|
||||||
|
[0, "한현", null, 0, null, 22, 33, 62, 0, 163, 220, null, null],
|
||||||
|
[0, "한호", null, 15, "하내", 69, 72, 84, 11, 164, 224, null, null],
|
||||||
|
[0, "관흥", null, 0, null, 76, 86, 67, 0, 199, 234, null, null],
|
||||||
|
[0, "관색", null, 0, null, 74, 88, 56, 0, 200, 239, null, null],
|
||||||
|
[0, "한수", null, 20, "천수", 81, 75, 82, 12, 142, 215, null, null],
|
||||||
|
[0, "한숭", null, 0, null, 25, 15, 71, 0, 154, 210, null, null],
|
||||||
|
[0, "관정", null, 4, "북평", 36, 52, 73, 11, 158, 199, null, null],
|
||||||
|
[0, "한섬", null, 0, null, 69, 66, 36, 0, 159, 196, null, null],
|
||||||
|
[0, "감택", null, 0, null, 43, 49, 83, 0, 182, 243, null, null],
|
||||||
|
[0, "한충", null, 0, null, 64, 67, 18, 0, 151, 184, null, null],
|
||||||
|
[0, "한당", null, 7, "완", 76, 85, 61, 1, 156, 227, null, null],
|
||||||
|
[0, "한덕", null, 0, null, 63, 76, 25, 0, 171, 228, null, null],
|
||||||
|
[0, "감녕", null, 0, null, 93, 94, 76, 0, 174, 219, null, null],
|
||||||
|
[0, "한복", null, 12, "업", 28, 3, 27, 12, 149, 193, null, null],
|
||||||
|
[0, "관평", null, 0, null, 80, 82, 72, 0, 186, 219, null, null],
|
||||||
|
[0, "간옹", null, 0, "진류", 20, 32, 75, 0, 164, 225, null, null],
|
||||||
|
[0, "안량", null, 17, "남피", 88, 94, 21, 1, 160, 200, null, null],
|
||||||
|
[0, "위연", null, 0, null, 85, 92, 72, 0, 175, 234, null, null],
|
||||||
|
[0, "국의", null, 12, "업", 82, 78, 51, 1, 146, 197, null, null],
|
||||||
|
[0, "희지재", null, 0, null, 63, 7, 88, 0, 157, 196, null, null],
|
||||||
|
[0, "위속", null, 0, null, 67, 78, 31, 0, 156, 200, null, null],
|
||||||
|
[0, "위유", null, 16, "계", 46, 29, 74, 11, 151, 193, null, null],
|
||||||
|
[0, "우금2", null, 0, null, 72, 79, 38, 0, 173, 226, null, null],
|
||||||
|
[0, "우보", null, 1, "천수", 38, 60, 21, 1, 159, 192, null, null],
|
||||||
|
[0, "강유", null, 0, null, 92, 89, 90, 0, 202, 264, null, null],
|
||||||
|
[0, "공지", null, 0, null, 43, 53, 62, 0, 178, 197, null, null],
|
||||||
|
[0, "교유", null, 0, null, 64, 69, 38, 0, 143, 195, null, null],
|
||||||
|
[0, "공도", null, 0, null, 59, 70, 23, 0, 164, 200, null, null],
|
||||||
|
[0, "허공", null, 0, null, 44, 66, 64, 0, 155, 200, null, null],
|
||||||
|
[0, "허정", null, 21, "초", 23, 5, 68, 11, 152, 222, null, null],
|
||||||
|
[0, "허저", null, 0, null, 74, 96, 36, 0, 169, 226, null, null],
|
||||||
|
[0, "허유", null, 17, "남피", 36, 21, 80, 1, 155, 204, null, null],
|
||||||
|
[0, "기령", null, 7, "완", 78, 83, 51, 1, 155, 199, null, null],
|
||||||
|
[0, "김의", null, 0, null, 32, 38, 65, 0, 177, 218, null, null],
|
||||||
|
[0, "김배삼결", null, 0, null, 64, 76, 19, 0, 192, 225, null, null],
|
||||||
|
[0, "김선", null, 1, "장안", 52, 68, 13, 1, 155, 220, null, null],
|
||||||
|
[0, "우번", null, 0, null, 43, 46, 86, 0, 164, 233, null, null],
|
||||||
|
[0, "형도영", null, 0, null, 69, 80, 41, 0, 174, 208, null, null],
|
||||||
|
[0, "엄안", null, 6, "자동", 82, 83, 72, 1, 151, 222, null, null],
|
||||||
|
[0, "곽마", null, 0, null, 68, 71, 40, 0, 239, 281, null, null],
|
||||||
|
[0, "엄준", null, 0, null, 28, 2, 71, 0, 169, 246, null, null],
|
||||||
|
[0, "엄정", null, 0, null, 50, 55, 39, 0, 151, 189, null, null],
|
||||||
|
[0, "엄백호", null, 0, null, 67, 70, 23, 0, 142, 198, null, null, "이 몸은 동오의 덕왕 엄백호라고 하오!"],
|
||||||
|
[0, "엄여", null, 0, null, 61, 78, 44, 0, 145, 196, null, null],
|
||||||
|
[0, "오의", null, 0, null, 79, 73, 70, 0, 165, 237, null, null],
|
||||||
|
[0, "황개", null, 7, "완", 80, 83, 70, 1, 154, 218, null, null],
|
||||||
|
[0, "고간", null, 0, null, 74, 56, 48, 0, 168, 206, null, null],
|
||||||
|
[0, "황권", null, 0, null, 75, 59, 82, 0, 167, 240, null, null],
|
||||||
|
[0, "고유", null, 0, null, 57, 43, 72, 0, 174, 263, null, null],
|
||||||
|
[0, "고순", null, 0, null, 85, 86, 60, 0, 162, 198, null, null],
|
||||||
|
[0, "고상", null, 0, null, 68, 68, 53, 0, 194, 252, null, null],
|
||||||
|
[0, "고승", null, 0, null, 67, 73, 41, 0, 145, 184, null, null],
|
||||||
|
[0, "후성", null, 0, null, 74, 75, 68, 0, 158, 199, null, null],
|
||||||
|
[0, "후선", null, 20, "천수", 63, 66, 34, 1, 175, 228, null, null],
|
||||||
|
[0, "황조", null, 13, "강하", 74, 66, 55, 1, 148, 208, null, null],
|
||||||
|
[0, "공손월", null, 4, "북평", 74, 72, 47, 1, 160, 192, null, null],
|
||||||
|
[0, "공손연", null, 0, null, 65, 70, 60, 0, 205, 238, null, null],
|
||||||
|
[0, "공손공", null, 11, "안평", 39, 17, 69, 1, 174, 240, null, null],
|
||||||
|
[0, "공손강", null, 11, "안평", 72, 66, 65, 1, 172, 211, null, null],
|
||||||
|
[0, "공손찬", null, 4, "북평", 84, 83, 75, 12, 152, 199, null, null],
|
||||||
|
[0, "공손속", null, 4, "북평", 63, 68, 57, 1, 176, 199, null, null],
|
||||||
|
[0, "공손도", null, 11, "안평", 67, 71, 66, 12, 154, 204, null, null],
|
||||||
|
[0, "공손범", null, 4, "북평", 73, 69, 66, 1, 158, 199, null, null],
|
||||||
|
[0, "황충", null, 0, null, 90, 93, 65, 0, 154, 220, null, null],
|
||||||
|
[0, "고정", null, 0, null, 55, 63, 43, 0, 190, 251, null, null],
|
||||||
|
[0, "고패", null, 0, null, 66, 61, 69, 0, 170, 212, null, null],
|
||||||
|
[0, "황보숭", null, 1, "홍농", 92, 61, 73, 1, 132, 195, null, null],
|
||||||
|
[0, "공융", null, 19, "북해", 30, 5, 73, 12, 153, 208, null, null],
|
||||||
|
[0, "고람", null, 17, "남피", 76, 82, 68, 1, 159, 201, null, null],
|
||||||
|
[0, "오경", null, 0, null, 69, 66, 52, 0, 151, 211, null, null],
|
||||||
|
[0, "호거아", null, 1, "사곡", 70, 82, 41, 1, 164, 206, null, null],
|
||||||
|
[0, "호진", null, 1, "호로", 65, 74, 12, 1, 148, 190, null, null],
|
||||||
|
[0, "올돌골", null, 0, null, 79, 86, 1, 0, 186, 225, null, null],
|
||||||
|
[0, "호반", null, 0, null, 55, 55, 59, 0, 179, 233, null, null],
|
||||||
|
[0, "오반", null, 0, null, 74, 71, 59, 0, 171, 234, null, null],
|
||||||
|
[0, "고옹", null, 0, null, 43, 18, 80, 0, 168, 243, null, null],
|
||||||
|
[0, "오란", null, 6, "성도", 68, 80, 35, 1, 170, 218, null, null],
|
||||||
|
[0, "채화", null, 13, "장판", 39, 50, 1, 1, 166, 208, null, null],
|
||||||
|
[0, "채중", null, 13, "장판", 40, 54, 2, 1, 168, 208, null, null],
|
||||||
|
[0, "채모", null, 13, "양양", 70, 70, 77, 1, 160, 215, null, null],
|
||||||
|
[0, "착융", null, 0, null, 60, 69, 38, 0, 161, 195, null, null],
|
||||||
|
[0, "사마의", null, 0, "하내", 98, 63, 98, 0, 179, 251, null, null],
|
||||||
|
[0, "사마염", null, 0, null, 69, 59, 77, 0, 238, 290, null, null],
|
||||||
|
[0, "사마사", null, 0, null, 79, 64, 88, 0, 208, 255, null, null],
|
||||||
|
[0, "사마소", null, 0, null, 76, 57, 87, 0, 211, 265, null, null],
|
||||||
|
[0, "사마부", null, 0, "하내", 70, 37, 77, 0, 180, 272, null, null],
|
||||||
|
[0, "사마랑", null, 1, "낙양", 20, 21, 72, 1, 171, 217, null, null],
|
||||||
|
[0, "사마가", null, 0, null, 66, 84, 25, 0, 167, 222, null, null],
|
||||||
|
[0, "주흔", null, 9, "수춘", 65, 62, 73, 11, 159, 196, null, null],
|
||||||
|
[0, "주앙", null, 17, "남피", 74, 65, 65, 1, 162, 195, null, null],
|
||||||
|
[0, "주지", null, 0, null, 65, 85, 41, 0, 233, 295, null, null],
|
||||||
|
[0, "주창", null, 0, "여남", 68, 84, 42, 0, 164, 219, null, null],
|
||||||
|
[0, "주태유평", null, 0, null, 84, 91, 48, 0, 171, 225, null, null],
|
||||||
|
[0, "주방", null, 0, null, 52, 41, 80, 0, 200, 240, null, null],
|
||||||
|
[0, "주유", null, 0, null, 95, 71, 96, 0, 175, 210, null, null],
|
||||||
|
[0, "주환", null, 0, null, 84, 82, 77, 0, 177, 238, null, null],
|
||||||
|
[0, "주거", null, 0, null, 77, 57, 72, 0, 190, 246, null, null],
|
||||||
|
[0, "축융", null, 0, null, 74, 85, 29, 0, 182, 230, null, null],
|
||||||
|
[0, "주준", null, 1, "낙양", 89, 65, 70, 1, 149, 195, null, null],
|
||||||
|
[0, "주연", null, 0, null, 79, 69, 71, 0, 182, 249, null, null],
|
||||||
|
[0, "주치", null, 0, null, 71, 56, 72, 0, 156, 224, null, null],
|
||||||
|
[0, "주포", null, 0, null, 68, 73, 34, 0, 191, 225, null, null],
|
||||||
|
[0, "주령", null, 0, null, 71, 73, 67, 0, 170, 236, null, null],
|
||||||
|
[0, "순욱", null, 0, null, 62, 14, 95, 0, 163, 212, null, null],
|
||||||
|
[0, "순우경", null, 17, "남피", 72, 66, 29, 1, 146, 200, null, null],
|
||||||
|
[0, "순심", null, 0, null, 34, 25, 78, 0, 164, 208, null, null],
|
||||||
|
[0, "순유", null, 0, "낙양", 73, 26, 94, 0, 157, 214, null, null],
|
||||||
|
[0, "장완", null, 0, null, 78, 34, 84, 0, 188, 246, null, null],
|
||||||
|
[0, "종회", null, 0, null, 82, 51, 91, 0, 225, 264, null, null],
|
||||||
|
[0, "장간", null, 0, null, 19, 6, 66, 0, 175, 208, null, null],
|
||||||
|
[0, "장의거", null, 17, "남피", 71, 58, 59, 1, 159, 205, null, null],
|
||||||
|
[0, "장흠", null, 0, null, 78, 84, 54, 0, 159, 208, null, null],
|
||||||
|
[0, "장제3", null, 0, null, 48, 43, 85, 0, 188, 249, null, null],
|
||||||
|
[0, "초주", null, 0, null, 16, 3, 67, 0, 201, 270, null, null],
|
||||||
|
[0, "초촉", null, 0, null, 65, 76, 33, 0, 159, 208, null, null],
|
||||||
|
[0, "상총", null, 0, null, 76, 61, 77, 0, 195, 240, null, null],
|
||||||
|
[0, "종요", null, 0, null, 70, 24, 77, 0, 151, 230, null, null],
|
||||||
|
[0, "상랑", null, 0, null, 28, 18, 74, 0, 167, 247, null, null],
|
||||||
|
[0, "서영", null, 1, "사수", 80, 76, 62, 1, 147, 192, null, null],
|
||||||
|
[0, "제갈각", null, 0, null, 72, 47, 90, 0, 203, 253, null, null],
|
||||||
|
[0, "제갈근", null, 0, null, 75, 34, 81, 0, 174, 241, null, null],
|
||||||
|
[0, "제갈균", null, 0, null, 29, 25, 52, 0, 185, 252, null, null],
|
||||||
|
[0, "제갈탄", null, 0, null, 72, 72, 76, 0, 206, 258, null, null],
|
||||||
|
[0, "제갈량", null, 0, null, 98, 38, 100, 0, 184, 234, null, null],
|
||||||
|
[0, "서황", null, 0, null, 91, 90, 78, 0, 165, 228, null, null],
|
||||||
|
[0, "서서", null, 0, null, 87, 64, 93, 0, 160, 300, null, null],
|
||||||
|
[0, "서성", null, 0, null, 86, 81, 78, 0, 178, 232, null, null],
|
||||||
|
[0, "서막", null, 0, null, 55, 32, 68, 0, 171, 249, null, null],
|
||||||
|
[0, "신의", null, 0, null, 55, 59, 60, 0, 190, 252, null, null],
|
||||||
|
[0, "신탐", null, 0, null, 56, 62, 54, 0, 188, 254, null, null],
|
||||||
|
[0, "심배", null, 12, "업", 80, 60, 83, 1, 156, 204, null, null],
|
||||||
|
[0, "신비", null, 0, null, 39, 24, 79, 0, 171, 240, null, null],
|
||||||
|
[0, "신평", null, 17, "남피", 69, 43, 77, 1, 165, 204, null, null],
|
||||||
|
[0, "진복", null, 0, null, 31, 7, 73, 0, 160, 226, null, null],
|
||||||
|
[0, "진랑", null, 0, null, 58, 70, 35, 0, 192, 234, null, null],
|
||||||
|
[0, "휴고", null, 0, null, 63, 71, 38, 0, 151, 199, null, null],
|
||||||
|
[0, "추단", null, 0, null, 61, 64, 34, 0, 144, 193, null, null],
|
||||||
|
[0, "성의", null, 20, "천수", 74, 72, 41, 1, 168, 211, null, null],
|
||||||
|
[0, "성공영", null, 20, "천수", 73, 71, 80, 11, 171, 220, null, null],
|
||||||
|
[0, "설종", null, 0, null, 34, 16, 73, 0, 187, 243, null, null],
|
||||||
|
[0, "선경", null, 4, "북평", 71, 68, 43, 1, 156, 199, null, null],
|
||||||
|
[0, "전종", null, 0, null, 78, 72, 75, 0, 183, 249, null, null],
|
||||||
|
[0, "조예", null, 0, null, 72, 52, 82, 0, 205, 239, null, null],
|
||||||
|
[0, "조휴", null, 0, null, 74, 75, 62, 0, 174, 228, null, null],
|
||||||
|
[0, "송헌", null, 0, null, 68, 77, 38, 0, 157, 200, null, null],
|
||||||
|
[0, "조앙", null, 2, "진류", 74, 67, 69, 1, 161, 197, null, null],
|
||||||
|
[0, "조홍 자렴", null, 2, "진류", 79, 81, 44, 1, 169, 232, null, null, "좌절감이 사나이를 키우는 것이다!"],
|
||||||
|
[0, "조순", null, 2, "진류", 75, 71, 63, 1, 170, 210, null, null],
|
||||||
|
[0, "조창", null, 0, null, 82, 90, 40, 0, 190, 223, null, null],
|
||||||
|
[0, "조식", null, 0, null, 33, 22, 81, 0, 192, 232, null, null],
|
||||||
|
[0, "조진", null, 0, null, 81, 74, 70, 0, 185, 231, null, null],
|
||||||
|
[0, "조인", null, 2, "진류", 89, 86, 62, 1, 168, 223, null, null],
|
||||||
|
[0, "조성", null, 0, null, 54, 74, 38, 0, 163, 198, null, null],
|
||||||
|
[0, "조조", null, 2, "진류", 99, 72, 91, 12, 151, 220, null, null, "내가 천하 사람들을 저버릴지언정, 천하 사람들이 나를 저버리게 하지는 않을 것이다."],
|
||||||
|
[0, "조충", null, 0, null, 31, 21, 85, 0, 196, 207, null, null],
|
||||||
|
[0, "장패", null, 0, null, 78, 75, 53, 0, 165, 231, null, null],
|
||||||
|
[0, "조비", null, 0, null, 70, 71, 83, 0, 187, 226, null, null],
|
||||||
|
[0, "조표", null, 8, "서주", 66, 69, 32, 1, 151, 196, null, null],
|
||||||
|
[0, "저수", null, 12, "업", 78, 35, 90, 11, 156, 201, null, null],
|
||||||
|
[0, "소비", null, 0, null, 69, 63, 66, 0, 172, 221, null, null],
|
||||||
|
[0, "조무", null, 7, "완", 70, 71, 66, 1, 155, 193, null, null],
|
||||||
|
[0, "손환", null, 0, null, 82, 73, 76, 0, 166, 228, null, null],
|
||||||
|
[0, "손견", null, 7, "완", 94, 90, 79, 11, 156, 192, null, null, "내가 옥새를 가지고 있다면 나는 칼과 화살을 맞아 죽을 것이다."],
|
||||||
|
[0, "손건", null, 0, null, 34, 33, 79, 0, 165, 215, null, null],
|
||||||
|
[0, "손권", null, 0, null, 79, 67, 80, 0, 182, 252, null, null],
|
||||||
|
[0, "손교", null, 0, null, 77, 72, 67, 0, 181, 219, null, null],
|
||||||
|
[0, "손책", null, 0, null, 96, 92, 74, 0, 175, 200, null, null],
|
||||||
|
[0, "손소", null, 0, null, 80, 79, 76, 0, 188, 241, null, null],
|
||||||
|
[0, "손정", null, 7, "완", 66, 53, 73, 1, 160, 206, null, null],
|
||||||
|
[0, "손중", null, 0, null, 62, 71, 36, 0, 154, 184, null, null],
|
||||||
|
[0, "손등", null, 0, null, 62, 37, 79, 0, 209, 241, null, null],
|
||||||
|
[0, "손유", null, 0, null, 77, 70, 68, 0, 177, 215, null, null],
|
||||||
|
[0, "손익", null, 0, null, 67, 78, 27, 0, 184, 204, null, null],
|
||||||
|
[0, "손례", null, 0, null, 78, 81, 67, 0, 180, 250, null, null],
|
||||||
|
[0, "태사자", null, 0, "안평", 90, 93, 69, 0, 166, 206, null, null],
|
||||||
|
[0, "대래동주", null, 0, null, 51, 53, 54, 0, 195, 249, null, null],
|
||||||
|
[0, "대릉", null, 0, null, 70, 75, 39, 0, 199, 258, null, null],
|
||||||
|
[0, "타사대왕", null, 0, null, 62, 59, 70, 0, 186, 225, null, null],
|
||||||
|
[0, "담웅", null, 0, null, 58, 73, 14, 0, 188, 221, null, null],
|
||||||
|
[0, "장윤", null, 13, "양양", 72, 67, 42, 1, 163, 208, null, null],
|
||||||
|
[0, "조운", null, 0, "진양", 96, 96, 77, 0, 168, 229, null, null],
|
||||||
|
[0, "장위", null, 14, "한중", 74, 66, 45, 1, 172, 228, null, null, "쌀 다섯 말만 가지고 오시오~ 모두 고쳐드리리다."],
|
||||||
|
[0, "장영", null, 0, null, 75, 74, 41, 0, 154, 195, null, null],
|
||||||
|
[0, "장연", null, 0, "진양", 76, 81, 57, 0, 153, 210, null, null],
|
||||||
|
[0, "장횡", null, 0, null, 59, 70, 23, 0, 178, 211, null, null],
|
||||||
|
[0, "장온", null, 0, null, 32, 10, 72, 0, 193, 231, null, null],
|
||||||
|
[0, "장개", null, 8, "하비", 34, 66, 8, 1, 155, 194, null, null],
|
||||||
|
[0, "장각", null, 0, null, 87, 25, 86, 0, 140, 184, null, null],
|
||||||
|
[0, "장기", null, 0, null, 74, 35, 76, 0, 170, 223, null, null],
|
||||||
|
[0, "장의", null, 0, null, 79, 72, 75, 0, 153, 215, null, null],
|
||||||
|
[0, "장훈", null, 7, "완", 72, 68, 41, 1, 156, 206, null, null],
|
||||||
|
[0, "장굉", null, 0, null, 24, 22, 86, 0, 153, 212, null, null],
|
||||||
|
[0, "장합", null, 12, "업", 89, 89, 73, 1, 167, 231, null, null],
|
||||||
|
[0, "조홍", null, 0, null, 66, 72, 28, 0, 156, 184, null, null],
|
||||||
|
[0, "장제1", null, 1, "장안", 70, 66, 55, 1, 144, 196, null, null],
|
||||||
|
[0, "장수", null, 1, "함곡", 80, 73, 64, 1, 154, 207, null, null],
|
||||||
|
[0, "장소 자포", null, 0, null, 33, 3, 84, 0, 156, 236, null, null],
|
||||||
|
[0, "장송", null, 0, null, 25, 6, 88, 0, 170, 212, null, null],
|
||||||
|
[0, "장임", null, 6, "성도", 84, 84, 78, 1, 169, 214, null, null],
|
||||||
|
[0, "장제", null, 0, null, 67, 43, 80, 0, 236, 280, null, null],
|
||||||
|
[0, "장막", null, 2, "진류", 52, 53, 71, 1, 155, 195, null, null],
|
||||||
|
[0, "조범", null, 0, null, 28, 21, 32, 0, 168, 218, null, null],
|
||||||
|
[0, "장비", null, 0, "진류", 94, 98, 30, 0, 165, 221, null, null],
|
||||||
|
[0, "장포", null, 0, null, 78, 87, 48, 0, 198, 219, null, null],
|
||||||
|
[0, "장보", null, 0, null, 83, 71, 81, 0, 148, 184, null, null],
|
||||||
|
[0, "장만성", null, 0, null, 75, 81, 45, 0, 143, 184, null, null],
|
||||||
|
[0, "장양", null, 5, "진양", 72, 70, 66, 12, 151, 195, null, null],
|
||||||
|
[0, "장익", null, 0, null, 75, 74, 76, 0, 188, 264, null, null],
|
||||||
|
[0, "장료", null, 1, "사곡", 95, 92, 78, 1, 169, 222, null, null],
|
||||||
|
[0, "장량", null, 0, null, 78, 80, 74, 0, 153, 184, null, null],
|
||||||
|
[0, "조루", null, 0, null, 70, 43, 68, 0, 183, 219, null, null],
|
||||||
|
[0, "장로", null, 14, "한중", 51, 26, 74, 12, 163, 216, null, null],
|
||||||
|
[0, "진횡", null, 0, null, 64, 63, 26, 0, 161, 195, null, null],
|
||||||
|
[0, "진응", null, 0, null, 62, 72, 45, 0, 172, 208, null, null],
|
||||||
|
[0, "진기", null, 0, null, 58, 65, 43, 0, 165, 198, null, null],
|
||||||
|
[0, "진궁", null, 2, "진류", 84, 55, 89, 11, 154, 198, null, null],
|
||||||
|
[0, "진교", null, 0, null, 61, 27, 77, 0, 175, 237, null, null],
|
||||||
|
[0, "진군", null, 0, null, 32, 14, 75, 0, 167, 236, null, null],
|
||||||
|
[0, "진규", null, 8, "서주", 30, 4, 82, 11, 132, 206, null, null],
|
||||||
|
[0, "진식", null, 0, null, 70, 71, 25, 0, 191, 230, null, null],
|
||||||
|
[0, "진진", null, 0, null, 46, 46, 69, 0, 170, 235, null, null],
|
||||||
|
[0, "진태", null, 0, null, 84, 77, 86, 0, 210, 260, null, null],
|
||||||
|
[0, "진등", null, 8, "하비", 79, 64, 81, 1, 169, 208, null, null],
|
||||||
|
[0, "진도", null, 0, null, 76, 71, 67, 0, 171, 237, null, null],
|
||||||
|
[0, "진무", null, 0, null, 76, 87, 43, 0, 176, 215, null, null],
|
||||||
|
[0, "진란", null, 0, null, 66, 69, 40, 0, 157, 204, null, null],
|
||||||
|
[0, "진림", null, 0, null, 25, 9, 75, 0, 160, 217, null, null],
|
||||||
|
[0, "정욱", null, 0, null, 70, 49, 90, 0, 141, 220, null, null],
|
||||||
|
[0, "정원지", null, 0, null, 69, 74, 17, 0, 145, 184, null, null],
|
||||||
|
[0, "정은", null, 0, null, 69, 73, 40, 0, 184, 220, null, null],
|
||||||
|
[0, "정원", null, 0, null, 70, 76, 35, 0, 137, 189, null, null],
|
||||||
|
[0, "정보", null, 7, "완", 84, 79, 79, 1, 151, 216, null, null],
|
||||||
|
[0, "정봉승연", null, 0, null, 81, 80, 75, 0, 190, 271, null, null],
|
||||||
|
[0, "전위", null, 0, null, 72, 95, 35, 0, 160, 197, null, null],
|
||||||
|
[0, "전해", null, 4, "북평", 68, 65, 58, 1, 154, 199, null, null],
|
||||||
|
[0, "전주", null, 0, null, 66, 66, 73, 0, 169, 214, null, null],
|
||||||
|
[0, "전풍", null, 12, "업", 72, 29, 93, 1, 162, 200, null, null],
|
||||||
|
[0, "전예", null, 0, null, 80, 72, 80, 0, 171, 252, null, null],
|
||||||
|
[0, "동윤", null, 0, null, 47, 28, 79, 0, 192, 246, null, null],
|
||||||
|
[0, "동화", null, 0, null, 57, 34, 75, 0, 168, 219, null, null],
|
||||||
|
[0, "등애", null, 0, null, 93, 87, 89, 0, 197, 264, null, null],
|
||||||
|
[0, "도겸", null, 8, "서주", 51, 27, 64, 12, 132, 194, null, null],
|
||||||
|
[0, "등현", null, 0, null, 61, 73, 45, 0, 188, 248, null, null],
|
||||||
|
[0, "등지", null, 0, null, 73, 52, 81, 0, 178, 251, null, null],
|
||||||
|
[0, "동습", null, 0, null, 72, 85, 50, 0, 169, 215, null, null],
|
||||||
|
[0, "동승", null, 1, "낙양", 56, 53, 65, 1, 154, 200, null, null],
|
||||||
|
[0, "동소", null, 0, null, 34, 25, 80, 0, 156, 236, null, null],
|
||||||
|
[0, "동탁", null, 1, "낙양", 85, 87, 73, 12, 139, 192, null, null, "크하하, 천하는 이제 나의 것이다!"],
|
||||||
|
[0, "동도나", null, 0, null, 68, 73, 31, 0, 189, 225, null, null],
|
||||||
|
[0, "동민", null, 1, "장안", 49, 60, 25, 1, 149, 192, null, null],
|
||||||
|
[0, "등무", null, 0, null, 61, 75, 29, 0, 147, 184, null, null],
|
||||||
|
[0, "두기", null, 0, null, 66, 32, 75, 0, 163, 224, null, null],
|
||||||
|
[0, "두예", null, 0, null, 84, 30, 85, 0, 222, 284, null, null],
|
||||||
|
[0, "배원소", null, 0, null, 49, 65, 25, 0, 169, 200, null, null],
|
||||||
|
[0, "마완", null, 0, null, 71, 74, 16, 0, 170, 211, null, null],
|
||||||
|
[0, "마휴", null, 0, null, 68, 73, 48, 0, 178, 212, null, null],
|
||||||
|
[0, "파재", null, 0, null, 74, 74, 55, 0, 145, 184, null, null],
|
||||||
|
[0, "마준", null, 0, null, 38, 52, 31, 0, 196, 230, null, null],
|
||||||
|
[0, "마속", null, 0, null, 61, 67, 87, 0, 190, 228, null, null],
|
||||||
|
[0, "마대", null, 0, null, 79, 85, 62, 0, 183, 246, null, null],
|
||||||
|
[0, "마충", null, 0, null, 78, 72, 68, 0, 187, 249, null, null],
|
||||||
|
[0, "마초", null, 0, null, 93, 97, 44, 0, 176, 222, null, null],
|
||||||
|
[0, "마철", null, 0, null, 70, 62, 58, 0, 179, 212, null, null],
|
||||||
|
[0, "마등", null, 10, "서량", 82, 80, 52, 12, 149, 212, null, null],
|
||||||
|
[0, "마량", null, 0, null, 53, 23, 88, 0, 187, 222, null, null],
|
||||||
|
[0, "반준", null, 0, null, 61, 18, 83, 0, 174, 239, null, null],
|
||||||
|
[0, "반장", null, 0, null, 76, 80, 74, 0, 177, 234, null, null],
|
||||||
|
[0, "번조", null, 1, "안정", 66, 73, 31, 1, 149, 192, null, null],
|
||||||
|
[0, "번능", null, 0, null, 69, 61, 36, 0, 158, 195, null, null],
|
||||||
|
[0, "반봉", null, 12, "업", 56, 77, 4, 1, 155, 190, null, null],
|
||||||
|
[0, "비의", null, 0, null, 77, 30, 83, 0, 193, 253, null, null],
|
||||||
|
[0, "비연", null, 0, null, 60, 66, 21, 0, 196, 238, null, null],
|
||||||
|
[0, "비시", null, 0, null, 18, 28, 65, 0, 176, 240, null, null],
|
||||||
|
[0, "미축", null, 8, "하비", 33, 29, 78, 1, 165, 220, null, null],
|
||||||
|
[0, "미방", null, 8, "광릉", 54, 61, 32, 1, 169, 226, null, null],
|
||||||
|
[0, "비요", null, 0, null, 70, 66, 73, 0, 192, 228, null, null],
|
||||||
|
[0, "무안국", null, 19, "북해", 70, 83, 34, 1, 156, 193, null, null],
|
||||||
|
[0, "풍습", null, 0, null, 72, 71, 39, 0, 182, 222, null, null],
|
||||||
|
[0, "부사인", null, 0, null, 46, 63, 37, 0, 182, 225, null, null],
|
||||||
|
[0, "부첨", null, 0, null, 73, 85, 76, 0, 216, 263, null, null],
|
||||||
|
[0, "부손", null, 0, null, 29, 13, 70, 0, 162, 230, null, null],
|
||||||
|
[0, "문앙", null, 0, null, 76, 93, 65, 0, 238, 291, null, null],
|
||||||
|
[0, "문흠", null, 0, null, 74, 83, 43, 0, 200, 258, null, null],
|
||||||
|
[0, "문추", null, 17, "남피", 89, 93, 47, 1, 169, 200, null, null],
|
||||||
|
[0, "문빙", null, 0, null, 80, 82, 69, 0, 178, 237, null, null],
|
||||||
|
[0, "변희", null, 0, null, 56, 70, 62, 0, 169, 200, null, null],
|
||||||
|
[0, "망아장", null, 0, null, 45, 79, 3, 0, 191, 225, null, null],
|
||||||
|
[0, "봉기", null, 17, "남피", 43, 21, 84, 11, 153, 202, null, null],
|
||||||
|
[0, "방희", null, 0, null, 60, 38, 69, 0, 152, 192, null, null],
|
||||||
|
[0, "법정", null, 0, null, 82, 47, 94, 0, 176, 220, null, null],
|
||||||
|
[0, "방통", null, 0, null, 85, 34, 97, 0, 178, 213, null, null],
|
||||||
|
[0, "방덕", null, 10, "서량", 89, 94, 75, 11, 170, 219, null, null],
|
||||||
|
[0, "포륭", null, 0, null, 58, 76, 49, 0, 174, 208, null, null],
|
||||||
|
[0, "목순", null, 0, null, 52, 77, 11, 0, 157, 190, null, null],
|
||||||
|
[0, "목록대왕", null, 0, null, 65, 71, 39, 0, 184, 225, null, null],
|
||||||
|
[0, "보즐", null, 0, null, 72, 51, 84, 0, 177, 247, null, null],
|
||||||
|
[0, "만총", null, 0, null, 84, 64, 82, 0, 170, 242, null, null],
|
||||||
|
[0, "모개", null, 0, null, 63, 39, 60, 0, 161, 216, null, null],
|
||||||
|
[0, "맹획", null, 0, null, 87, 87, 42, 0, 186, 245, null, null],
|
||||||
|
[0, "맹달", null, 0, null, 75, 73, 75, 0, 172, 228, null, null],
|
||||||
|
[0, "맹우", null, 0, null, 50, 68, 22, 0, 190, 243, null, null],
|
||||||
|
[0, "유섭", null, 7, "완", 62, 79, 24, 1, 158, 190, null, null],
|
||||||
|
[0, "양부2", null, 0, null, 62, 68, 68, 0, 167, 212, null, null],
|
||||||
|
[0, "옹개", null, 0, null, 73, 75, 57, 0, 188, 225, null, null],
|
||||||
|
[0, "양의", null, 0, null, 68, 40, 82, 0, 190, 235, null, null],
|
||||||
|
[0, "양호", null, 0, null, 90, 64, 84, 0, 221, 278, null, null],
|
||||||
|
[0, "양홍", null, 7, "완", 33, 15, 77, 1, 152, 199, null, null],
|
||||||
|
[0, "양앙", null, 0, null, 68, 72, 38, 0, 172, 215, null, null],
|
||||||
|
[0, "양추1", null, 0, null, 52, 65, 40, 0, 159, 199, null, null],
|
||||||
|
[0, "양수", null, 0, null, 25, 4, 83, 0, 175, 219, null, null],
|
||||||
|
[0, "양추2", null, 0, null, 67, 64, 60, 0, 172, 238, null, null],
|
||||||
|
[0, "양송", null, 0, null, 1, 5, 28, 0, 167, 215, null, null],
|
||||||
|
[0, "양임", null, 14, "한중", 70, 78, 56, 1, 170, 215, null, null],
|
||||||
|
[0, "양조", null, 0, null, 53, 61, 36, 0, 223, 286, null, null],
|
||||||
|
[0, "양백", null, 14, "한중", 44, 45, 19, 1, 171, 214, null, null],
|
||||||
|
[0, "양부1", null, 0, null, 67, 50, 83, 0, 178, 239, null, null],
|
||||||
|
[0, "양봉1", null, 0, null, 66, 65, 31, 0, 153, 197, null, null],
|
||||||
|
[0, "양봉2", null, 0, null, 54, 62, 53, 0, 191, 252, null, null],
|
||||||
|
[0, "뇌동", null, 0, null, 69, 78, 51, 0, 172, 218, null, null],
|
||||||
|
[0, "뇌박", null, 0, null, 62, 70, 36, 0, 157, 206, null, null],
|
||||||
|
[0, "이이", null, 0, null, 63, 77, 19, 0, 187, 222, null, null],
|
||||||
|
[0, "이회", null, 0, null, 79, 65, 79, 0, 175, 231, null, null],
|
||||||
|
[0, "이각", null, 1, "낙양", 69, 72, 24, 1, 148, 198, null, null],
|
||||||
|
[0, "육항", null, 0, null, 91, 63, 87, 0, 226, 274, null, null],
|
||||||
|
[0, "육적", null, 0, null, 20, 7, 72, 0, 187, 219, null, null],
|
||||||
|
[0, "육손", null, 0, null, 94, 69, 95, 0, 183, 245, null, null],
|
||||||
|
[0, "이엄", null, 0, null, 83, 84, 76, 0, 172, 234, null, null],
|
||||||
|
[0, "이유", null, 1, "낙양", 61, 26, 93, 11, 150, 192, null, null, "장안으로 천도를 하는것이 어떻겠습니까?"],
|
||||||
|
[0, "이숙", null, 1, "낙양", 46, 69, 61, 1, 156, 192, null, null],
|
||||||
|
[0, "이통", null, 0, "여남", 73, 83, 62, 0, 168, 209, null, null],
|
||||||
|
[0, "이전", null, 0, null, 78, 77, 79, 0, 181, 216, null, null],
|
||||||
|
[0, "이풍", null, 0, null, 69, 74, 50, 0, 158, 199, null, null],
|
||||||
|
[0, "유언", null, 6, "성도", 53, 38, 80, 12, 132, 194, null, null],
|
||||||
|
[0, "유괴", null, 6, "성도", 71, 73, 67, 1, 165, 214, null, null],
|
||||||
|
[0, "유기", null, 13, "양양", 52, 12, 63, 1, 174, 210, null, null],
|
||||||
|
[0, "유우", null, 16, "계", 55, 33, 70, 12, 145, 193, null, null],
|
||||||
|
[0, "유훈", null, 0, null, 47, 63, 35, 0, 163, 216, null, null],
|
||||||
|
[0, "유현", null, 0, null, 54, 66, 51, 0, 188, 252, null, null],
|
||||||
|
[0, "유순", null, 0, null, 63, 46, 41, 0, 172, 255, null, null],
|
||||||
|
[0, "유장", null, 6, "성도", 31, 5, 34, 1, 162, 219, null, null],
|
||||||
|
[0, "유심", null, 0, null, 60, 62, 70, 0, 238, 264, null, null],
|
||||||
|
[0, "유선", null, 0, null, 3, 5, 9, 0, 208, 270, null, null],
|
||||||
|
[0, "유종", null, 0, null, 24, 22, 65, 0, 195, 220, null, null],
|
||||||
|
[0, "유도", null, 0, null, 25, 23, 26, 0, 168, 214, null, null],
|
||||||
|
[0, "유파", null, 0, null, 29, 22, 75, 0, 186, 222, null, null],
|
||||||
|
[0, "유반", null, 0, null, 69, 76, 47, 0, 168, 210, null, null],
|
||||||
|
[0, "유비", null, 0, "진류", 81, 77, 80, 0, 161, 223, null, null],
|
||||||
|
[0, "유표1", null, 13, "양양", 48, 31, 72, 12, 142, 208, null, null, "강하 팔준에서 제일가는 이 유표에게로 오시오!"],
|
||||||
|
[0, "유복", null, 0, null, 64, 49, 74, 0, 164, 208, null, null],
|
||||||
|
[0, "유벽", null, 0, null, 70, 72, 47, 0, 145, 201, null, null],
|
||||||
|
[0, "유봉", null, 0, null, 75, 79, 44, 0, 188, 220, null, null],
|
||||||
|
[0, "유엽", null, 0, null, 56, 32, 92, 0, 176, 235, null, null],
|
||||||
|
[0, "유요", null, 0, null, 62, 67, 46, 0, 156, 198, null, null],
|
||||||
|
[0, "여위황", null, 0, null, 58, 63, 29, 0, 159, 200, null, null],
|
||||||
|
[0, "요화", null, 0, null, 73, 76, 69, 0, 168, 264, null, null],
|
||||||
|
[0, "양흥", null, 10, "서량", 61, 65, 19, 1, 169, 211, null, null],
|
||||||
|
[0, "양습", null, 0, null, 73, 40, 74, 0, 168, 230, null, null],
|
||||||
|
[0, "양서", null, 0, null, 56, 62, 66, 0, 198, 260, null, null],
|
||||||
|
[0, "능조", null, 0, null, 75, 81, 42, 0, 168, 203, null, null],
|
||||||
|
[0, "능통", null, 0, null, 77, 89, 60, 0, 189, 217, null, null],
|
||||||
|
[0, "여개", null, 0, null, 53, 30, 67, 0, 194, 227, null, null],
|
||||||
|
[0, "여건", null, 0, null, 57, 70, 62, 0, 173, 238, null, null],
|
||||||
|
[0, "여광", null, 0, null, 56, 70, 13, 0, 162, 207, null, null],
|
||||||
|
[0, "여상", null, 0, null, 54, 71, 12, 0, 164, 207, null, null],
|
||||||
|
[0, "여대", null, 0, null, 75, 71, 70, 0, 161, 256, null, null],
|
||||||
|
[0, "여범", null, 0, null, 73, 63, 75, 0, 169, 228, null, null],
|
||||||
|
[0, "여포", null, 1, "사수", 97, 100, 26, 1, 156, 198, null, null],
|
||||||
|
[0, "여몽", null, 0, null, 82, 81, 20, 0, 178, 219, null, null],
|
||||||
|
[0, "윤직", null, 0, null, 46, 42, 73, 0, 196, 237, null, null],
|
||||||
|
[0, "냉포", null, 0, null, 71, 82, 61, 0, 176, 214, null, null],
|
||||||
|
[0, "진취", null, 0, null, 56, 63, 45, 0, 174, 208, null, null],
|
||||||
|
[0, "노숙", null, 0, null, 84, 56, 92, 0, 172, 217, null, null],
|
||||||
|
[0, "노식", null, 0, null, 86, 63, 82, 0, 139, 192, null, null],
|
||||||
|
[0, "범강", null, 0, null, 49, 50, 36, 0, 174, 222, null, null],
|
||||||
|
[0, "장달", null, 0, null, 43, 56, 34, 0, 175, 222, null, null],
|
||||||
|
[0, "규람", null, 0, null, 55, 70, 58, 0, 165, 204, null, null],
|
||||||
|
[0, "대원", null, 0, null, 38, 32, 68, 0, 166, 204, null, null],
|
||||||
|
[0, "왕기", null, 0, null, 77, 72, 86, 0, 190, 261, null, null],
|
||||||
|
[0, "왕상", null, 0, null, 23, 19, 68, 0, 180, 268, null, null],
|
||||||
|
[0, "왕돈", null, 0, null, 60, 66, 46, 0, 198, 256, null, null],
|
||||||
|
[0, "악침", null, 0, null, 73, 75, 43, 0, 196, 257, null, null],
|
||||||
|
[0, "하제", null, 0, null, 83, 70, 82, 0, 171, 227, null, null],
|
||||||
|
[0, "환범", null, 0, null, 40, 11, 78, 0, 199, 249, null, null],
|
||||||
|
[0, "견초", null, 0, null, 72, 79, 73, 0, 168, 244, null, null],
|
||||||
|
[0, "고당륭", null, 0, null, 35, 24, 76, 0, 190, 244, null, null],
|
||||||
|
[0, "오찬", null, 0, null, 68, 41, 78, 0, 181, 245, null, null],
|
||||||
|
[0, "호질", null, 0, null, 73, 46, 74, 0, 192, 250, null, null],
|
||||||
|
[0, "오질", null, 0, null, 16, 29, 68, 0, 177, 230, null, null],
|
||||||
|
[0, "호준", null, 0, null, 79, 76, 62, 0, 200, 256, null, null],
|
||||||
|
[0, "고담", null, 0, null, 53, 23, 77, 0, 203, 244, null, null],
|
||||||
|
[0, "최림", null, 0, null, 32, 22, 66, 0, 187, 244, null, null],
|
||||||
|
[0, "사마망", null, 0, null, 78, 58, 83, 0, 205, 271, null, null],
|
||||||
|
[0, "주이", null, 0, null, 70, 73, 61, 0, 201, 257, null, null],
|
||||||
|
[0, "전단", null, 0, null, 67, 64, 39, 0, 204, 261, null, null],
|
||||||
|
[0, "조우", null, 0, null, 50, 43, 37, 0, 199, 278, null, null],
|
||||||
|
[0, "조상", null, 0, null, 39, 33, 30, 0, 207, 249, null, null],
|
||||||
|
[0, "조방", null, 0, null, 20, 14, 27, 0, 232, 274, null, null],
|
||||||
|
[0, "태사향", null, 0, null, 57, 66, 48, 0, 189, 246, null, null],
|
||||||
|
[0, "장휴", null, 0, null, 63, 27, 74, 0, 204, 244, null, null],
|
||||||
|
[0, "장호", null, 0, null, 75, 74, 51, 0, 195, 240, null, null],
|
||||||
|
[0, "조광", null, 0, null, 67, 71, 53, 0, 210, 263, null, null],
|
||||||
|
[0, "장집", null, 0, null, 76, 29, 80, 0, 196, 254, null, null],
|
||||||
|
[0, "장승", null, 0, null, 77, 70, 75, 0, 178, 244, null, null],
|
||||||
|
[0, "장소", null, 0, null, 23, 56, 31, 0, 202, 264, null, null],
|
||||||
|
[0, "조통", null, 0, null, 68, 67, 61, 0, 209, 260, null, null],
|
||||||
|
[0, "진표", null, 0, null, 66, 42, 74, 0, 207, 237, null, null],
|
||||||
|
[0, "정무", null, 0, null, 56, 35, 75, 0, 201, 265, null, null],
|
||||||
|
[0, "정봉", null, 0, null, 66, 66, 53, 0, 198, 266, null, null],
|
||||||
|
[0, "전만", null, 0, null, 51, 73, 39, 0, 181, 235, null, null],
|
||||||
|
[0, "마균", null, 0, null, 22, 17, 71, 0, 200, 259, null, null],
|
||||||
|
[0, "방회", null, 0, null, 69, 75, 49, 0, 205, 272, null, null],
|
||||||
|
[0, "서구", null, 0, null, 69, 42, 70, 0, 149, 208, null, null],
|
||||||
|
[0, "육개", null, 0, null, 65, 61, 79, 0, 198, 269, null, null],
|
||||||
|
[0, "유찬", null, 0, null, 78, 81, 64, 0, 172, 255, null, null],
|
||||||
|
[0, "유소", null, 0, null, 68, 53, 74, 0, 195, 264, null, null],
|
||||||
|
[0, "요립", null, 0, null, 32, 15, 76, 0, 181, 250, null, null],
|
||||||
|
[0, "여거", null, 0, null, 78, 69, 71, 0, 196, 256, null, null],
|
||||||
|
[0, "제갈첨", null, 0, null, 70, 57, 76, 0, 227, 263, null, null],
|
||||||
|
[0, "손휴", null, 0, null, 57, 42, 78, 0, 235, 264, null, null],
|
||||||
|
[0, "극정", null, 0, null, 42, 23, 68, 0, 208, 278, null, null],
|
||||||
|
[0, "호분", null, 0, null, 71, 76, 50, 0, 222, 288, null, null],
|
||||||
|
[0, "손량", null, 0, null, 32, 26, 70, 0, 243, 260, null, null],
|
||||||
|
[0, "마막", null, 0, null, 34, 12, 44, 0, 221, 266, null, null],
|
||||||
|
[0, "손호", null, 0, null, 41, 73, 71, 0, 242, 284, null, null],
|
||||||
|
[0, "조모", null, 0, null, 54, 61, 59, 0, 241, 260, null, null],
|
||||||
|
[0, "조환", null, 0, null, 30, 28, 30, 0, 246, 302, null, null],
|
||||||
|
[0, "사마유", null, 0, null, 71, 68, 75, 0, 248, 283, null, null],
|
||||||
|
[0, "제갈상", null, 0, null, 64, 79, 62, 0, 246, 263, null, null],
|
||||||
|
[0, "손화", null, 0, null, 31, 39, 68, 0, 224, 253, null, null],
|
||||||
|
[0, "염우", null, 0, null, 52, 61, 51, 0, 209, 264, null, null],
|
||||||
|
[0, "왕경", null, 0, null, 67, 63, 71, 0, 206, 260, null, null],
|
||||||
|
[0, "왕혼", null, 0, null, 74, 71, 63, 0, 223, 297, null, null],
|
||||||
|
[0, "곽혁", null, 0, null, 33, 29, 70, 0, 187, 225, null, null],
|
||||||
|
[0, "가범", null, 0, null, 60, 62, 73, 0, 202, 237, null, null],
|
||||||
|
[0, "서질", null, 0, null, 68, 83, 24, 0, 207, 253, null, null],
|
||||||
|
[0, "손준", null, 0, null, 64, 70, 65, 0, 219, 256, null, null],
|
||||||
|
[0, "손침", null, 0, null, 58, 55, 65, 0, 231, 258, null, null],
|
||||||
|
[0, "우사", null, 0, null, 61, 34, 74, 0, 217, 273, null, null],
|
||||||
|
[0, "진건", null, 0, null, 72, 71, 65, 0, 214, 292, null, null],
|
||||||
|
[0, "동궐", null, 0, null, 65, 59, 76, 0, 204, 271, null, null],
|
||||||
|
[0, "당자", null, 0, null, 61, 71, 50, 0, 196, 265, null, null],
|
||||||
|
[0, "등충", null, 0, null, 76, 86, 69, 0, 230, 264, null, null],
|
||||||
|
[0, "황숭", null, 0, null, 67, 63, 72, 0, 208, 263, null, null],
|
||||||
|
[0, "화핵", null, 0, null, 20, 24, 71, 0, 217, 278, null, null],
|
||||||
|
[0, "허의", null, 0, null, 51, 74, 15, 0, 213, 263, null, null],
|
||||||
|
[0, "송겸", null, 0, null, 66, 78, 42, 0, 175, 227, null, null],
|
||||||
|
[0, "호제", null, 0, null, 57, 39, 68, 0, 207, 264, null, null],
|
||||||
|
[0, "나헌", null, 0, null, 85, 70, 77, 0, 218, 270, null, null],
|
||||||
|
[0, "아들노숙", null, 0, null, 73, 53, 74, 0, 217, 272, null, null],
|
||||||
|
[0, "구성", null, 0, null, 63, 70, 38, 0, 157, 187, null, null],
|
||||||
|
[0, "어부라", null, 0, null, 72, 68, 21, 0, 150, 195, null, null],
|
||||||
|
[0, "아하소과", null, 0, null, 61, 76, 13, 0, 204, 253, null, null],
|
||||||
|
[0, "가비능", null, 0, null, 77, 69, 52, 0, 172, 235, null, null],
|
||||||
|
[0, "구력거", null, 0, null, 80, 68, 56, 0, 152, 193, null, null],
|
||||||
|
[0, "강단", null, 0, null, 65, 83, 48, 0, 168, 234, null, null],
|
||||||
|
[0, "황란", null, 0, null, 63, 75, 44, 0, 200, 264, null, null],
|
||||||
|
[0, "호주천", null, 0, null, 70, 71, 40, 0, 169, 230, null, null],
|
||||||
|
[0, "종리목", null, 0, null, 80, 72, 73, 0, 214, 269, null, null],
|
||||||
|
[0, "제갈교", null, 0, null, 62, 27, 75, 0, 204, 228, null, null],
|
||||||
|
[0, "답돈", null, 0, null, 84, 82, 61, 0, 158, 207, null, null],
|
||||||
|
[0, "반임", null, 0, null, 66, 79, 38, 0, 168, 225, null, null],
|
||||||
|
[0, "보도근", null, 0, null, 64, 73, 50, 0, 170, 233, null, null],
|
||||||
|
[0, "미당대왕", null, 0, null, 59, 69, 21, 0, 202, 260, null, null],
|
||||||
|
[0, "유표(흉노)", null, 0, null, 73, 74, 48, 0, 173, 252, null, null],
|
||||||
|
[0, "루반", null, 0, null, 65, 76, 39, 0, 178, 207, null, null],
|
||||||
|
[0, "손관", null, 0, null, 72, 78, 51, 0, 166, 217, null, null],
|
||||||
|
[0, "곽석", null, 0, null, 59, 71, 48, 0, 158, 187, null, null],
|
||||||
|
[0, "주조", null, 0, null, 63, 68, 26, 0, 152, 187, null, null],
|
||||||
|
[0, "장거", null, 0, null, 79, 75, 56, 0, 150, 188, null, null],
|
||||||
|
[0, "장순", null, 0, null, 73, 81, 60, 0, 152, 188, null, null],
|
||||||
|
[0, "해니", null, 0, null, 62, 78, 35, 0, 191, 233, null, null],
|
||||||
|
[0, "토안", null, 0, null, 53, 82, 30, 0, 191, 233, null, null],
|
||||||
|
[0, "유주", null, 0, null, 67, 78, 42, 0, 172, 233, null, null],
|
||||||
|
[0, "비잔", null, 0, null, 60, 71, 51, 0, 181, 216, null, null],
|
||||||
|
[0, "월길", null, 0, null, 81, 88, 26, 0, 190, 227, null, null],
|
||||||
|
[0, "아단", null, 0, null, 72, 65, 78, 0, 186, 259, null, null],
|
||||||
|
[0, "철리길", null, 0, null, 77, 70, 52, 0, 179, 259, null, null],
|
||||||
|
[0, "주삭", null, 0, null, 54, 60, 50, 0, 174, 253, null, null],
|
||||||
|
[0, "왕이", null, 0, null, 87, 59, 77, 0, 171, 230, null, null],
|
||||||
|
[0, "왕원희", null, 0, null, 53, 37, 73, 0, 217, 268, null, null],
|
||||||
|
[0, "곽씨", null, 0, null, 42, 4, 55, 0, 184, 235, null, null],
|
||||||
|
[0, "하후씨", null, 0, null, 34, 13, 42, 0, 188, 243, null, null],
|
||||||
|
[0, "하후령녀", null, 0, null, 22, 33, 60, 0, 207, 257, null, null],
|
||||||
|
[0, "하씨", null, 0, null, 51, 14, 67, 0, 150, 189, null, null],
|
||||||
|
[0, "관은병", null, 0, null, 87, 84, 75, 0, 204, 271, null, null],
|
||||||
|
[0, "감씨", null, 0, null, 14, 10, 44, 0, 175, 210, null, null],
|
||||||
|
[0, "황월영", null, 0, null, 62, 33, 90, 0, 186, 235, null, null],
|
||||||
|
[0, "채염", null, 0, null, 53, 14, 80, 0, 168, 224, null, null],
|
||||||
|
[0, "채씨", null, 0, null, 38, 7, 70, 0, 159, 212, null, null],
|
||||||
|
[0, "소교", null, 0, null, 40, 3, 70, 0, 178, 212, null, null],
|
||||||
|
[0, "서씨", null, 0, null, 48, 16, 80, 0, 183, 232, null, null],
|
||||||
|
[0, "신헌영", null, 0, null, 48, 28, 84, 0, 191, 269, null, null],
|
||||||
|
[0, "견씨", null, 0, null, 42, 18, 74, 0, 182, 221, null, null],
|
||||||
|
[0, "추씨", null, 1, "낙양", 4, 9, 66, 1, 165, 200, null, null],
|
||||||
|
[0, "조절", null, 0, null, 32, 33, 79, 0, 190, 260, null, null],
|
||||||
|
[0, "손씨", null, 0, null, 32, 14, 55, 0, 188, 250, null, null],
|
||||||
|
[0, "손상향", null, 0, null, 77, 82, 55, 0, 193, 222, null, null],
|
||||||
|
[0, "손노육", null, 0, null, 52, 10, 66, 0, 204, 253, null, null],
|
||||||
|
[0, "손노반", null, 0, null, 17, 15, 80, 0, 202, 258, null, null],
|
||||||
|
[0, "대교", null, 0, null, 33, 30, 66, 0, 177, 215, null, null],
|
||||||
|
[0, "장씨", null, 0, null, 55, 35, 66, 0, 207, 237, null, null],
|
||||||
|
[0, "장춘화", null, 0, null, 66, 29, 77, 0, 179, 234, null, null],
|
||||||
|
[0, "초선", null, 0, null, 42, 18, 81, 0, 176, 230, null, null],
|
||||||
|
[0, "번씨", null, 0, null, 6, 12, 50, 0, 183, 225, null, null],
|
||||||
|
[0, "미씨", null, 0, null, 13, 6, 72, 0, 176, 208, null, null],
|
||||||
|
[0, "변씨", null, 0, null, 30, 23, 55, 0, 160, 230, null, null],
|
||||||
|
[0, "보련사", null, 0, null, 45, 30, 77, 0, 198, 248, null, null],
|
||||||
|
[0, "유씨", null, 0, null, 8, 8, 44, 0, 164, 215, null, null],
|
||||||
|
[0, "화만", null, 0, null, 85, 92, 40, 0, 191, 233, null, null],
|
||||||
|
[0, "포삼낭", null, 0, null, 87, 83, 36, 0, 191, 240, null, null],
|
||||||
|
[0, "성렴", null, 1, "사수", 66, 72, 43, 1, 168, 199, null, null],
|
||||||
|
[0, "위월", null, 0, null, 68, 76, 39, 0, 170, 199, null, null],
|
||||||
|
[0, "진의록", null, 0, null, 46, 43, 17, 0, 168, 199, null, null],
|
||||||
|
[0, "채옹", null, 1, "장안", 27, 16, 81, 1, 133, 192, null, null],
|
||||||
|
[0, "지양군", null, 1, "낙양", 13, 8, 55, 1, 103, 192, null, null],
|
||||||
|
[0, "위소", null, 0, null, 21, 23, 65, 0, 204, 273, null, null],
|
||||||
|
[0, "위강", null, 0, null, 58, 35, 56, 0, 168, 213, null, null],
|
||||||
|
[0, "원요", null, 0, null, 28, 41, 50, 0, 177, 206, null, null],
|
||||||
|
[0, "왕기2", null, 0, null, 69, 67, 61, 0, 217, 281, null, null],
|
||||||
|
[0, "원환", null, 0, null, 30, 17, 72, 0, 165, 225, null, null],
|
||||||
|
[0, "우전", null, 0, null, 64, 76, 40, 0, 204, 258, null, null],
|
||||||
|
[0, "왕광", null, 15, "하내", 33, 65, 55, 12, 150, 190, null, null],
|
||||||
|
[0, "왕업", null, 0, null, 33, 6, 66, 0, 220, 280, null, null],
|
||||||
|
[0, "왕융", null, 0, null, 40, 57, 68, 0, 234, 305, null, null],
|
||||||
|
[0, "왕충", null, 0, null, 46, 39, 57, 0, 152, 214, null, null],
|
||||||
|
[0, "위풍", null, 0, null, 52, 23, 72, 0, 182, 219, null, null],
|
||||||
|
[0, "구건", null, 0, null, 39, 52, 65, 0, 239, 272, null, null],
|
||||||
|
[0, "구본", null, 0, null, 50, 41, 67, 0, 232, 269, null, null],
|
||||||
|
[0, "동백", null, 1, "장안", 12, 7, 52, 1, 173, 192, null, null],
|
||||||
|
[0, "마운", null, 0, null, 78, 88, 53, 0, 183, 225, null, null],
|
||||||
|
[0, "사섭", null, 18, "교지", 53, 31, 76, 12, 137, 226, null, null],
|
||||||
|
[0, "사지", null, 18, "교지", 58, 51, 52, 1, 163, 227, null, null],
|
||||||
|
[0, "사휘", null, 18, "남해", 69, 64, 44, 1, 165, 227, null, null],
|
||||||
|
[0, "사일", null, 18, "남해", 48, 36, 67, 1, 153, 230, null, null],
|
||||||
|
[0, "사광", null, 18, "교지", 58, 45, 64, 1, 175, 235, null, null],
|
||||||
|
[0, "후음", null, 0, null, 76, 72, 45, 0, 184, 219, null, null],
|
||||||
|
[0, "공주", null, 21, "초", 26, 16, 68, 12, 151, 191, null, null],
|
||||||
|
[0, "고담륭", null, 0, null, 35, 24, 76, 0, 190, 251, null, null],
|
||||||
|
[0, "국연", null, 0, null, 50, 19, 77, 0, 160, 219, null, null],
|
||||||
|
[0, "오언", null, 0, null, 74, 72, 77, 0, 235, 297, null, null],
|
||||||
|
[0, "오강", null, 0, null, 48, 38, 65, 0, 216, 275, null, null],
|
||||||
|
[0, "최염", null, 0, null, 18, 55, 77, 0, 162, 216, null, null],
|
||||||
|
[0, "좌혁", null, 0, null, 62, 66, 51, 0, 232, 280, null, null],
|
||||||
|
[0, "차주", null, 0, null, 49, 49, 40, 0, 164, 199, null, null],
|
||||||
|
[0, "주태", null, 0, null, 71, 64, 71, 0, 207, 261, null, null],
|
||||||
|
[0, "북궁백옥", null, 0, null, 66, 72, 49, 0, 146, 187, null, null],
|
||||||
|
[0, "변장", null, 0, null, 69, 56, 47, 0, 133, 187, null, null],
|
||||||
|
[0, "순의", null, 0, null, 16, 13, 72, 0, 207, 274, null, null],
|
||||||
|
[0, "서진순욱", null, 0, null, 8, 19, 77, 0, 225, 289, null, null],
|
||||||
|
[0, "사마준", null, 0, null, 85, 82, 80, 0, 232, 286, null, null],
|
||||||
|
[0, "종육", null, 0, null, 32, 12, 71, 0, 223, 263, null, null],
|
||||||
|
[0, "초이", null, 0, null, 62, 69, 63, 0, 219, 266, null, null],
|
||||||
|
[0, "제갈정", null, 0, null, 58, 63, 66, 0, 246, 300, null, null],
|
||||||
|
[0, "보협", null, 0, null, 62, 49, 53, 0, 216, 264, null, null],
|
||||||
|
[0, "복양흥", null, 0, null, 32, 70, 65, 0, 224, 264, null, null],
|
||||||
|
[0, "보천", null, 0, null, 71, 60, 71, 0, 222, 272, null, null],
|
||||||
|
[0, "유대연주", null, 3, "복양", 53, 32, 55, 12, 148, 192, null, null],
|
||||||
|
[0, "유대", null, 0, null, 63, 58, 30, 0, 155, 202, null, null],
|
||||||
|
[0, "유승", null, 0, null, 45, 65, 33, 0, 215, 258, null, null],
|
||||||
|
[0, "여영기", null, 0, null, 79, 88, 37, 0, 182, 198, null, null],
|
||||||
|
[0, "독발수기능", null, 0, null, 89, 93, 77, 0, 232, 279, null, null],
|
||||||
|
[0, "진수", null, 0, null, 12, 22, 68, 0, 233, 297, null, null],
|
||||||
|
[0, "마륭", null, 0, null, 84, 75, 76, 0, 231, 296, null, null],
|
||||||
|
[0, "도황", null, 0, null, 76, 68, 72, 0, 232, 290, null, null],
|
||||||
|
[0, "진온", null, 9, "수춘", 60, 38, 48, 12, 167, 192, null, null],
|
||||||
|
[0, "교모", null, 3, "복양", 54, 45, 69, 11, 137, 190, null, null],
|
||||||
|
[0, "교국로", null, 0, null, 38, 17, 55, 0, 150, 220, null, null],
|
||||||
|
[0, "포신", null, 2, "진류", 77, 67, 81, 1, 152, 192, null, null],
|
||||||
|
[0, "포훈", null, 0, null, 41, 35, 75, 0, 180, 226, null, null],
|
||||||
|
[0, "포도", null, 2, "진류", 57, 70, 43, 1, 159, 190, null, null],
|
||||||
|
[0, "위자", null, 2, "진류", 58, 38, 62, 1, 150, 190, null, null],
|
||||||
|
[0, "유화", null, 16, "계", 21, 16, 59, 1, 165, 216, null, null],
|
||||||
|
[0, "이이자", null, 0, null, 32, 18, 48, 0, 157, 199, null, null],
|
||||||
|
[0, "선우보", null, 16, "계", 74, 69, 65, 1, 161, 229, null, null],
|
||||||
|
[0, "원유", null, 3, "복양", 57, 39, 73, 1, 150, 193, null, null],
|
||||||
|
[0, "사마휘", null, 0, null, 21, 8, 92, 0, 173, 208, "은둔", null, "좋지~좋아"],
|
||||||
|
[0, "화타", null, 0, null, 8, 7, 68, 0, 173, 207, "은둔", "의술"],
|
||||||
|
[0, "관로", null, 0, null, 13, 9, 72, 0, 200, 233, "은둔", null],
|
||||||
|
[0, "예형", null, 0, null, 13, 4, 90, 0, 173, 199, null, null],
|
||||||
|
[0, "원혁", null, 0, null, 18, 18, 18, 0, 180, 246, null, null],
|
||||||
|
[0, "헌제", null, 1, "낙양", 23, 17, 66, 1, 184, 234, null, null, "한 황실은 이대로 끝나는 것인가…"],
|
||||||
|
[0, "황완", null, 1, "낙양", 40, 34, 71, 1, 141, 192, null, null],
|
||||||
|
[0, "마일제", null, 1, "낙양", 43, 25, 70, 1, 130, 194, null, null],
|
||||||
|
[0, "유총", null, 22, "여남", 82, 45, 60, 12, 151, 197, null, null],
|
||||||
|
[0, "낙준", null, 0, null, 51, 37, 66, 0, 152, 197, null, null],
|
||||||
|
[0, "낙통", null, 0, null, 76, 57, 73, 0, 193, 228, null, null],
|
||||||
|
[0, "이리", null, 1, "홍농", 65, 72, 38, 1, 171, 198, null, null],
|
||||||
|
[0, "허소", null, 0, null, 46, 13, 78, 0, 150, 195, null, null, "자네는 치세의 능신, 난세의 간옹이 되겠군."],
|
||||||
|
[0, "허사", null, 0, null, 24, 20, 60, 0, 163, 199, null, null],
|
||||||
|
[0, "장초", null, 0, null, 61, 32, 60, 0, 168, 196, null, null],
|
||||||
|
[0, "양표", null, 1, "낙양", 24, 20, 60, 1, 142, 225, null, null],
|
||||||
|
[0, "왕필", null, 0, null, 53, 44, 59, 0, 170, 228, null, null],
|
||||||
|
[0, "사환", null, 2, "진류", 70, 71, 45, 1, 173, 209, null, null],
|
||||||
|
[0, "정비", null, 0, null, 34, 30, 57, 0, 158, 214, null, null],
|
||||||
|
[0, "두씨", null, 1, "낙양", 26, 41, 52, 1, 172, 236, null, null],
|
||||||
|
[0, "누규", null, 13, "양양", 58, 40, 87, 1, 143, 212, null, null],
|
||||||
|
[0, "단외", null, 1, "장안", 55, 48, 55, 1, 148, 209, null, null],
|
||||||
|
[0, "원사", null, 0, null, 65, 43, 78, 0, 159, 210, null, null],
|
||||||
|
[0, "사의관", null, 0, null, 22, 12, 67, 0, 168, 199, null, null],
|
||||||
|
[0, "송건", null, 0, null, 66, 77, 40, 0, 164, 214, null, null],
|
||||||
|
[0, "곽원", null, 17, "업", 66, 73, 36, 1, 162, 205, null, null],
|
||||||
|
[0, "소유", null, 0, null, 51, 59, 48, 0, 167, 210, null, null],
|
||||||
|
[0, "주한", null, 0, null, 49, 51, 26, 0, 162, 204, null, null],
|
||||||
|
[0, "뇌서", null, 0, null, 68, 65, 34, 0, 170, 212, null, null],
|
||||||
|
[0, "장홍", null, 0, "복양", 72, 81, 65, 0, 164, 196, null, null],
|
||||||
|
[0, "유위대", null, 4, "북평", 53, 44, 62, 1, 152, 199, null, null],
|
||||||
|
[0, "문칙", null, 4, "계", 59, 53, 32, 1, 164, 199, null, null],
|
||||||
|
[0, "습진", null, 0, null, 64, 68, 51, 0, 189, 221, null, null],
|
||||||
|
[0, "습정", null, 0, null, 49, 29, 70, 0, 181, 229, null, null]
|
||||||
|
],
|
||||||
|
"general_ex":[],
|
||||||
|
"cities":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"history":[
|
||||||
|
"<C>●</>190년 1월:<L><b>【역사모드2-2】</b></>반동탁연합 결성(정사)",
|
||||||
|
"<C>●</>190년 1월:<G><b>【연합】</b></>동탁을 토벌하기 위해 18로 제후가 뭉쳤다."
|
||||||
|
],
|
||||||
|
"initialEvents":[
|
||||||
|
[
|
||||||
|
true,
|
||||||
|
["ChangeCity", "free", {
|
||||||
|
"pop":"70%",
|
||||||
|
"agri":"70%",
|
||||||
|
"comm":"70%",
|
||||||
|
"secu":"70%",
|
||||||
|
"trust":80
|
||||||
|
}],
|
||||||
|
["ChangeCity", "occupied", {
|
||||||
|
"pop":"70%",
|
||||||
|
"agri":"70%",
|
||||||
|
"comm":"70%",
|
||||||
|
"secu":"70%",
|
||||||
|
"trust":80,
|
||||||
|
"def":"70%",
|
||||||
|
"wall":"70%"
|
||||||
|
}]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"events":[
|
||||||
|
[
|
||||||
|
"destroy_nation", 1000,
|
||||||
|
["and",
|
||||||
|
["Date", ">=", 183, 1],
|
||||||
|
["RemainNation", "==", 1]
|
||||||
|
],
|
||||||
|
["BlockScoutAction"],
|
||||||
|
["DeleteEvent"]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
["여포", "#A9A9A9", 100000, 100000, "조조의 본거지를 빼앗은 당대 최고의 맹장 여포", 1000, "병가", 2, [
|
["여포", "#A9A9A9", 100000, 100000, "조조의 본거지를 빼앗은 당대 최고의 맹장 여포", 1000, "병가", 2, [
|
||||||
"복양"
|
"복양"
|
||||||
]],
|
]],
|
||||||
["손견", "#FF0000", 100000, 100000, "손견의 뒤를 이은 소패왕 손책", 1000, "병가", 2, [
|
["손책", "#FF0000", 100000, 100000, "손견의 뒤를 이은 소패왕 손책", 1000, "병가", 2, [
|
||||||
"여강"
|
"여강"
|
||||||
]],
|
]],
|
||||||
["공손찬", "#FF00FF", 100000, 100000, "북평 태수 공손찬", 1000, "병가", 3, [
|
["공손찬", "#FF00FF", 100000, 100000, "북평 태수 공손찬", 1000, "병가", 3, [
|
||||||
|
|||||||
@@ -0,0 +1,766 @@
|
|||||||
|
{
|
||||||
|
"title":"【역사모드3-2】 군웅축록",
|
||||||
|
"startYear":192,
|
||||||
|
"life":1,
|
||||||
|
"fiction":0,
|
||||||
|
"const":{
|
||||||
|
"defaultMaxGeneral":600
|
||||||
|
},
|
||||||
|
"nation":[
|
||||||
|
["이각", "#A9A9A9", 100000, 100000, "천자를 등에 업은 이각", 1000, "명가", 5, ["함곡", "장안", "홍농", "사곡", "안정"]],
|
||||||
|
["조조", "#0000FF", 10000, 40000, "위태로운 조조", 1000, "병가", 3, ["진류", "정도", ""]],
|
||||||
|
["여포", "#A9A9A9", 10000, 10000, "조조를 공격하는 여포", 1000, "병가", 1, ["복양"]],
|
||||||
|
["공손찬", "#FF00FF", 10000, 10000, "백마의 공손찬", 1000, "병가", 3, ["북평", "역경", "계"]],
|
||||||
|
["장양", "#7B68EE", 10000, 10000, "병주자사 장양", 1000, "병가", 3, ["하내"]],
|
||||||
|
["유장", "#483D8B", 10000, 30000, "익주목 유장", 1000, "유가", 4, ["성도", "자동", "면죽", "강주"]],
|
||||||
|
["원술", "#FFC0CB", 15000, 40000, "후장군 원술", 1000, "병가", 2, ["수춘"]],
|
||||||
|
["유비", "#008000", 10000, 10000, "서주목 유비", 1000, "유가", 4, ["서주", "하비", "소패"]],
|
||||||
|
["유요", "#808000", 10000, 10000, "양주자사 유요", 1000, "유가", 3, ["합비", "건업"]],
|
||||||
|
["마등", "#808000", 10000, 10000, "서량태수 마등", 1000, "병가", 3, ["서량"]],
|
||||||
|
["공손도", "#A0522D", 10000, 10000, "요동의 왕 공손도", 1000, "덕가", 1, ["안평"]],
|
||||||
|
["엄백호", "#800080", 10000, 10000, "동오의 호족, 엄백호", 1000, "병가", 1, ["오"]],
|
||||||
|
["유표", "#E0FFFF", 10000, 10000, "형주자사 유표", 1000, "유가", 4, ["양양", "장판", "강하"]],
|
||||||
|
["장로", "#20B2AA", 10000, 10000, "오두미도 장로", 1000, "오두미도", 1, ["한중", "양평"]],
|
||||||
|
["장연", "#87CEEB", 10000, 10000, "흑산적 장연", 1000, "도적", 2, ["진양"]],
|
||||||
|
["화흠", "#6495ED", 10000, 10000, "예장태수 화흠", 1000, "유가", 1, ["시상"]],
|
||||||
|
["원소", "#FFFF00", 10000, 10000, "기주목 원소", 1000, "병가", 4, ["남피", "업", "계교", "평원"]],
|
||||||
|
["사섭", "#800000", 10000, 10000, "교주자사 사섭", 1000, "유가", 3, ["교지", "남해"]],
|
||||||
|
["공융", "#800080", 10000, 10000, "북해태수 공융", 1000, "유가", 1, ["북해"]],
|
||||||
|
["한수", "#FFFFFF", 10000, 10000, "서량의 모반자 한수", 1000, "병가", 1, ["천수"]],
|
||||||
|
["왕랑", "#87CEEB", 10000, 10000, "회계태수 왕랑", 1000, "유가", 1, ["회계"]],
|
||||||
|
["유총", "#7B68EE", 10000, 10000, "진민왕 유총", 1000, "덕가", 6, ["초"]],
|
||||||
|
["손책", "#FF0000", 10000, 10000, "원술에게서 벗어나려는 손책", 1000, "병가", 2, ["여강"]],
|
||||||
|
["유벽", "#FFD700", 10000, 10000, "여남 황건적", 1000, "도적", 1, ["여남"]]
|
||||||
|
],
|
||||||
|
"diplomacy":[
|
||||||
|
[4, 17, 1, 36],
|
||||||
|
[23, 9, 1, 36],
|
||||||
|
[4, 8, 7, 48],
|
||||||
|
[17, 2, 7, 48],
|
||||||
|
[7, 23, 7, 48],
|
||||||
|
[3, 2, 1, 36]
|
||||||
|
],
|
||||||
|
"general":[
|
||||||
|
[0, "아회남", null, 0, null, 65, 74, 26, 0, 190, 225, null, null],
|
||||||
|
[0, "이적", null, 0, null, 29, 24, 84, 0, 162, 273, null, null],
|
||||||
|
[0, "윤상", null, 0, null, 51, 44, 62, 0, 194, 260, null, null],
|
||||||
|
[0, "윤묵", null, 0, null, 26, 15, 66, 0, 183, 239, null, null],
|
||||||
|
[0, "우금1", null, 2, "진류", 83, 78, 74, 1, 159, 221, null, null],
|
||||||
|
[0, "위관", null, 0, null, 69, 46, 79, 0, 220, 291, null, null],
|
||||||
|
[0, "원윤", null, 7, "수춘", 15, 14, 39, 1, 150, 199, null, null],
|
||||||
|
[0, "원희", null, 17, "업", 66, 51, 63, 1, 176, 207, null, null],
|
||||||
|
[0, "염행", null, 20, "천수", 76, 84, 66, 1, 159, 215, null, null],
|
||||||
|
[0, "염유", null, 0, "계", 71, 57, 71, 0, 168, 227, null, null],
|
||||||
|
[0, "원술", null, 7, "수춘", 44, 65, 65, 12, 155, 199, null, null, "꿀물~! 꿀을 더 가져 오거라"],
|
||||||
|
[0, "원상", null, 0, null, 63, 75, 42, 0, 179, 207, null, null],
|
||||||
|
[0, "원소", null, 17, "업", 81, 69, 70, 12, 154, 202, null, null, "사세 삼공의 이 원소가 모조리 통일하겠소"],
|
||||||
|
[0, "염상", null, 7, "수춘", 30, 27, 71, 11, 158, 199, null, null],
|
||||||
|
[0, "원담", null, 17, "평원", 60, 69, 30, 1, 173, 205, null, null],
|
||||||
|
[0, "염포", null, 14, "한중", 29, 25, 82, 11, 167, 231, null, null],
|
||||||
|
[0, "왕위", null, 0, null, 60, 70, 62, 0, 163, 222, null, null],
|
||||||
|
[0, "왕윤", null, 0, null, 26, 6, 68, 0, 137, 192, null, null],
|
||||||
|
[0, "왕항", null, 0, null, 76, 60, 61, 0, 184, 254, null, null],
|
||||||
|
[0, "왕찬", null, 13, "양양", 15, 3, 79, 1, 177, 217, null, null],
|
||||||
|
[0, "왕수", null, 19, "북해", 54, 27, 77, 11, 168, 218, null, null],
|
||||||
|
[0, "왕숙", null, 0, null, 36, 22, 76, 0, 195, 256, null, null],
|
||||||
|
[0, "왕준", null, 0, null, 81, 73, 77, 0, 206, 286, null, null],
|
||||||
|
[0, "왕쌍", null, 0, null, 67, 88, 19, 0, 195, 228, null, null],
|
||||||
|
[0, "왕창", null, 0, null, 74, 64, 79, 0, 188, 259, null, null],
|
||||||
|
[0, "왕평", null, 0, null, 83, 79, 76, 0, 192, 248, null, null],
|
||||||
|
[0, "왕보", null, 0, null, 62, 41, 79, 0, 171, 219, null, null],
|
||||||
|
[0, "왕문", null, 17, "남피", 65, 64, 31, 1, 162, 205, null, null],
|
||||||
|
[0, "왕릉", null, 0, null, 74, 64, 71, 0, 172, 251, null, null],
|
||||||
|
[0, "왕루", null, 0, null, 28, 30, 79, 0, 173, 211, null, null],
|
||||||
|
[0, "왕랑", null, 21, "회계", 47, 35, 79, 12, 167, 228, null, null],
|
||||||
|
[0, "온회", null, 0, null, 62, 36, 74, 0, 178, 228, null, null],
|
||||||
|
[0, "하안", null, 0, null, 15, 30, 72, 0, 190, 249, null, null],
|
||||||
|
[0, "괴월", null, 13, "양양", 47, 27, 82, 1, 157, 214, null, null],
|
||||||
|
[0, "괴량", null, 13, "양양", 68, 33, 88, 11, 155, 204, null, null],
|
||||||
|
[0, "가화", null, 0, null, 49, 65, 41, 0, 176, 222, null, null],
|
||||||
|
[0, "가규", null, 0, null, 78, 61, 84, 0, 177, 231, null, null],
|
||||||
|
[0, "하의", null, 7, "수춘", 56, 69, 36, 1, 161, 196, null, null],
|
||||||
|
[0, "화흠", null, 16, "시상", 33, 33, 82, 12, 157, 231, null, null],
|
||||||
|
[0, "가후", null, 1, "장안", 88, 48, 97, 11, 147, 223, null, null],
|
||||||
|
[0, "곽가", null, 2, "진류", 88, 15, 96, 11, 170, 207, null, null],
|
||||||
|
[0, "악환", null, 0, null, 65, 82, 42, 0, 196, 251, null, null],
|
||||||
|
[0, "곽사", null, 1, "안정", 64, 76, 13, 1, 146, 197, null, null],
|
||||||
|
[0, "악취", null, 0, null, 53, 66, 61, 0, 157, 195, null, null],
|
||||||
|
[0, "곽준", null, 0, null, 73, 66, 73, 0, 178, 217, null, null],
|
||||||
|
[0, "학소", null, 0, null, 86, 79, 78, 0, 185, 229, null, null],
|
||||||
|
[0, "악진", null, 2, "진류", 80, 84, 56, 1, 159, 218, null, null],
|
||||||
|
[0, "곽도", null, 17, "업", 52, 50, 82, 1, 157, 205, null, null],
|
||||||
|
[0, "학맹", null, 0, null, 62, 67, 42, 0, 156, 300, null, null],
|
||||||
|
[0, "곽유지", null, 0, null, 28, 9, 69, 0, 190, 259, null, null],
|
||||||
|
[0, "곽익", null, 0, null, 73, 69, 69, 0, 207, 270, null, null],
|
||||||
|
[0, "곽회", null, 0, null, 87, 78, 81, 0, 187, 255, null, null],
|
||||||
|
[0, "하후위", null, 0, null, 71, 73, 49, 0, 204, 253, null, null],
|
||||||
|
[0, "하후연", null, 2, "진류", 90, 91, 68, 1, 162, 219, null, null],
|
||||||
|
[0, "하후은", null, 0, null, 63, 72, 53, 0, 180, 208, null, null],
|
||||||
|
[0, "하후화", null, 0, null, 48, 51, 71, 0, 207, 265, null, null],
|
||||||
|
[0, "하후혜", null, 0, null, 50, 44, 76, 0, 206, 242, null, null],
|
||||||
|
[0, "하후현", null, 0, null, 54, 39, 76, 0, 208, 254, null, null],
|
||||||
|
[0, "하후상", null, 0, null, 79, 72, 75, 0, 181, 225, null, null],
|
||||||
|
[0, "하후덕", null, 0, null, 69, 73, 32, 0, 178, 218, null, null],
|
||||||
|
[0, "하후돈", null, 2, "진류", 92, 90, 63, 1, 156, 220, null, null],
|
||||||
|
[0, "하후패", null, 0, null, 79, 84, 77, 0, 202, 262, null, null],
|
||||||
|
[0, "하후무", null, 0, null, 20, 7, 4, 0, 201, 259, null, null],
|
||||||
|
[0, "가충", null, 0, null, 54, 31, 89, 0, 217, 282, null, null],
|
||||||
|
[0, "하진", null, 0, null, 39, 40, 6, 0, 135, 189, null, null],
|
||||||
|
[0, "화웅", null, 0, null, 88, 92, 61, 0, 155, 190, null, null],
|
||||||
|
[0, "한윤", null, 7, "수춘", 26, 29, 65, 1, 155, 197, null, null],
|
||||||
|
[0, "관우", null, 8, "서주", 97, 97, 79, 1, 162, 219, null, null, "술이 식기 전에 돌아오겠소"],
|
||||||
|
[0, "환계", null, 23, "여강", 25, 26, 68, 1, 156, 221, null, null],
|
||||||
|
[0, "관해", null, 0, null, 70, 82, 10, 0, 160, 193, null, null],
|
||||||
|
[0, "관구검", null, 0, null, 78, 74, 55, 0, 202, 255, null, null],
|
||||||
|
[0, "한현", null, 0, null, 22, 33, 62, 0, 163, 220, null, null],
|
||||||
|
[0, "한호", null, 2, "진류", 69, 72, 84, 1, 164, 224, null, null],
|
||||||
|
[0, "관흥", null, 0, null, 76, 86, 67, 0, 199, 234, null, null],
|
||||||
|
[0, "관색", null, 0, null, 74, 88, 56, 0, 200, 239, null, null],
|
||||||
|
[0, "한수", null, 20, "천수", 81, 75, 82, 12, 142, 215, null, null],
|
||||||
|
[0, "한숭", null, 13, "강하", 25, 15, 71, 1, 154, 210, null, null],
|
||||||
|
[0, "관정", null, 4, "북평", 36, 52, 73, 11, 158, 199, null, null],
|
||||||
|
[0, "한섬", null, 0, null, 69, 66, 36, 0, 159, 196, null, null],
|
||||||
|
[0, "감택", null, 0, null, 43, 49, 83, 0, 182, 243, null, null],
|
||||||
|
[0, "한충", null, 0, null, 64, 67, 18, 0, 151, 184, null, null],
|
||||||
|
[0, "한당", null, 23, "여강", 76, 85, 61, 1, 156, 227, null, null],
|
||||||
|
[0, "한덕", null, 0, null, 63, 76, 25, 0, 171, 228, null, null],
|
||||||
|
[0, "감녕", null, 13, "강하", 93, 94, 76, 1, 174, 219, null, null],
|
||||||
|
[0, "한복", null, 0, null, 28, 3, 27, 0, 149, 193, null, null],
|
||||||
|
[0, "관평", null, 0, null, 80, 82, 72, 0, 186, 219, null, null],
|
||||||
|
[0, "간옹", null, 8, "하비", 20, 32, 75, 1, 164, 225, null, null],
|
||||||
|
[0, "안량", null, 17, "업", 88, 94, 21, 1, 160, 200, null, null],
|
||||||
|
[0, "위연", null, 0, null, 85, 92, 72, 0, 175, 234, null, null],
|
||||||
|
[0, "국의", null, 17, "업", 82, 78, 51, 1, 146, 197, null, null],
|
||||||
|
[0, "희지재", null, 2, "진류", 63, 7, 88, 1, 157, 196, null, null],
|
||||||
|
[0, "위속", null, 3, "복양", 67, 78, 31, 1, 156, 200, null, null],
|
||||||
|
[0, "위유", null, 0, null, 46, 29, 74, 0, 151, 193, null, null],
|
||||||
|
[0, "우금2", null, 0, null, 72, 79, 38, 0, 173, 226, null, null],
|
||||||
|
[0, "우보", null, 0, null, 38, 60, 21, 0, 159, 192, null, null],
|
||||||
|
[0, "강유", null, 0, null, 92, 89, 90, 0, 202, 264, null, null],
|
||||||
|
[0, "공지", null, 0, null, 43, 53, 62, 0, 178, 197, null, null],
|
||||||
|
[0, "교유", null, 7, "수춘", 64, 69, 38, 1, 143, 195, null, null],
|
||||||
|
[0, "공도", null, 24, "여남", 59, 70, 23, 1, 164, 200, null, null],
|
||||||
|
[0, "허공", null, 0, null, 44, 66, 64, 0, 155, 200, null, null],
|
||||||
|
[0, "허정", null, 21, "회계", 23, 5, 68, 1, 152, 222, null, null],
|
||||||
|
[0, "허저", null, 2, "진류", 74, 96, 36, 1, 169, 226, null, null],
|
||||||
|
[0, "허유", null, 17, "업", 36, 21, 80, 1, 155, 204, null, null],
|
||||||
|
[0, "기령", null, 7, "수춘", 78, 83, 51, 1, 155, 199, null, null],
|
||||||
|
[0, "김의", null, 0, null, 32, 38, 65, 0, 177, 218, null, null],
|
||||||
|
[0, "김배삼결", null, 0, null, 64, 76, 19, 0, 192, 225, null, null],
|
||||||
|
[0, "김선", null, 0, null, 52, 68, 13, 0, 155, 220, null, null],
|
||||||
|
[0, "우번", null, 21, "회계", 43, 46, 86, 11, 164, 233, null, null],
|
||||||
|
[0, "형도영", null, 0, null, 69, 80, 41, 0, 174, 208, null, null],
|
||||||
|
[0, "엄안", null, 6, "자동", 82, 83, 72, 1, 151, 222, null, null],
|
||||||
|
[0, "곽마", null, 0, null, 68, 71, 40, 0, 239, 281, null, null],
|
||||||
|
[0, "엄준", null, 0, null, 28, 2, 71, 0, 169, 246, null, null],
|
||||||
|
[0, "엄정", null, 0, null, 50, 55, 39, 0, 151, 189, null, null],
|
||||||
|
[0, "엄백호", null, 12, "오", 67, 70, 23, 12, 142, 198, null, null, "이 몸은 동오의 덕왕 엄백호라고 하오!"],
|
||||||
|
[0, "엄여", null, 12, "오", 61, 78, 44, 1, 145, 196, null, null],
|
||||||
|
[0, "오의", null, 0, null, 79, 73, 70, 0, 165, 237, null, null],
|
||||||
|
[0, "황개", null, 23, "여강", 80, 83, 70, 1, 154, 218, null, null],
|
||||||
|
[0, "고간", null, 17, "업", 74, 56, 48, 1, 168, 206, null, null],
|
||||||
|
[0, "황권", null, 6, "성도", 75, 59, 82, 11, 167, 240, null, null],
|
||||||
|
[0, "고유", null, 17, "업", 57, 43, 72, 1, 174, 263, null, null],
|
||||||
|
[0, "고순", null, 3, "복양", 85, 86, 60, 1, 162, 198, null, null],
|
||||||
|
[0, "고상", null, 0, null, 68, 68, 53, 0, 194, 252, null, null],
|
||||||
|
[0, "고승", null, 0, null, 67, 73, 41, 0, 145, 184, null, null],
|
||||||
|
[0, "후성", null, 3, "복양", 74, 75, 68, 1, 158, 199, null, null],
|
||||||
|
[0, "후선", null, 20, "천수", 63, 66, 34, 1, 175, 228, null, null],
|
||||||
|
[0, "황조", null, 13, "강하", 74, 66, 55, 1, 148, 208, null, null],
|
||||||
|
[0, "공손월", null, 0, null, 74, 72, 47, 0, 160, 192, null, null],
|
||||||
|
[0, "공손연", null, 0, null, 65, 70, 60, 0, 205, 238, null, null],
|
||||||
|
[0, "공손공", null, 11, "안평", 39, 17, 69, 1, 174, 240, null, null],
|
||||||
|
[0, "공손강", null, 11, "안평", 72, 66, 65, 1, 172, 211, null, null],
|
||||||
|
[0, "공손찬", null, 4, "북평", 84, 83, 75, 12, 152, 199, null, null],
|
||||||
|
[0, "공손속", null, 4, "북평", 63, 68, 57, 1, 176, 199, null, null],
|
||||||
|
[0, "공손도", null, 11, "안평", 67, 71, 66, 12, 154, 204, null, null],
|
||||||
|
[0, "공손범", null, 4, "북평", 73, 69, 66, 1, 158, 199, null, null],
|
||||||
|
[0, "황충", null, 0, null, 90, 93, 65, 0, 154, 220, null, null],
|
||||||
|
[0, "고정", null, 0, null, 55, 63, 43, 0, 190, 251, null, null],
|
||||||
|
[0, "고패", null, 0, null, 66, 61, 69, 0, 170, 212, null, null],
|
||||||
|
[0, "황보숭", null, 0, null, 92, 61, 73, 0, 132, 195, null, null],
|
||||||
|
[0, "공융", null, 19, "북해", 30, 5, 73, 12, 153, 208, null, null],
|
||||||
|
[0, "고람", null, 17, "평원", 76, 82, 68, 1, 159, 201, null, null],
|
||||||
|
[0, "오경", null, 0, null, 69, 66, 52, 0, 151, 211, null, null],
|
||||||
|
[0, "호거아", null, 1, "홍농", 70, 82, 41, 1, 164, 206, null, null],
|
||||||
|
[0, "호진", null, 0, null, 65, 74, 12, 0, 148, 190, null, null],
|
||||||
|
[0, "올돌골", null, 0, null, 79, 86, 1, 0, 186, 225, null, null],
|
||||||
|
[0, "호반", null, 0, null, 55, 55, 59, 0, 179, 233, null, null],
|
||||||
|
[0, "오반", null, 0, null, 74, 71, 59, 0, 171, 234, null, null],
|
||||||
|
[0, "고옹", null, 0, null, 43, 18, 80, 0, 168, 243, null, null],
|
||||||
|
[0, "오란", null, 6, "성도", 68, 80, 35, 1, 170, 218, null, null],
|
||||||
|
[0, "채화", null, 13, "장판", 39, 50, 1, 1, 166, 208, null, null],
|
||||||
|
[0, "채중", null, 13, "장판", 40, 54, 2, 1, 168, 208, null, null],
|
||||||
|
[0, "채모", null, 13, "양양", 70, 70, 77, 1, 160, 215, null, null],
|
||||||
|
[0, "착융", null, 9, "건업", 60, 69, 38, 1, 161, 196, null, null],
|
||||||
|
[0, "사마의", null, 0, null, 98, 63, 98, 0, 179, 251, null, null],
|
||||||
|
[0, "사마염", null, 0, null, 69, 59, 77, 0, 238, 290, null, null],
|
||||||
|
[0, "사마사", null, 0, null, 79, 64, 88, 0, 208, 255, null, null],
|
||||||
|
[0, "사마소", null, 0, null, 76, 57, 87, 0, 211, 265, null, null],
|
||||||
|
[0, "사마부", null, 0, null, 70, 37, 77, 0, 180, 272, null, null],
|
||||||
|
[0, "사마랑", null, 0, null, 20, 21, 72, 0, 171, 217, null, null],
|
||||||
|
[0, "사마가", null, 0, null, 66, 84, 25, 0, 167, 222, null, null],
|
||||||
|
[0, "주흔", null, 21, "회계", 65, 62, 73, 1, 159, 196, null, null],
|
||||||
|
[0, "주앙", null, 17, "남피", 74, 65, 65, 1, 162, 195, null, null],
|
||||||
|
[0, "주지", null, 0, null, 65, 85, 41, 0, 233, 295, null, null],
|
||||||
|
[0, "주창", null, 0, null, 68, 84, 42, 0, 164, 219, null, null],
|
||||||
|
[0, "주태유평", null, 23, "여강", 84, 91, 48, 1, 171, 225, null, null],
|
||||||
|
[0, "주방", null, 0, null, 52, 41, 80, 0, 200, 240, null, null],
|
||||||
|
[0, "주유", null, 23, "여강", 95, 71, 96, 11, 175, 210, null, null],
|
||||||
|
[0, "주환", null, 0, null, 84, 82, 77, 0, 177, 238, null, null],
|
||||||
|
[0, "주거", null, 0, null, 77, 57, 72, 0, 190, 246, null, null],
|
||||||
|
[0, "축융", null, 0, null, 74, 85, 29, 0, 182, 230, null, null],
|
||||||
|
[0, "주준", null, 1, "장안", 89, 65, 70, 1, 149, 195, null, null],
|
||||||
|
[0, "주연", null, 0, null, 79, 69, 71, 0, 182, 249, null, null],
|
||||||
|
[0, "주치", null, 0, null, 71, 56, 72, 0, 156, 224, null, null],
|
||||||
|
[0, "주포", null, 0, null, 68, 73, 34, 0, 191, 225, null, null],
|
||||||
|
[0, "주령", null, 2, "진류", 71, 73, 67, 1, 170, 236, null, null],
|
||||||
|
[0, "순욱", null, 2, "진류", 62, 14, 95, 1, 163, 212, null, null],
|
||||||
|
[0, "순우경", null, 17, "남피", 72, 66, 29, 1, 146, 200, null, null],
|
||||||
|
[0, "순심", null, 17, "업", 34, 25, 78, 1, 164, 208, null, null],
|
||||||
|
[0, "순유", null, 2, "진류", 73, 26, 94, 1, 157, 214, null, null],
|
||||||
|
[0, "장완", null, 0, null, 78, 34, 84, 0, 188, 246, null, null],
|
||||||
|
[0, "종회", null, 0, null, 82, 51, 91, 0, 225, 264, null, null],
|
||||||
|
[0, "장간", null, 0, null, 19, 6, 66, 0, 175, 208, null, null],
|
||||||
|
[0, "장의거", null, 17, "업", 71, 58, 59, 1, 159, 205, null, null],
|
||||||
|
[0, "장흠", null, 23, "여강", 78, 84, 54, 1, 159, 208, null, null],
|
||||||
|
[0, "장제3", null, 0, null, 48, 43, 85, 0, 188, 249, null, null],
|
||||||
|
[0, "초주", null, 0, null, 16, 3, 67, 0, 201, 270, null, null],
|
||||||
|
[0, "초촉", null, 17, "업", 65, 76, 33, 1, 159, 208, null, null],
|
||||||
|
[0, "상총", null, 0, null, 76, 61, 77, 0, 195, 240, null, null],
|
||||||
|
[0, "종요", null, 1, "장안", 70, 24, 77, 1, 151, 230, null, null],
|
||||||
|
[0, "상랑", null, 0, null, 28, 18, 74, 0, 167, 247, null, null],
|
||||||
|
[0, "서영", null, 0, null, 80, 76, 62, 0, 147, 192, null, null],
|
||||||
|
[0, "제갈각", null, 0, null, 72, 47, 90, 0, 203, 253, null, null],
|
||||||
|
[0, "제갈근", null, 0, null, 75, 34, 81, 0, 174, 241, null, null],
|
||||||
|
[0, "제갈균", null, 0, null, 29, 25, 52, 0, 185, 252, null, null],
|
||||||
|
[0, "제갈탄", null, 0, null, 72, 72, 76, 0, 206, 258, null, null],
|
||||||
|
[0, "제갈량", null, 0, null, 98, 38, 100, 0, 184, 234, null, null],
|
||||||
|
[0, "서황", null, 1, "사곡", 91, 90, 78, 1, 165, 228, null, null],
|
||||||
|
[0, "서서", null, 0, null, 87, 64, 93, 0, 160, 300, null, null],
|
||||||
|
[0, "서성", null, 0, null, 86, 81, 78, 0, 178, 232, null, null],
|
||||||
|
[0, "서막", null, 0, null, 55, 32, 68, 0, 171, 249, null, null],
|
||||||
|
[0, "신의", null, 0, null, 55, 59, 60, 0, 190, 252, null, null],
|
||||||
|
[0, "신탐", null, 0, null, 56, 62, 54, 0, 188, 254, null, null],
|
||||||
|
[0, "심배", null, 17, "업", 80, 60, 83, 1, 156, 204, null, null],
|
||||||
|
[0, "신비", null, 17, "남피", 39, 24, 79, 1, 171, 240, null, null],
|
||||||
|
[0, "신평", null, 17, "남피", 69, 43, 77, 1, 165, 204, null, null],
|
||||||
|
[0, "진복", null, 0, null, 31, 7, 73, 0, 160, 226, null, null],
|
||||||
|
[0, "진랑", null, 0, null, 58, 70, 35, 0, 192, 234, null, null],
|
||||||
|
[0, "휴고", null, 15, "진양", 63, 71, 38, 1, 151, 199, null, null],
|
||||||
|
[0, "추단", null, 0, null, 61, 64, 34, 0, 144, 193, null, null],
|
||||||
|
[0, "성의", null, 20, "천수", 74, 72, 41, 1, 168, 211, null, null],
|
||||||
|
[0, "성공영", null, 20, "천수", 73, 71, 80, 11, 172, 220, null, null],
|
||||||
|
[0, "설종", null, 0, null, 34, 16, 73, 0, 187, 243, null, null],
|
||||||
|
[0, "선경", null, 4, "북평", 71, 68, 43, 1, 156, 199, null, null],
|
||||||
|
[0, "전종", null, 0, null, 78, 72, 75, 0, 183, 249, null, null],
|
||||||
|
[0, "조예", null, 0, null, 72, 52, 82, 0, 205, 239, null, null],
|
||||||
|
[0, "조휴", null, 2, "진류", 74, 75, 62, 1, 174, 228, null, null],
|
||||||
|
[0, "송헌", null, 3, "복양", 68, 77, 38, 1, 157, 200, null, null],
|
||||||
|
[0, "조앙", null, 2, "진류", 74, 67, 69, 1, 161, 197, null, null],
|
||||||
|
[0, "조홍 자렴", null, 2, "진류", 79, 81, 44, 1, 169, 232, null, null, "좌절감이 사나이를 키우는 것이다!"],
|
||||||
|
[0, "조순", null, 2, "진류", 75, 71, 63, 1, 170, 210, null, null],
|
||||||
|
[0, "조창", null, 0, null, 82, 90, 40, 0, 190, 223, null, null],
|
||||||
|
[0, "조식", null, 0, null, 33, 22, 81, 0, 192, 232, null, null],
|
||||||
|
[0, "조진", null, 0, null, 81, 74, 70, 0, 185, 231, null, null],
|
||||||
|
[0, "조인", null, 2, "진류", 89, 86, 62, 1, 168, 223, null, null],
|
||||||
|
[0, "조성", null, 0, null, 54, 74, 38, 0, 163, 198, null, null],
|
||||||
|
[0, "조조", null, 2, "진류", 99, 72, 91, 12, 151, 220, null, null, "내가 천하 사람들을 저버릴지언정, 천하 사람들이 나를 저버리게 하지는 않을 것이다."],
|
||||||
|
[0, "조충", null, 0, null, 31, 21, 85, 0, 196, 207, null, null],
|
||||||
|
[0, "장패", null, 0, null, 78, 75, 53, 0, 165, 231, null, null],
|
||||||
|
[0, "조비", null, 0, null, 70, 71, 83, 0, 187, 226, null, null],
|
||||||
|
[0, "조표", null, 8, "서주", 66, 69, 32, 1, 151, 196, null, null],
|
||||||
|
[0, "저수", null, 17, "업", 78, 35, 90, 1, 156, 201, null, null],
|
||||||
|
[0, "소비", null, 0, null, 69, 63, 66, 0, 172, 221, null, null],
|
||||||
|
[0, "조무", null, 0, null, 70, 71, 66, 0, 155, 193, null, null],
|
||||||
|
[0, "손환", null, 0, null, 82, 73, 76, 0, 166, 228, null, null],
|
||||||
|
[0, "손견", null, 0, null, 94, 90, 79, 0, 156, 192, null, null, "내가 옥새를 가지고 있다면 나는 칼과 화살을 맞아 죽을 것이다."],
|
||||||
|
[0, "손건", null, 0, null, 34, 33, 79, 0, 165, 215, null, null],
|
||||||
|
[0, "손권", null, 0, null, 79, 67, 80, 0, 182, 252, null, null],
|
||||||
|
[0, "손교", null, 0, null, 77, 72, 67, 0, 181, 219, null, null],
|
||||||
|
[0, "손책", null, 23, "여강", 96, 92, 74, 12, 175, 200, null, null],
|
||||||
|
[0, "손소", null, 0, null, 80, 79, 76, 0, 188, 241, null, null],
|
||||||
|
[0, "손정", null, 23, "여강", 66, 53, 73, 1, 160, 206, null, null],
|
||||||
|
[0, "손중", null, 0, null, 62, 71, 36, 0, 154, 184, null, null],
|
||||||
|
[0, "손등", null, 0, null, 62, 37, 79, 0, 209, 241, null, null],
|
||||||
|
[0, "손유", null, 0, null, 77, 70, 68, 0, 177, 215, null, null],
|
||||||
|
[0, "손익", null, 0, null, 67, 78, 27, 0, 184, 204, null, null],
|
||||||
|
[0, "손례", null, 0, null, 78, 81, 67, 0, 180, 250, null, null],
|
||||||
|
[0, "태사자", null, 9, "건업", 90, 93, 69, 1, 166, 206, null, null],
|
||||||
|
[0, "대래동주", null, 0, null, 51, 53, 54, 0, 195, 249, null, null],
|
||||||
|
[0, "대릉", null, 0, null, 70, 75, 39, 0, 199, 258, null, null],
|
||||||
|
[0, "타사대왕", null, 0, null, 62, 59, 70, 0, 186, 225, null, null],
|
||||||
|
[0, "담웅", null, 0, null, 58, 73, 14, 0, 188, 221, null, null],
|
||||||
|
[0, "장윤", null, 13, "양양", 72, 67, 42, 1, 163, 208, null, null],
|
||||||
|
[0, "조운", null, 4, "북평", 96, 96, 77, 1, 168, 229, null, null],
|
||||||
|
[0, "장위", null, 14, "한중", 74, 66, 45, 1, 172, 228, null, null, "쌀 다섯 말만 가지고 오시오~ 모두 고쳐드리리다."],
|
||||||
|
[0, "장영", null, 9, "건업", 75, 74, 41, 1, 154, 196, null, null],
|
||||||
|
[0, "장연", null, 15, "진양", 76, 81, 57, 12, 153, 210, null, null],
|
||||||
|
[0, "장횡", null, 9, "건업", 59, 70, 23, 1, 178, 211, null, null],
|
||||||
|
[0, "장온", null, 0, null, 32, 10, 72, 0, 193, 231, null, null],
|
||||||
|
[0, "장개", null, 0, null, 34, 66, 8, 0, 155, 194, null, null],
|
||||||
|
[0, "장각", null, 0, null, 87, 25, 86, 0, 140, 184, null, null],
|
||||||
|
[0, "장기", null, 0, null, 74, 35, 76, 0, 170, 223, null, null],
|
||||||
|
[0, "장의", null, 17, "남피", 79, 72, 75, 1, 153, 215, null, null],
|
||||||
|
[0, "장훈", null, 7, "수춘", 72, 68, 41, 1, 156, 206, null, null],
|
||||||
|
[0, "장굉", null, 23, "여강", 24, 22, 86, 1, 153, 212, null, null],
|
||||||
|
[0, "장합", null, 17, "평원", 89, 89, 73, 1, 167, 231, null, null],
|
||||||
|
[0, "조홍", null, 0, null, 66, 72, 28, 0, 156, 184, null, null],
|
||||||
|
[0, "장제1", null, 1, "홍농", 70, 66, 55, 1, 144, 196, null, null],
|
||||||
|
[0, "장수", null, 1, "홍농", 80, 73, 64, 1, 154, 207, null, null],
|
||||||
|
[0, "장소 자포", null, 23, "여강", 33, 3, 84, 1, 156, 236, null, null],
|
||||||
|
[0, "장송", null, 0, null, 25, 6, 88, 0, 170, 212, null, null],
|
||||||
|
[0, "장임", null, 6, "성도", 84, 84, 78, 1, 169, 214, null, null],
|
||||||
|
[0, "장제", null, 0, null, 67, 43, 80, 0, 236, 280, null, null],
|
||||||
|
[0, "장막", null, 3, "복양", 52, 53, 71, 1, 155, 195, null, null],
|
||||||
|
[0, "조범", null, 0, null, 28, 21, 32, 0, 168, 218, null, null],
|
||||||
|
[0, "장비", null, 8, "하비", 94, 98, 30, 1, 165, 221, null, null],
|
||||||
|
[0, "장포", null, 0, null, 78, 87, 48, 0, 198, 219, null, null],
|
||||||
|
[0, "장보", null, 0, null, 83, 71, 81, 0, 148, 184, null, null],
|
||||||
|
[0, "장만성", null, 0, null, 75, 81, 45, 0, 143, 184, null, null],
|
||||||
|
[0, "장양", null, 5, "진양", 72, 70, 66, 12, 151, 195, null, null],
|
||||||
|
[0, "장익", null, 0, null, 75, 74, 76, 0, 188, 264, null, null],
|
||||||
|
[0, "장료", null, 3, "복양", 95, 92, 78, 1, 169, 222, null, null],
|
||||||
|
[0, "장량", null, 0, null, 78, 80, 74, 0, 153, 184, null, null],
|
||||||
|
[0, "조루", null, 0, null, 70, 43, 68, 0, 183, 219, null, null],
|
||||||
|
[0, "장로", null, 14, "한중", 51, 26, 74, 12, 163, 216, null, null],
|
||||||
|
[0, "진횡", null, 9, "건업", 64, 63, 26, 1, 161, 196, null, null],
|
||||||
|
[0, "진응", null, 0, null, 62, 72, 45, 0, 172, 208, null, null],
|
||||||
|
[0, "진기", null, 7, "수춘", 58, 65, 43, 1, 165, 198, null, null],
|
||||||
|
[0, "진궁", null, 3, "복양", 84, 55, 89, 11, 154, 198, null, null, "조조…그자는 더 이상 내가 감당하기 어려워졌다"],
|
||||||
|
[0, "진교", null, 0, null, 61, 27, 77, 0, 175, 237, null, null],
|
||||||
|
[0, "진군", null, 8, "하비", 32, 14, 75, 11, 167, 236, null, null],
|
||||||
|
[0, "진규", null, 8, "서주", 30, 4, 82, 1, 132, 206, null, null],
|
||||||
|
[0, "진식", null, 0, null, 70, 71, 25, 0, 191, 230, null, null],
|
||||||
|
[0, "진진", null, 0, null, 46, 46, 69, 0, 170, 235, null, null],
|
||||||
|
[0, "진태", null, 0, null, 84, 77, 86, 0, 210, 260, null, null],
|
||||||
|
[0, "진등", null, 8, "하비", 79, 64, 81, 1, 169, 208, null, null],
|
||||||
|
[0, "진도", null, 0, null, 76, 71, 67, 0, 171, 237, null, null],
|
||||||
|
[0, "진무", null, 0, null, 76, 87, 43, 0, 176, 215, null, null],
|
||||||
|
[0, "진란", null, 7, "수춘", 66, 69, 40, 1, 157, 204, null, null],
|
||||||
|
[0, "진림", null, 17, "남피", 25, 9, 75, 1, 160, 217, null, null],
|
||||||
|
[0, "정욱", null, 2, "진류", 70, 49, 90, 1, 141, 220, null, null],
|
||||||
|
[0, "정원지", null, 0, null, 69, 74, 17, 0, 145, 184, null, null],
|
||||||
|
[0, "정은", null, 10, "서량", 69, 73, 40, 1, 184, 220, null, null],
|
||||||
|
[0, "정원", null, 0, null, 70, 76, 35, 0, 137, 189, null, null],
|
||||||
|
[0, "정보", null, 23, "여강", 84, 79, 79, 1, 151, 216, null, null],
|
||||||
|
[0, "정봉승연", null, 0, null, 81, 80, 75, 0, 190, 271, null, null],
|
||||||
|
[0, "전위", null, 0, null, 72, 95, 35, 0, 160, 197, null, null],
|
||||||
|
[0, "전해", null, 4, "북평", 68, 65, 58, 1, 154, 199, null, null],
|
||||||
|
[0, "전주", null, 0, null, 66, 66, 73, 0, 169, 214, null, null],
|
||||||
|
[0, "전풍", null, 17, "업", 72, 29, 93, 11, 162, 200, null, null],
|
||||||
|
[0, "전예", null, 4, "계", 80, 72, 80, 1, 171, 252, null, null],
|
||||||
|
[0, "동윤", null, 0, null, 47, 28, 79, 0, 192, 246, null, null],
|
||||||
|
[0, "동화", null, 0, null, 57, 34, 75, 0, 168, 219, null, null],
|
||||||
|
[0, "등애", null, 0, null, 93, 87, 89, 0, 197, 264, null, null],
|
||||||
|
[0, "도겸", null, 0, null, 51, 27, 64, 0, 132, 194, null, null],
|
||||||
|
[0, "등현", null, 0, null, 61, 73, 45, 0, 188, 248, null, null],
|
||||||
|
[0, "등지", null, 0, null, 73, 52, 81, 0, 178, 251, null, null],
|
||||||
|
[0, "동습", null, 0, null, 72, 85, 50, 0, 169, 215, null, null],
|
||||||
|
[0, "동승", null, 1, "장안", 56, 53, 65, 1, 154, 200, null, null],
|
||||||
|
[0, "동소", null, 5, "하내", 34, 25, 80, 11, 156, 236, null, null],
|
||||||
|
[0, "동탁", null, 0, null, 85, 87, 73, 0, 139, 192, null, null],
|
||||||
|
[0, "동도나", null, 0, null, 68, 73, 31, 0, 189, 225, null, null],
|
||||||
|
[0, "동민", null, 0, null, 49, 60, 25, 0, 149, 192, null, null],
|
||||||
|
[0, "등무", null, 0, null, 61, 75, 29, 0, 147, 184, null, null],
|
||||||
|
[0, "두기", null, 0, null, 66, 32, 75, 0, 163, 224, null, null],
|
||||||
|
[0, "두예", null, 0, null, 84, 30, 85, 0, 222, 284, null, null],
|
||||||
|
[0, "배원소", null, 0, null, 49, 65, 25, 0, 169, 200, null, null],
|
||||||
|
[0, "마완", null, 0, null, 71, 74, 16, 0, 170, 211, null, null],
|
||||||
|
[0, "마휴", null, 0, null, 68, 73, 48, 0, 178, 212, null, null],
|
||||||
|
[0, "파재", null, 0, null, 74, 74, 55, 0, 145, 184, null, null],
|
||||||
|
[0, "마준", null, 0, null, 38, 52, 31, 0, 196, 230, null, null],
|
||||||
|
[0, "마속", null, 0, null, 61, 67, 87, 0, 190, 228, null, null],
|
||||||
|
[0, "마대", null, 0, null, 79, 85, 62, 0, 183, 246, null, null],
|
||||||
|
[0, "마충", null, 0, null, 78, 72, 68, 0, 187, 249, null, null],
|
||||||
|
[0, "마초", null, 0, "서량", 93, 97, 44, 0, 176, 222, null, null],
|
||||||
|
[0, "마철", null, 0, null, 70, 62, 58, 0, 179, 212, null, null],
|
||||||
|
[0, "마등", null, 10, "서량", 82, 80, 52, 12, 149, 212, null, null],
|
||||||
|
[0, "마량", null, 0, null, 53, 23, 88, 0, 187, 222, null, null],
|
||||||
|
[0, "반준", null, 0, null, 61, 18, 83, 0, 174, 239, null, null],
|
||||||
|
[0, "반장", null, 0, null, 76, 80, 74, 0, 177, 234, null, null],
|
||||||
|
[0, "번조", null, 0, null, 66, 73, 31, 0, 149, 192, null, null],
|
||||||
|
[0, "번능", null, 0, null, 69, 61, 36, 0, 158, 195, null, null],
|
||||||
|
[0, "반봉", null, 0, null, 56, 77, 4, 0, 155, 190, null, null],
|
||||||
|
[0, "비의", null, 0, null, 77, 30, 83, 0, 193, 253, null, null],
|
||||||
|
[0, "비연", null, 0, null, 60, 66, 21, 0, 196, 238, null, null],
|
||||||
|
[0, "비시", null, 0, null, 18, 28, 65, 0, 176, 240, null, null],
|
||||||
|
[0, "미축", null, 8, "하비", 33, 29, 78, 1, 165, 220, null, null],
|
||||||
|
[0, "미방", null, 8, "하비", 54, 61, 32, 1, 169, 226, null, null],
|
||||||
|
[0, "비요", null, 0, null, 70, 66, 73, 0, 192, 228, null, null],
|
||||||
|
[0, "무안국", null, 19, "북해", 70, 83, 34, 1, 156, 193, null, null],
|
||||||
|
[0, "풍습", null, 0, null, 72, 71, 39, 0, 182, 222, null, null],
|
||||||
|
[0, "부사인", null, 0, null, 46, 63, 37, 0, 182, 225, null, null],
|
||||||
|
[0, "부첨", null, 0, null, 73, 85, 76, 0, 216, 263, null, null],
|
||||||
|
[0, "부손", null, 0, null, 29, 13, 70, 0, 162, 230, null, null],
|
||||||
|
[0, "문앙", null, 0, null, 76, 93, 65, 0, 238, 291, null, null],
|
||||||
|
[0, "문흠", null, 0, null, 74, 83, 43, 0, 200, 258, null, null],
|
||||||
|
[0, "문추", null, 17, "남피", 89, 93, 47, 1, 169, 200, null, null],
|
||||||
|
[0, "문빙", null, 0, null, 80, 82, 69, 0, 178, 237, null, null],
|
||||||
|
[0, "변희", null, 0, null, 56, 70, 62, 0, 169, 200, null, null],
|
||||||
|
[0, "망아장", null, 0, null, 45, 79, 3, 0, 191, 225, null, null],
|
||||||
|
[0, "봉기", null, 17, "남피", 43, 21, 84, 1, 153, 202, null, null],
|
||||||
|
[0, "방희", null, 0, null, 60, 38, 69, 0, 152, 192, null, null],
|
||||||
|
[0, "법정", null, 0, null, 82, 47, 94, 0, 176, 220, null, null],
|
||||||
|
[0, "방통", null, 0, null, 85, 34, 97, 0, 178, 213, null, null],
|
||||||
|
[0, "방덕", null, 10, "서량", 89, 94, 75, 11, 170, 219, null, null],
|
||||||
|
[0, "포륭", null, 0, null, 58, 76, 49, 0, 174, 208, null, null],
|
||||||
|
[0, "목순", null, 0, null, 52, 77, 11, 0, 157, 190, null, null],
|
||||||
|
[0, "목록대왕", null, 0, null, 65, 71, 39, 0, 184, 225, null, null],
|
||||||
|
[0, "보즐", null, 0, null, 72, 51, 84, 0, 177, 247, null, null],
|
||||||
|
[0, "만총", null, 0, null, 84, 64, 82, 0, 170, 242, null, null],
|
||||||
|
[0, "모개", null, 0, null, 63, 39, 60, 0, 161, 216, null, null],
|
||||||
|
[0, "맹획", null, 0, null, 87, 87, 42, 0, 186, 245, null, null],
|
||||||
|
[0, "맹달", null, 0, null, 75, 73, 75, 0, 172, 228, null, null],
|
||||||
|
[0, "맹우", null, 0, null, 50, 68, 22, 0, 190, 243, null, null],
|
||||||
|
[0, "유섭", null, 7, "완", 62, 79, 24, 1, 158, 190, null, null],
|
||||||
|
[0, "양부2", null, 0, null, 62, 68, 68, 0, 167, 212, null, null],
|
||||||
|
[0, "옹개", null, 0, null, 73, 75, 57, 0, 188, 225, null, null],
|
||||||
|
[0, "양의", null, 0, null, 68, 40, 82, 0, 190, 235, null, null],
|
||||||
|
[0, "양호", null, 0, null, 90, 64, 84, 0, 221, 278, null, null],
|
||||||
|
[0, "양홍", null, 7, "완", 33, 15, 77, 1, 152, 199, null, null],
|
||||||
|
[0, "양앙", null, 0, null, 68, 72, 38, 0, 172, 215, null, null],
|
||||||
|
[0, "양추1", null, 0, null, 52, 65, 40, 0, 159, 199, null, null],
|
||||||
|
[0, "양수", null, 0, null, 25, 4, 83, 0, 175, 219, null, null],
|
||||||
|
[0, "양추2", null, 0, null, 67, 64, 60, 0, 172, 238, null, null],
|
||||||
|
[0, "양송", null, 0, null, 1, 5, 28, 0, 167, 215, null, null],
|
||||||
|
[0, "양임", null, 14, "한중", 70, 78, 56, 1, 170, 215, null, null],
|
||||||
|
[0, "양조", null, 0, null, 53, 61, 36, 0, 223, 286, null, null],
|
||||||
|
[0, "양백", null, 14, "한중", 44, 45, 19, 1, 171, 214, null, null],
|
||||||
|
[0, "양부1", null, 0, null, 67, 50, 83, 0, 178, 239, null, null],
|
||||||
|
[0, "양봉1", null, 0, null, 66, 65, 31, 0, 153, 197, null, null],
|
||||||
|
[0, "양봉2", null, 0, null, 54, 62, 53, 0, 191, 252, null, null],
|
||||||
|
[0, "뇌동", null, 0, null, 69, 78, 51, 0, 172, 218, null, null],
|
||||||
|
[0, "뇌박", null, 7, "수춘", 62, 70, 36, 1, 157, 206, null, null],
|
||||||
|
[0, "이이", null, 0, null, 63, 77, 19, 0, 187, 222, null, null],
|
||||||
|
[0, "이회", null, 0, null, 79, 65, 79, 0, 175, 231, null, null],
|
||||||
|
[0, "이각", null, 1, "장안", 69, 72, 24, 12, 148, 198, null, null],
|
||||||
|
[0, "육항", null, 0, null, 91, 63, 87, 0, 226, 274, null, null],
|
||||||
|
[0, "육적", null, 0, null, 20, 7, 72, 0, 187, 219, null, null],
|
||||||
|
[0, "육손", null, 0, null, 94, 69, 95, 0, 183, 245, null, null],
|
||||||
|
[0, "이엄", null, 0, null, 83, 84, 76, 0, 172, 234, null, null],
|
||||||
|
[0, "이유", null, 0, null, 61, 26, 93, 0, 150, 192, null, null, "장안으로 천도를 하는것이 어떻겠습니까?"],
|
||||||
|
[0, "이숙", null, 0, null, 46, 69, 61, 0, 156, 192, null, null],
|
||||||
|
[0, "이통", null, 0, "여남", 73, 83, 62, 0, 168, 209, null, null],
|
||||||
|
[0, "이전", null, 0, null, 78, 77, 79, 0, 181, 216, null, null],
|
||||||
|
[0, "이풍", null, 7, "수춘", 69, 74, 50, 1, 158, 199, null, null],
|
||||||
|
[0, "유언", null, 0, null, 53, 38, 80, 0, 132, 194, null, null],
|
||||||
|
[0, "유괴", null, 6, "성도", 71, 73, 67, 1, 165, 214, null, null],
|
||||||
|
[0, "유기", null, 13, "양양", 52, 12, 63, 1, 174, 210, null, null],
|
||||||
|
[0, "유우", null, 0, null, 55, 33, 70, 0, 145, 193, null, null],
|
||||||
|
[0, "유훈", null, 7, "수춘", 47, 63, 35, 1, 163, 216, null, null],
|
||||||
|
[0, "유현", null, 0, null, 54, 66, 51, 0, 188, 252, null, null],
|
||||||
|
[0, "유순", null, 0, null, 63, 46, 41, 0, 172, 255, null, null],
|
||||||
|
[0, "유장", null, 6, "성도", 31, 5, 34, 12, 162, 219, null, null],
|
||||||
|
[0, "유심", null, 0, null, 60, 62, 70, 0, 238, 264, null, null],
|
||||||
|
[0, "유선", null, 0, null, 3, 5, 9, 0, 208, 270, null, null],
|
||||||
|
[0, "유종", null, 0, null, 24, 22, 65, 0, 195, 220, null, null],
|
||||||
|
[0, "유도", null, 0, null, 25, 23, 26, 0, 168, 214, null, null],
|
||||||
|
[0, "유파", null, 0, null, 29, 22, 75, 0, 186, 222, null, null],
|
||||||
|
[0, "유반", null, 0, null, 69, 76, 47, 0, 168, 210, null, null],
|
||||||
|
[0, "유비", null, 8, "하비", 81, 77, 80, 12, 161, 223, null, null],
|
||||||
|
[0, "유표1", null, 13, "양양", 48, 31, 72, 1, 142, 208, null, null, "강하 팔준에서 제일가는 이 유표에게로 오시오!"],
|
||||||
|
[0, "유복", null, 0, null, 64, 49, 74, 0, 164, 208, null, null],
|
||||||
|
[0, "유벽", null, 24, "여남", 70, 72, 47, 12, 145, 201, null, null],
|
||||||
|
[0, "유봉", null, 0, null, 75, 79, 44, 0, 188, 220, null, null],
|
||||||
|
[0, "유엽", null, 0, null, 56, 32, 92, 0, 176, 235, null, null],
|
||||||
|
[0, "유요", null, 9, "건업", 62, 67, 46, 12, 156, 198, null, null],
|
||||||
|
[0, "여위황", null, 17, "남피", 58, 63, 29, 1, 159, 200, null, null],
|
||||||
|
[0, "요화", null, 0, null, 73, 76, 69, 0, 168, 264, null, null],
|
||||||
|
[0, "양흥", null, 10, "서량", 61, 65, 19, 1, 169, 211, null, null],
|
||||||
|
[0, "양습", null, 0, null, 73, 40, 74, 0, 168, 230, null, null],
|
||||||
|
[0, "양서", null, 0, null, 56, 62, 66, 0, 198, 260, null, null],
|
||||||
|
[0, "능조", null, 0, null, 75, 81, 42, 0, 168, 203, null, null],
|
||||||
|
[0, "능통", null, 0, null, 77, 89, 60, 0, 189, 217, null, null],
|
||||||
|
[0, "여개", null, 0, null, 53, 30, 67, 0, 194, 227, null, null],
|
||||||
|
[0, "여건", null, 2, "진류", 57, 70, 62, 1, 173, 238, null, null],
|
||||||
|
[0, "여광", null, 0, null, 56, 70, 13, 0, 162, 207, null, null],
|
||||||
|
[0, "여상", null, 0, null, 54, 71, 12, 0, 164, 207, null, null],
|
||||||
|
[0, "여대", null, 0, null, 75, 71, 70, 0, 161, 256, null, null],
|
||||||
|
[0, "여범", null, 0, null, 73, 63, 75, 0, 169, 228, null, null],
|
||||||
|
[0, "여포", null, 3, "복양", 97, 100, 26, 12, 156, 198, null, null, "크하하하 다 부숴 버리겠다!"],
|
||||||
|
[0, "여몽", null, 0, null, 82, 81, 20, 0, 178, 219, null, null],
|
||||||
|
[0, "윤직", null, 0, null, 46, 42, 73, 0, 196, 237, null, null],
|
||||||
|
[0, "냉포", null, 0, null, 71, 82, 61, 0, 176, 214, null, null],
|
||||||
|
[0, "진취", null, 13, "강하", 56, 63, 45, 1, 174, 208, null, null],
|
||||||
|
[0, "노숙", null, 0, null, 84, 56, 92, 0, 172, 217, null, null],
|
||||||
|
[0, "노식", null, 0, null, 86, 63, 82, 0, 139, 192, null, null],
|
||||||
|
[0, "범강", null, 0, null, 49, 50, 36, 0, 174, 222, null, null],
|
||||||
|
[0, "장달", null, 0, null, 43, 56, 34, 0, 175, 222, null, null],
|
||||||
|
[0, "규람", null, 0, null, 55, 70, 58, 0, 165, 204, null, null],
|
||||||
|
[0, "대원", null, 0, null, 38, 32, 68, 0, 166, 204, null, null],
|
||||||
|
[0, "왕기", null, 0, null, 77, 72, 86, 0, 190, 261, null, null],
|
||||||
|
[0, "왕상", null, 0, null, 23, 19, 68, 0, 180, 268, null, null],
|
||||||
|
[0, "왕돈", null, 0, null, 60, 66, 46, 0, 198, 256, null, null],
|
||||||
|
[0, "악침", null, 0, null, 73, 75, 43, 0, 196, 257, null, null],
|
||||||
|
[0, "하제", null, 0, null, 83, 70, 82, 0, 171, 227, null, null],
|
||||||
|
[0, "환범", null, 0, null, 40, 11, 78, 0, 199, 249, null, null],
|
||||||
|
[0, "견초", null, 17, "남피", 72, 79, 73, 1, 168, 244, null, null],
|
||||||
|
[0, "강경", null, 0, null, 69, 64, 54, 0, 178, 212, null, null],
|
||||||
|
[0, "오찬", null, 0, null, 68, 41, 78, 0, 181, 245, null, null],
|
||||||
|
[0, "호질", null, 0, null, 73, 46, 74, 0, 192, 250, null, null],
|
||||||
|
[0, "오질", null, 0, null, 16, 29, 68, 0, 177, 230, null, null],
|
||||||
|
[0, "호준", null, 0, null, 79, 76, 62, 0, 200, 256, null, null],
|
||||||
|
[0, "고담", null, 0, null, 53, 23, 77, 0, 203, 244, null, null],
|
||||||
|
[0, "최림", null, 0, null, 32, 22, 66, 0, 187, 244, null, null],
|
||||||
|
[0, "사마망", null, 0, null, 78, 58, 83, 0, 205, 271, null, null],
|
||||||
|
[0, "주이", null, 0, null, 70, 73, 61, 0, 201, 257, null, null],
|
||||||
|
[0, "전단", null, 0, null, 67, 64, 39, 0, 204, 261, null, null],
|
||||||
|
[0, "조우", null, 0, null, 50, 43, 37, 0, 199, 278, null, null],
|
||||||
|
[0, "조상", null, 0, null, 39, 33, 30, 0, 207, 249, null, null],
|
||||||
|
[0, "조방", null, 0, null, 20, 14, 27, 0, 232, 274, null, null],
|
||||||
|
[0, "태사향", null, 0, null, 57, 66, 48, 0, 189, 246, null, null],
|
||||||
|
[0, "장휴", null, 0, null, 63, 27, 74, 0, 204, 244, null, null],
|
||||||
|
[0, "장호", null, 0, null, 75, 74, 51, 0, 195, 240, null, null],
|
||||||
|
[0, "조광", null, 0, null, 67, 71, 53, 0, 210, 263, null, null],
|
||||||
|
[0, "장집", null, 0, null, 76, 29, 80, 0, 196, 254, null, null],
|
||||||
|
[0, "장승", null, 0, null, 77, 70, 75, 0, 178, 244, null, null],
|
||||||
|
[0, "장소", null, 0, null, 23, 56, 31, 0, 202, 264, null, null],
|
||||||
|
[0, "조통", null, 0, null, 68, 67, 61, 0, 209, 260, null, null],
|
||||||
|
[0, "진표", null, 0, null, 66, 42, 74, 0, 207, 237, null, null],
|
||||||
|
[0, "정무", null, 0, null, 56, 35, 75, 0, 201, 265, null, null],
|
||||||
|
[0, "정봉", null, 0, null, 66, 66, 53, 0, 198, 266, null, null],
|
||||||
|
[0, "전만", null, 0, null, 51, 73, 39, 0, 181, 235, null, null],
|
||||||
|
[0, "마균", null, 0, null, 22, 17, 71, 0, 200, 259, null, null],
|
||||||
|
[0, "방회", null, 0, null, 69, 75, 49, 0, 205, 272, null, null],
|
||||||
|
[0, "서구", null, 0, null, 69, 42, 70, 0, 149, 208, null, null],
|
||||||
|
[0, "육개", null, 0, null, 65, 61, 79, 0, 198, 269, null, null],
|
||||||
|
[0, "유찬", null, 0, null, 78, 81, 64, 0, 172, 255, null, null],
|
||||||
|
[0, "유소", null, 0, null, 68, 53, 74, 0, 195, 264, null, null],
|
||||||
|
[0, "요립", null, 0, null, 32, 15, 76, 0, 181, 250, null, null],
|
||||||
|
[0, "여거", null, 0, null, 78, 69, 71, 0, 196, 256, null, null],
|
||||||
|
[0, "제갈첨", null, 0, null, 70, 57, 76, 0, 227, 263, null, null],
|
||||||
|
[0, "손휴", null, 0, null, 57, 42, 78, 0, 235, 264, null, null],
|
||||||
|
[0, "극정", null, 0, null, 42, 23, 68, 0, 208, 278, null, null],
|
||||||
|
[0, "호분", null, 0, null, 71, 76, 50, 0, 222, 288, null, null],
|
||||||
|
[0, "손량", null, 0, null, 32, 26, 70, 0, 243, 260, null, null],
|
||||||
|
[0, "마막", null, 0, null, 34, 12, 44, 0, 221, 266, null, null],
|
||||||
|
[0, "손호", null, 0, null, 41, 73, 71, 0, 242, 284, null, null],
|
||||||
|
[0, "조모", null, 0, null, 54, 61, 59, 0, 241, 260, null, null],
|
||||||
|
[0, "조환", null, 0, null, 30, 28, 30, 0, 246, 302, null, null],
|
||||||
|
[0, "사마유", null, 0, null, 71, 68, 75, 0, 248, 283, null, null],
|
||||||
|
[0, "제갈상", null, 0, null, 64, 79, 62, 0, 246, 263, null, null],
|
||||||
|
[0, "손화", null, 0, null, 31, 39, 68, 0, 224, 253, null, null],
|
||||||
|
[0, "염우", null, 0, null, 52, 61, 51, 0, 209, 264, null, null],
|
||||||
|
[0, "왕경", null, 0, null, 67, 63, 71, 0, 206, 260, null, null],
|
||||||
|
[0, "왕혼", null, 0, null, 74, 71, 63, 0, 223, 297, null, null],
|
||||||
|
[0, "곽혁", null, 0, null, 33, 29, 70, 0, 187, 225, null, null],
|
||||||
|
[0, "가범", null, 0, null, 60, 62, 73, 0, 202, 237, null, null],
|
||||||
|
[0, "서질", null, 0, null, 68, 83, 24, 0, 207, 253, null, null],
|
||||||
|
[0, "손준", null, 0, null, 64, 70, 65, 0, 219, 256, null, null],
|
||||||
|
[0, "손침", null, 0, null, 58, 55, 65, 0, 231, 258, null, null],
|
||||||
|
[0, "우사", null, 0, null, 61, 34, 74, 0, 217, 273, null, null],
|
||||||
|
[0, "진건", null, 0, null, 72, 71, 65, 0, 214, 292, null, null],
|
||||||
|
[0, "동궐", null, 0, null, 65, 59, 76, 0, 204, 271, null, null],
|
||||||
|
[0, "당자", null, 0, null, 61, 71, 50, 0, 196, 265, null, null],
|
||||||
|
[0, "등충", null, 0, null, 76, 86, 69, 0, 230, 264, null, null],
|
||||||
|
[0, "황숭", null, 0, null, 67, 63, 72, 0, 208, 263, null, null],
|
||||||
|
[0, "화핵", null, 0, null, 20, 24, 71, 0, 217, 278, null, null],
|
||||||
|
[0, "허의", null, 0, null, 51, 74, 15, 0, 213, 263, null, null],
|
||||||
|
[0, "송겸", null, 0, null, 66, 78, 42, 0, 175, 227, null, null],
|
||||||
|
[0, "호제", null, 0, null, 57, 39, 68, 0, 207, 264, null, null],
|
||||||
|
[0, "나헌", null, 0, null, 85, 70, 77, 0, 218, 270, null, null],
|
||||||
|
[0, "아들노숙", null, 0, null, 73, 53, 74, 0, 217, 272, null, null],
|
||||||
|
[0, "구성", null, 0, null, 63, 70, 38, 0, 157, 187, null, null],
|
||||||
|
[0, "어부라", null, 0, null, 72, 68, 21, 0, 150, 195, null, null],
|
||||||
|
[0, "아하소과", null, 0, null, 61, 76, 13, 0, 204, 253, null, null],
|
||||||
|
[0, "가비능", null, 0, null, 77, 69, 52, 0, 172, 235, null, null],
|
||||||
|
[0, "구력거", null, 0, null, 80, 68, 56, 0, 152, 193, null, null],
|
||||||
|
[0, "강단", null, 0, null, 65, 83, 48, 0, 168, 234, null, null],
|
||||||
|
[0, "황란", null, 0, null, 63, 75, 44, 0, 200, 264, null, null],
|
||||||
|
[0, "호주천", null, 0, null, 70, 71, 40, 0, 169, 230, null, null],
|
||||||
|
[0, "종리목", null, 0, null, 80, 72, 73, 0, 214, 269, null, null],
|
||||||
|
[0, "제갈교", null, 0, null, 62, 27, 75, 0, 204, 228, null, null],
|
||||||
|
[0, "답돈", null, 0, null, 84, 82, 61, 0, 158, 207, null, null],
|
||||||
|
[0, "반임", null, 0, null, 66, 79, 38, 0, 168, 225, null, null],
|
||||||
|
[0, "보도근", null, 0, null, 64, 73, 50, 0, 170, 233, null, null],
|
||||||
|
[0, "미당대왕", null, 0, null, 59, 69, 21, 0, 202, 260, null, null],
|
||||||
|
[0, "유표(흉노)", null, 0, null, 73, 74, 48, 0, 173, 252, null, null],
|
||||||
|
[0, "루반", null, 0, null, 65, 76, 39, 0, 178, 207, null, null],
|
||||||
|
[0, "손관", null, 0, null, 72, 78, 51, 0, 166, 217, null, null],
|
||||||
|
[0, "곽석", null, 0, null, 59, 71, 48, 0, 158, 187, null, null],
|
||||||
|
[0, "주조", null, 0, null, 63, 68, 26, 0, 152, 187, null, null],
|
||||||
|
[0, "장거", null, 0, null, 79, 75, 56, 0, 150, 188, null, null],
|
||||||
|
[0, "장순", null, 0, null, 73, 81, 60, 0, 152, 188, null, null],
|
||||||
|
[0, "해니", null, 0, null, 62, 78, 35, 0, 191, 233, null, null],
|
||||||
|
[0, "토안", null, 0, null, 53, 82, 30, 0, 191, 233, null, null],
|
||||||
|
[0, "유주", null, 0, null, 67, 78, 42, 0, 172, 233, null, null],
|
||||||
|
[0, "비잔", null, 0, null, 60, 71, 51, 0, 181, 216, null, null],
|
||||||
|
[0, "월길", null, 0, null, 81, 88, 26, 0, 190, 227, null, null],
|
||||||
|
[0, "아단", null, 0, null, 72, 65, 78, 0, 186, 259, null, null],
|
||||||
|
[0, "철리길", null, 0, null, 77, 70, 52, 0, 179, 259, null, null],
|
||||||
|
[0, "주삭", null, 0, null, 54, 60, 50, 0, 174, 253, null, null],
|
||||||
|
[0, "왕이", null, 0, null, 87, 59, 77, 0, 171, 230, null, null],
|
||||||
|
[0, "왕원희", null, 0, null, 53, 37, 73, 0, 217, 268, null, null],
|
||||||
|
[0, "곽씨", null, 0, null, 42, 4, 55, 0, 184, 235, null, null],
|
||||||
|
[0, "하후씨", null, 0, null, 34, 13, 42, 0, 188, 243, null, null],
|
||||||
|
[0, "하후령녀", null, 0, null, 22, 33, 60, 0, 207, 257, null, null],
|
||||||
|
[0, "하씨", null, 0, null, 51, 14, 67, 0, 150, 189, null, null],
|
||||||
|
[0, "관은병", null, 0, null, 87, 84, 75, 0, 204, 271, null, null],
|
||||||
|
[0, "감씨", null, 8, "서주", 14, 10, 44, 1, 175, 210, null, null],
|
||||||
|
[0, "황월영", null, 0, null, 62, 33, 90, 0, 186, 235, null, null],
|
||||||
|
[0, "채염", null, 0, null, 53, 14, 80, 0, 168, 224, null, null],
|
||||||
|
[0, "채씨", null, 13, "양양", 38, 7, 70, 1, 159, 212, null, null],
|
||||||
|
[0, "소교", null, 0, null, 40, 3, 70, 0, 178, 212, null, null],
|
||||||
|
[0, "서씨", null, 0, null, 48, 16, 80, 0, 183, 232, null, null],
|
||||||
|
[0, "신헌영", null, 0, null, 48, 28, 84, 0, 191, 269, null, null],
|
||||||
|
[0, "견씨", null, 0, null, 42, 18, 74, 0, 182, 221, null, null],
|
||||||
|
[0, "추씨", null, 1, "홍농", 4, 9, 66, 1, 165, 200, null, null],
|
||||||
|
[0, "조절", null, 0, null, 32, 33, 79, 0, 190, 260, null, null],
|
||||||
|
[0, "손씨", null, 0, null, 32, 14, 55, 0, 188, 250, null, null],
|
||||||
|
[0, "손상향", null, 0, null, 77, 82, 55, 0, 193, 222, null, null],
|
||||||
|
[0, "손노육", null, 0, null, 52, 10, 66, 0, 204, 253, null, null],
|
||||||
|
[0, "손노반", null, 0, null, 17, 15, 80, 0, 202, 258, null, null],
|
||||||
|
[0, "대교", null, 0, null, 33, 30, 66, 0, 177, 215, null, null],
|
||||||
|
[0, "장씨", null, 0, null, 55, 35, 66, 0, 207, 237, null, null],
|
||||||
|
[0, "장춘화", null, 0, null, 66, 29, 77, 0, 179, 234, null, null],
|
||||||
|
[0, "초선", null, 0, null, 42, 18, 81, 0, 176, 230, null, null],
|
||||||
|
[0, "번씨", null, 0, null, 6, 12, 50, 0, 183, 225, null, null],
|
||||||
|
[0, "미씨", null, 0, null, 13, 6, 72, 0, 176, 208, null, null],
|
||||||
|
[0, "변씨", null, 0, null, 30, 23, 55, 0, 160, 230, null, null],
|
||||||
|
[0, "보련사", null, 0, null, 45, 30, 77, 0, 198, 248, null, null],
|
||||||
|
[0, "유씨", null, 17, "업", 8, 8, 44, 1, 164, 215, null, null],
|
||||||
|
[0, "화만", null, 0, null, 85, 92, 40, 0, 191, 233, null, null],
|
||||||
|
[0, "포삼낭", null, 0, null, 87, 83, 36, 0, 191, 240, null, null],
|
||||||
|
[0, "성렴", null, 3, "복양", 66, 72, 43, 1, 168, 199, null, null],
|
||||||
|
[0, "위월", null, 3, "복양", 68, 76, 39, 1, 170, 199, null, null],
|
||||||
|
[0, "진의록", null, 3, "복양", 46, 43, 17, 1, 168, 199, null, null],
|
||||||
|
[0, "채옹", null, 0, null, 27, 16, 81, 0, 133, 192, null, null],
|
||||||
|
[0, "지양군", null, 0, null, 13, 8, 55, 0, 103, 192, null, null],
|
||||||
|
[0, "위소", null, 0, null, 21, 23, 65, 0, 204, 273, null, null],
|
||||||
|
[0, "위강", null, 0, null, 58, 35, 56, 0, 168, 213, null, null],
|
||||||
|
[0, "원요", null, 0, null, 28, 41, 50, 0, 177, 206, null, null],
|
||||||
|
[0, "왕기2", null, 0, null, 69, 67, 61, 0, 217, 281, null, null],
|
||||||
|
[0, "원환", null, 0, null, 30, 17, 72, 0, 165, 225, null, null],
|
||||||
|
[0, "우전", null, 0, null, 64, 76, 40, 0, 204, 258, null, null],
|
||||||
|
[0, "왕광", null, 0, null, 33, 65, 55, 0, 150, 190, null, null],
|
||||||
|
[0, "왕업", null, 0, null, 33, 6, 66, 0, 220, 280, null, null],
|
||||||
|
[0, "왕융", null, 0, null, 40, 57, 68, 0, 234, 305, null, null],
|
||||||
|
[0, "왕충", null, 0, null, 46, 39, 57, 0, 152, 214, null, null],
|
||||||
|
[0, "위풍", null, 0, null, 52, 23, 72, 0, 182, 219, null, null],
|
||||||
|
[0, "구건", null, 0, null, 39, 52, 65, 0, 239, 272, null, null],
|
||||||
|
[0, "구본", null, 0, null, 50, 41, 67, 0, 232, 269, null, null],
|
||||||
|
[0, "동백", null, 0, null, 12, 7, 52, 0, 173, 192, null, null],
|
||||||
|
[0, "마운", null, 0, null, 78, 88, 53, 0, 183, 225, null, null],
|
||||||
|
[0, "사섭", null, 18, "교지", 53, 31, 76, 12, 137, 226, null, null],
|
||||||
|
[0, "사지", null, 18, "교지", 58, 51, 52, 1, 163, 227, null, null],
|
||||||
|
[0, "사휘", null, 18, "남해", 69, 64, 44, 1, 165, 227, null, null],
|
||||||
|
[0, "사일", null, 18, "남해", 48, 36, 67, 1, 153, 230, null, null],
|
||||||
|
[0, "사광", null, 18, "교지", 58, 45, 64, 1, 175, 235, null, null],
|
||||||
|
[0, "후음", null, 0, null, 76, 72, 45, 0, 184, 219, null, null],
|
||||||
|
[0, "공주", null, 0, null, 26, 16, 68, 0, 151, 191, null, null],
|
||||||
|
[0, "고담륭", null, 0, null, 35, 24, 76, 0, 190, 251, null, null],
|
||||||
|
[0, "국연", null, 0, null, 50, 19, 77, 0, 160, 219, null, null],
|
||||||
|
[0, "오언", null, 0, null, 74, 72, 77, 0, 235, 297, null, null],
|
||||||
|
[0, "오강", null, 0, null, 48, 38, 65, 0, 216, 275, null, null],
|
||||||
|
[0, "최염", null, 0, null, 18, 55, 77, 0, 162, 216, null, null],
|
||||||
|
[0, "좌혁", null, 0, null, 62, 66, 51, 0, 232, 280, null, null],
|
||||||
|
[0, "차주", null, 0, null, 49, 49, 40, 0, 164, 199, null, null],
|
||||||
|
[0, "주태", null, 0, null, 71, 64, 71, 0, 207, 261, null, null],
|
||||||
|
[0, "북궁백옥", null, 0, null, 66, 72, 49, 0, 146, 187, null, null],
|
||||||
|
[0, "변장", null, 0, null, 69, 56, 47, 0, 133, 187, null, null],
|
||||||
|
[0, "순의", null, 0, null, 16, 13, 72, 0, 207, 274, null, null],
|
||||||
|
[0, "서진순욱", null, 0, null, 8, 19, 77, 0, 225, 289, null, null],
|
||||||
|
[0, "사마준", null, 0, null, 85, 82, 80, 0, 232, 286, null, null],
|
||||||
|
[0, "종육", null, 0, null, 32, 12, 71, 0, 223, 263, null, null],
|
||||||
|
[0, "초이", null, 0, null, 62, 69, 63, 0, 219, 266, null, null],
|
||||||
|
[0, "제갈정", null, 0, null, 58, 63, 66, 0, 246, 300, null, null],
|
||||||
|
[0, "보협", null, 0, null, 62, 49, 53, 0, 216, 264, null, null],
|
||||||
|
[0, "복양흥", null, 0, null, 32, 70, 65, 0, 224, 264, null, null],
|
||||||
|
[0, "보천", null, 0, null, 71, 60, 71, 0, 222, 272, null, null],
|
||||||
|
[0, "유대연주", null, 0, null, 53, 32, 55, 0, 148, 192, null, null],
|
||||||
|
[0, "유대", null, 2, "진류", 63, 58, 30, 1, 155, 202, null, null],
|
||||||
|
[0, "유승", null, 0, null, 45, 65, 33, 0, 215, 258, null, null],
|
||||||
|
[0, "여영기", null, 0, null, 79, 88, 37, 0, 182, 198, null, null],
|
||||||
|
[0, "독발수기능", null, 0, null, 89, 93, 77, 0, 232, 279, null, null],
|
||||||
|
[0, "진수", null, 0, null, 12, 22, 68, 0, 233, 297, null, null],
|
||||||
|
[0, "마륭", null, 0, null, 84, 75, 76, 0, 231, 296, null, null],
|
||||||
|
[0, "도황", null, 0, null, 76, 68, 72, 0, 232, 290, null, null],
|
||||||
|
[0, "진온", null, 0, null, 60, 38, 48, 0, 167, 192, null, null],
|
||||||
|
[0, "교모", null, 0, null, 54, 45, 69, 0, 137, 190, null, null],
|
||||||
|
[0, "교국로", null, 0, null, 38, 17, 55, 0, 150, 220, null, null],
|
||||||
|
[0, "포신", null, 0, null, 77, 67, 81, 0, 152, 192, null, null],
|
||||||
|
[0, "포훈", null, 0, null, 41, 35, 75, 0, 180, 226, null, null],
|
||||||
|
[0, "포도", null, 0, null, 57, 70, 43, 0, 159, 190, null, null],
|
||||||
|
[0, "위자", null, 0, null, 58, 38, 62, 0, 150, 190, null, null],
|
||||||
|
[0, "유화", null, 17, "남피", 21, 16, 59, 1, 165, 216, null, null],
|
||||||
|
[0, "이이자", null, 4, "북평", 32, 18, 48, 1, 157, 199, null, null],
|
||||||
|
[0, "선우보", null, 0, null, 74, 69, 65, 0, 161, 229, null, null],
|
||||||
|
[0, "원유", null, 0, null, 57, 39, 73, 0, 150, 193, null, null],
|
||||||
|
[0, "사마휘", null, 0, null, 21, 8, 92, 0, 173, 208, "은둔", null, "좋지~좋아"],
|
||||||
|
[0, "화타", null, 0, null, 8, 7, 68, 0, 173, 207, "은둔", "의술"],
|
||||||
|
[0, "관로", null, 0, null, 13, 9, 72, 0, 200, 233, "은둔", null],
|
||||||
|
[0, "예형", null, 0, null, 13, 4, 90, 0, 173, 199, null, null],
|
||||||
|
[0, "원혁", null, 7, "수춘", 18, 18, 18, 1, 180, 246, null, null],
|
||||||
|
[0, "헌제", null, 1, "장안", 23, 17, 66, 1, 184, 234, null, null, "한 황실은 이대로 끝나는 것인가…"],
|
||||||
|
[0, "황완", null, 0, null, 40, 34, 71, 0, 141, 192, null, null],
|
||||||
|
[0, "마일제", null, 0, "수춘", 43, 25, 70, 0, 130, 194, null, null],
|
||||||
|
[0, "유총", null, 22, "여남", 82, 45, 60, 12, 151, 197, null, null],
|
||||||
|
[0, "낙준", null, 22, "여남", 51, 37, 66, 11, 152, 197, null, null],
|
||||||
|
[0, "낙통", null, 0, null, 76, 57, 73, 0, 193, 228, null, null],
|
||||||
|
[0, "허소", null, 9, "건업", 46, 11, 82, 11, 150, 196, null, null, "태사자는 배신의 상이요! 쓰면 배신을 할것이오"],
|
||||||
|
[0, "허사", null, 3, "복양", 24, 20, 60, 1, 163, 199, null, null],
|
||||||
|
[0, "장초", null, 3, "복양", 61, 32, 60, 1, 168, 196, null, null],
|
||||||
|
[0, "양표", null, 1, "장안", 24, 20, 60, 1, 142, 225, null, null],
|
||||||
|
[0, "왕필", null, 2, "진류", 53, 44, 59, 1, 170, 228, null, null],
|
||||||
|
[0, "사환", null, 2, "진류", 70, 71, 45, 1, 173, 209, null, null],
|
||||||
|
[0, "정비", null, 2, "진류", 34, 30, 57, 1, 158, 214, null, null],
|
||||||
|
[0, "두씨", null, 3, "복양", 26, 41, 52, 1, 172, 236, null, null],
|
||||||
|
[0, "누규", null, 13, "양양", 58, 40, 87, 1, 143, 212, null, null],
|
||||||
|
[0, "단외", null, 1, "장안", 55, 48, 55, 1, 148, 209, null, null],
|
||||||
|
[0, "원사", null, 7, "수춘", 65, 43, 78, 1, 159, 210, null, null],
|
||||||
|
[0, "사의관", null, 7, "수춘", 22, 12, 67, 1, 168, 199, null, null],
|
||||||
|
[0, "송건", null, 0, null, 66, 77, 40, 0, 164, 214, null, null],
|
||||||
|
[0, "곽원", null, 17, "업", 66, 73, 36, 1, 162, 205, null, null],
|
||||||
|
[0, "소유", null, 17, "업", 51, 59, 48, 1, 167, 210, null, null],
|
||||||
|
[0, "주한", null, 17, "남피", 49, 51, 26, 1, 162, 204, null, null],
|
||||||
|
[0, "뇌서", null, 0, null, 68, 65, 34, 0, 170, 212, null, null],
|
||||||
|
[0, "장홍", null, 3, "복양", 72, 81, 65, 1, 164, 196, null, null],
|
||||||
|
[0, "유위대", null, 4, "북평", 53, 44, 62, 1, 152, 199, null, null],
|
||||||
|
[0, "문칙", null, 4, "계", 59, 53, 32, 1, 164, 199, null, null],
|
||||||
|
[0, "습진", null, 0, null, 64, 68, 51, 0, 189, 221, null, null],
|
||||||
|
[0, "습정", null, 0, null, 49, 29, 70, 0, 181, 229, null, null],
|
||||||
|
[0, "이리", null, 1, "장안", 65, 72, 37, 1, 171, 198, null, null]
|
||||||
|
],
|
||||||
|
"general_ex":[
|
||||||
|
],
|
||||||
|
"cities":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"history":[
|
||||||
|
"<C>●</>195년 1월:<L><b>【역사모드3-2】</b>군욱축록</>",
|
||||||
|
"<C>●</>195년 1월:<L><b>【이벤트】</b></>천하는 분열하고 군웅할거가 도래하다"
|
||||||
|
],
|
||||||
|
"initialEvents":[
|
||||||
|
[
|
||||||
|
true,
|
||||||
|
["ChangeCity", "free", {
|
||||||
|
"pop":"70%",
|
||||||
|
"agri":"70%",
|
||||||
|
"comm":"70%",
|
||||||
|
"secu":"70%",
|
||||||
|
"trust":80
|
||||||
|
}],
|
||||||
|
["ChangeCity", "occupied", {
|
||||||
|
"pop":"70%",
|
||||||
|
"agri":"70%",
|
||||||
|
"comm":"70%",
|
||||||
|
"secu":"70%",
|
||||||
|
"trust":80,
|
||||||
|
"def":"70%",
|
||||||
|
"wall":"70%"
|
||||||
|
}]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"events":[
|
||||||
|
[
|
||||||
|
"destroy_nation", 1000,
|
||||||
|
["and",
|
||||||
|
["Date", ">=", 195, 1],
|
||||||
|
["RemainNation", "==", 1]
|
||||||
|
],
|
||||||
|
["BlockScoutAction"],
|
||||||
|
["DeleteEvent"]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,764 @@
|
|||||||
|
{
|
||||||
|
"title":"【역사모드4-2】 황제 원술",
|
||||||
|
"startYear":194,
|
||||||
|
"life":1,
|
||||||
|
"fiction":0,
|
||||||
|
"const":{
|
||||||
|
"defaultMaxGeneral":600
|
||||||
|
},
|
||||||
|
"nation":[
|
||||||
|
["이각", "#A9A9A9", 5000, 5000, "바람앞의 등불 이각", 1000, "도적", 5, ["장안", "함곡"]],
|
||||||
|
["조조", "#0000FF", 10000, 40000, "승천하는 조조", 1000, "병가", 3, ["진류", "정도", "복양", "초", "낙양", "사곡", "허창", "사수", "호로"]],
|
||||||
|
["여포", "#A9A9A9", 10000, 10000, "서주를 뺏은 여포", 1000, "병가", 1, ["서주", "하비", "광릉"]],
|
||||||
|
["공손찬", "#FF00FF", 10000, 10000, "히키코모리 공손찬", 1000, "병가", 3, ["북평", "역경"]],
|
||||||
|
["장수", "#7B68EE", 10000, 10000, "동탁의 잔당 장수", 1000, "병가", 3, ["완"]],
|
||||||
|
["유장", "#483D8B", 10000, 30000, "익주목 유장", 1000, "유가", 4, ["성도", "자동", "면죽", "강주"]],
|
||||||
|
["중", "#FFC0CB", 15000, 40000, "중나라 황제 원술", 1000, "병가", 7, ["수춘", "여강", "합비"]],
|
||||||
|
["유비", "#008000", 10000, 10000, "예주자사 좌장군 유비", 1000, "유가", 3, ["패"]],
|
||||||
|
["마등", "#808000", 10000, 10000, "서량태수 마등", 1000, "병가", 3, ["서량"]],
|
||||||
|
["공손도", "#A0522D", 10000, 10000, "요동의 왕 공손도", 1000, "덕가", 1, ["안평"]],
|
||||||
|
["엄백호", "#800080", 10000, 10000, "엄백호의 잔당세력", 1000, "도적", 1, ["산월"]],
|
||||||
|
["유표", "#E0FFFF", 10000, 10000, "형주자사 유표", 1000, "유가", 4, ["양양", "장판", "강하"]],
|
||||||
|
["장로", "#20B2AA", 10000, 10000, "오두미도국 장로", 1000, "오두미도", 2, ["한중", "양평"]],
|
||||||
|
["장연", "#87CEEB", 10000, 10000, "흑산적 장연", 1000, "유가", 2, ["진양"]],
|
||||||
|
["화흠", "#6495ED", 10000, 10000, "예장태수 화흠", 1000, "유가", 1, ["시상"]],
|
||||||
|
["원소", "#FFFF00", 10000, 10000, "대장군 원소", 1000, "병가", 5, ["남피", "업", "계교", "평원", "북해"]],
|
||||||
|
["사섭", "#800000", 10000, 10000, "교주자사 사섭", 1000, "유가", 3, ["교지", "남해"]],
|
||||||
|
["한수", "#FFFFFF", 10000, 10000, "서량의 모반자 한수", 1000, "병가", 1, ["천수"]],
|
||||||
|
["손책", "#FF0000", 10000, 10000, "강동을 제패한 손책", 1000, "병가", 2, ["건업", "오", "회계"]],
|
||||||
|
["유벽", "#FFD700", 10000, 10000, "여남 황건적", 1000, "도적", 1, ["여남"]]
|
||||||
|
],
|
||||||
|
"diplomacy":[
|
||||||
|
[7, 2, 1, 36],
|
||||||
|
[7, 8, 1, 36],
|
||||||
|
[7, 19, 1, 36],
|
||||||
|
[3, 8, 7, 48],
|
||||||
|
[2, 8, 7, 48],
|
||||||
|
[16, 2, 7, 48],
|
||||||
|
[13, 6, 1, 36]
|
||||||
|
],
|
||||||
|
"general":[
|
||||||
|
[0, "아회남", null, 0, null, 65, 74, 26, 0, 190, 225, null, null],
|
||||||
|
[0, "이적", null, 0, null, 29, 24, 84, 0, 162, 273, null, null],
|
||||||
|
[0, "윤상", null, 0, null, 51, 44, 62, 0, 194, 260, null, null],
|
||||||
|
[0, "윤묵", null, 0, null, 26, 15, 66, 0, 183, 239, null, null],
|
||||||
|
[0, "우금1", null, 2, "진류", 83, 78, 74, 1, 159, 221, null, null],
|
||||||
|
[0, "위관", null, 0, null, 69, 46, 79, 0, 220, 291, null, null],
|
||||||
|
[0, "원윤", null, 7, "수춘", 15, 14, 39, 1, 150, 199, null, null],
|
||||||
|
[0, "원희", null, 16, "업", 66, 51, 63, 1, 176, 207, null, null],
|
||||||
|
[0, "염행", null, 18, "천수", 76, 84, 66, 1, 159, 215, null, null],
|
||||||
|
[0, "염유", null, 0, null, 71, 57, 71, 0, 168, 227, null, null],
|
||||||
|
[0, "원술", null, 7, "수춘", 44, 65, 65, 12, 155, 199, null, null, "이몸은 이제부터 중의 황제다!"],
|
||||||
|
[0, "원상", null, 0, null, 63, 75, 42, 0, 179, 207, null, null],
|
||||||
|
[0, "원소", null, 16, "업", 81, 69, 70, 12, 154, 202, null, null, "사세 삼공의 이 원소가 천하를 지배하겠다!"],
|
||||||
|
[0, "염상", null, 7, "수춘", 30, 27, 71, 11, 158, 199, null, null],
|
||||||
|
[0, "원담", null, 16, "북해", 60, 69, 30, 1, 173, 205, null, null],
|
||||||
|
[0, "염포", null, 13, "한중", 29, 25, 82, 11, 167, 231, null, null],
|
||||||
|
[0, "왕위", null, 12, "양양", 60, 70, 62, 1, 163, 222, null, null],
|
||||||
|
[0, "왕윤", null, 0, null, 26, 6, 68, 0, 137, 192, null, null],
|
||||||
|
[0, "왕항", null, 0, null, 76, 60, 61, 0, 184, 254, null, null],
|
||||||
|
[0, "왕찬", null, 12, "양양", 15, 3, 79, 1, 177, 217, null, null],
|
||||||
|
[0, "왕수", null, 16, "북해", 54, 27, 77, 1, 168, 218, null, null],
|
||||||
|
[0, "왕숙", null, 0, null, 36, 22, 76, 0, 195, 256, null, null],
|
||||||
|
[0, "왕준", null, 0, null, 81, 73, 77, 0, 206, 286, null, null],
|
||||||
|
[0, "왕쌍", null, 0, null, 67, 88, 19, 0, 195, 228, null, null],
|
||||||
|
[0, "왕창", null, 0, null, 74, 64, 79, 0, 188, 259, null, null],
|
||||||
|
[0, "왕평", null, 0, null, 83, 79, 76, 0, 192, 248, null, null],
|
||||||
|
[0, "왕보", null, 0, null, 62, 41, 79, 0, 171, 219, null, null],
|
||||||
|
[0, "왕문", null, 16, "남피", 65, 64, 31, 1, 162, 205, null, null],
|
||||||
|
[0, "왕릉", null, 0, null, 74, 64, 71, 0, 172, 251, null, null],
|
||||||
|
[0, "왕루", null, 0, null, 28, 30, 79, 0, 173, 211, null, null],
|
||||||
|
[0, "왕랑", null, 0, null, 47, 35, 79, 0, 167, 228, null, null],
|
||||||
|
[0, "온회", null, 0, null, 62, 36, 74, 0, 178, 228, null, null],
|
||||||
|
[0, "하안", null, 0, null, 15, 30, 72, 0, 190, 249, null, null],
|
||||||
|
[0, "괴월", null, 12, "양양", 47, 27, 82, 1, 157, 214, null, null],
|
||||||
|
[0, "괴량", null, 12, "양양", 68, 33, 88, 11, 155, 204, null, null],
|
||||||
|
[0, "가화", null, 0, null, 49, 65, 41, 0, 176, 222, null, null],
|
||||||
|
[0, "가규", null, 0, null, 78, 61, 84, 0, 177, 231, null, null],
|
||||||
|
[0, "하의", null, 0, null, 56, 69, 36, 0, 161, 196, null, null],
|
||||||
|
[0, "화흠", null, 15, "시상", 33, 33, 82, 12, 157, 231, null, null],
|
||||||
|
[0, "가후", null, 5, "완", 88, 48, 97, 11, 147, 223, null, null],
|
||||||
|
[0, "곽가", null, 2, "진류", 88, 15, 96, 11, 170, 207, null, null],
|
||||||
|
[0, "악환", null, 0, null, 65, 82, 42, 0, 196, 251, null, null],
|
||||||
|
[0, "곽사", null, 1, "장안", 64, 76, 13, 1, 146, 197, null, null],
|
||||||
|
[0, "악취", null, 0, null, 53, 66, 61, 0, 157, 195, null, null],
|
||||||
|
[0, "곽준", null, 0, null, 73, 66, 73, 0, 178, 217, null, null],
|
||||||
|
[0, "학소", null, 0, null, 86, 79, 78, 0, 185, 229, null, null],
|
||||||
|
[0, "악진", null, 2, "진류", 80, 84, 56, 1, 159, 218, null, null],
|
||||||
|
[0, "곽도", null, 16, "업", 52, 50, 82, 1, 157, 205, null, null],
|
||||||
|
[0, "학맹", null, 0, null, 62, 67, 42, 0, 156, 196, null, null],
|
||||||
|
[0, "곽유지", null, 0, null, 28, 9, 69, 0, 190, 259, null, null],
|
||||||
|
[0, "곽익", null, 0, null, 73, 69, 69, 0, 207, 270, null, null],
|
||||||
|
[0, "곽회", null, 0, null, 87, 78, 81, 0, 187, 255, null, null],
|
||||||
|
[0, "하후위", null, 0, null, 71, 73, 49, 0, 204, 253, null, null],
|
||||||
|
[0, "하후연", null, 2, "낙양", 90, 91, 68, 1, 162, 219, null, null],
|
||||||
|
[0, "하후은", null, 2, "복양", 63, 72, 53, 1, 180, 208, null, null],
|
||||||
|
[0, "하후화", null, 0, null, 48, 51, 71, 0, 207, 265, null, null],
|
||||||
|
[0, "하후혜", null, 0, null, 50, 44, 76, 0, 206, 242, null, null],
|
||||||
|
[0, "하후현", null, 0, null, 54, 39, 76, 0, 208, 254, null, null],
|
||||||
|
[0, "하후상", null, 0, null, 79, 72, 75, 0, 181, 225, null, null],
|
||||||
|
[0, "하후덕", null, 0, null, 69, 73, 32, 0, 178, 218, null, null],
|
||||||
|
[0, "하후돈", null, 2, "진류", 92, 90, 63, 1, 156, 220, null, null],
|
||||||
|
[0, "하후패", null, 0, null, 79, 84, 77, 0, 202, 262, null, null],
|
||||||
|
[0, "하후무", null, 0, null, 20, 7, 4, 0, 201, 259, null, null],
|
||||||
|
[0, "가충", null, 0, null, 54, 31, 89, 0, 217, 282, null, null],
|
||||||
|
[0, "하진", null, 0, null, 39, 40, 6, 0, 135, 189, null, null],
|
||||||
|
[0, "화웅", null, 0, null, 88, 92, 61, 0, 155, 190, null, null],
|
||||||
|
[0, "한윤", null, 7, "수춘", 26, 29, 65, 1, 155, 197, null, null],
|
||||||
|
[0, "관우", null, 8, "소패", 97, 97, 79, 1, 162, 219, null, null, "술이 식기 전에 돌아오겠소"],
|
||||||
|
[0, "환계", null, 19, "건업", 25, 26, 68, 1, 156, 221, null, null],
|
||||||
|
[0, "관해", null, 0, null, 70, 82, 10, 0, 160, 193, null, null],
|
||||||
|
[0, "관구검", null, 0, null, 78, 74, 55, 0, 202, 255, null, null],
|
||||||
|
[0, "한현", null, 12, "양양", 22, 33, 62, 1, 163, 220, null, null],
|
||||||
|
[0, "한호", null, 2, "진류", 69, 72, 84, 1, 164, 224, null, null],
|
||||||
|
[0, "관흥", null, 0, null, 76, 86, 67, 0, 199, 234, null, null],
|
||||||
|
[0, "관색", null, 0, null, 74, 88, 56, 0, 200, 239, null, null],
|
||||||
|
[0, "한수", null, 18, "천수", 81, 75, 82, 12, 142, 215, null, null],
|
||||||
|
[0, "한숭", null, 12, "강하", 25, 15, 71, 1, 154, 210, null, null],
|
||||||
|
[0, "관정", null, 4, "북평", 36, 52, 73, 11, 158, 199, null, null],
|
||||||
|
[0, "한섬", null, 7, "수춘", 69, 66, 36, 1, 159, 197, null, null],
|
||||||
|
[0, "감택", null, 0, null, 43, 49, 83, 0, 182, 243, null, null],
|
||||||
|
[0, "한충", null, 0, null, 64, 67, 18, 0, 151, 184, null, null],
|
||||||
|
[0, "한당", null, 19, "건업", 76, 85, 61, 1, 156, 227, null, null],
|
||||||
|
[0, "한덕", null, 0, null, 63, 76, 25, 0, 171, 228, null, null],
|
||||||
|
[0, "감녕", null, 12, "강하", 93, 94, 76, 1, 174, 219, null, null],
|
||||||
|
[0, "한복", null, 0, null, 28, 3, 27, 0, 149, 193, null, null],
|
||||||
|
[0, "관평", null, 0, null, 80, 82, 72, 0, 186, 219, null, null],
|
||||||
|
[0, "간옹", null, 8, "소패", 20, 32, 75, 1, 164, 225, null, null],
|
||||||
|
[0, "안량", null, 16, "업", 88, 94, 21, 1, 160, 200, null, null],
|
||||||
|
[0, "위연", null, 0, null, 85, 92, 72, 0, 175, 234, null, null],
|
||||||
|
[0, "국의", null, 0, null, 82, 78, 51, 0, 146, 197, null, null],
|
||||||
|
[0, "희지재", null, 0, null, 63, 7, 88, 0, 157, 196, null, null],
|
||||||
|
[0, "위속", null, 3, "서주", 67, 78, 31, 1, 156, 200, null, null],
|
||||||
|
[0, "위유", null, 0, null, 46, 29, 74, 0, 151, 193, null, null],
|
||||||
|
[0, "우금2", null, 2, "낙양", 72, 79, 38, 1, 173, 226, null, null],
|
||||||
|
[0, "우보", null, 0, null, 38, 60, 21, 0, 159, 192, null, null],
|
||||||
|
[0, "강유", null, 0, null, 92, 89, 90, 0, 202, 264, null, null],
|
||||||
|
[0, "공지", null, 0, null, 43, 53, 62, 0, 178, 197, null, null],
|
||||||
|
[0, "교유", null, 0, null, 64, 69, 38, 0, 143, 195, null, null],
|
||||||
|
[0, "공도", null, 20, "여남", 59, 70, 23, 1, 164, 200, null, null],
|
||||||
|
[0, "허공", null, 0, null, 44, 66, 64, 0, 155, 200, null, null],
|
||||||
|
[0, "허정", null, 17, "남해", 23, 5, 68, 1, 152, 222, null, null],
|
||||||
|
[0, "허저", null, 2, "낙양", 74, 96, 36, 1, 169, 226, null, null],
|
||||||
|
[0, "허유", null, 16, "업", 36, 21, 80, 1, 155, 204, null, null],
|
||||||
|
[0, "기령", null, 7, "수춘", 78, 83, 51, 1, 155, 199, null, null],
|
||||||
|
[0, "김의", null, 0, null, 32, 38, 65, 0, 177, 218, null, null],
|
||||||
|
[0, "김배삼결", null, 0, null, 64, 76, 19, 0, 192, 225, null, null],
|
||||||
|
[0, "김선", null, 12, "양양", 52, 68, 13, 1, 155, 220, null, null],
|
||||||
|
[0, "우번", null, 19, "회계", 43, 46, 86, 1, 164, 233, null, null],
|
||||||
|
[0, "형도영", null, 0, null, 69, 80, 41, 0, 174, 208, null, null],
|
||||||
|
[0, "엄안", null, 6, "자동", 82, 83, 72, 1, 151, 222, null, null],
|
||||||
|
[0, "곽마", null, 0, null, 68, 71, 40, 0, 239, 281, null, null],
|
||||||
|
[0, "엄준", null, 0, null, 28, 2, 71, 0, 169, 246, null, null],
|
||||||
|
[0, "엄정", null, 0, null, 50, 55, 39, 0, 151, 189, null, null],
|
||||||
|
[0, "엄백호", null, 11, "산월", 67, 70, 23, 12, 142, 198, null, null, "이 몸은 동오의 덕왕 엄백호라고 하오!"],
|
||||||
|
[0, "엄여", null, 0, null, 61, 78, 44, 0, 145, 196, null, null],
|
||||||
|
[0, "오의", null, 0, null, 79, 73, 70, 0, 165, 237, null, null],
|
||||||
|
[0, "황개", null, 19, "건업", 80, 83, 70, 1, 154, 218, null, null],
|
||||||
|
[0, "고간", null, 16, "업", 74, 56, 48, 1, 168, 206, null, null],
|
||||||
|
[0, "황권", null, 6, "성도", 75, 59, 82, 11, 167, 240, null, null],
|
||||||
|
[0, "고유", null, 16, "업", 57, 43, 72, 1, 174, 263, null, null],
|
||||||
|
[0, "고순", null, 3, "하비", 85, 86, 60, 1, 162, 198, null, null],
|
||||||
|
[0, "고상", null, 0, null, 68, 68, 53, 0, 194, 252, null, null],
|
||||||
|
[0, "고승", null, 0, null, 67, 73, 41, 0, 145, 184, null, null],
|
||||||
|
[0, "후성", null, 3, "하비", 74, 75, 68, 1, 158, 199, null, null],
|
||||||
|
[0, "후선", null, 18, "천수", 63, 66, 34, 1, 175, 228, null, null],
|
||||||
|
[0, "황조", null, 12, "강하", 74, 66, 55, 1, 148, 208, null, null],
|
||||||
|
[0, "공손월", null, 0, null, 74, 72, 47, 0, 160, 192, null, null],
|
||||||
|
[0, "공손연", null, 0, null, 65, 70, 60, 0, 205, 238, null, null],
|
||||||
|
[0, "공손공", null, 10, "안평", 39, 17, 69, 1, 174, 240, null, null],
|
||||||
|
[0, "공손강", null, 10, "안평", 72, 66, 65, 1, 172, 211, null, null],
|
||||||
|
[0, "공손찬", null, 4, "북평", 84, 83, 75, 12, 152, 199, null, null],
|
||||||
|
[0, "공손속", null, 4, "북평", 63, 68, 57, 1, 176, 199, null, null],
|
||||||
|
[0, "공손도", null, 10, "안평", 67, 71, 66, 12, 154, 204, null, null],
|
||||||
|
[0, "공손범", null, 4, "북평", 73, 69, 66, 1, 158, 199, null, null],
|
||||||
|
[0, "황충", null, 12, "양양", 90, 93, 65, 1, 154, 220, null, null],
|
||||||
|
[0, "고정", null, 6, "자동", 55, 63, 43, 1, 190, 251, null, null],
|
||||||
|
[0, "고패", null, 0, null, 66, 61, 69, 0, 170, 212, null, null],
|
||||||
|
[0, "황보숭", null, 0, null, 92, 61, 73, 0, 132, 195, null, null],
|
||||||
|
[0, "공융", null, 2, "허창", 30, 5, 73, 1, 153, 208, null, null],
|
||||||
|
[0, "고람", null, 16, "평원", 76, 82, 68, 1, 159, 201, null, null],
|
||||||
|
[0, "오경", null, 0, null, 69, 66, 52, 0, 151, 211, null, null],
|
||||||
|
[0, "호거아", null, 5, "완", 70, 82, 41, 1, 164, 206, null, null],
|
||||||
|
[0, "호진", null, 0, null, 65, 74, 12, 0, 148, 190, null, null],
|
||||||
|
[0, "올돌골", null, 0, null, 79, 86, 1, 0, 186, 225, null, null],
|
||||||
|
[0, "호반", null, 0, null, 55, 55, 59, 0, 179, 233, null, null],
|
||||||
|
[0, "오반", null, 6, "성도", 74, 71, 59, 1, 171, 234, null, null],
|
||||||
|
[0, "고옹", null, 0, null, 43, 18, 80, 0, 168, 243, null, null],
|
||||||
|
[0, "오란", null, 6, "성도", 68, 80, 35, 1, 170, 218, null, null],
|
||||||
|
[0, "채화", null, 12, "장판", 39, 50, 1, 1, 166, 208, null, null],
|
||||||
|
[0, "채중", null, 12, "장판", 40, 54, 2, 1, 168, 208, null, null],
|
||||||
|
[0, "채모", null, 12, "양양", 70, 70, 77, 1, 160, 215, null, null],
|
||||||
|
[0, "착융", null, 0, "건업", 60, 69, 38, 0, 161, 196, null, null],
|
||||||
|
[0, "사마의", null, 0, null, 98, 63, 98, 0, 179, 251, null, null],
|
||||||
|
[0, "사마염", null, 0, null, 69, 59, 77, 0, 238, 290, null, null],
|
||||||
|
[0, "사마사", null, 0, null, 79, 64, 88, 0, 208, 255, null, null],
|
||||||
|
[0, "사마소", null, 0, null, 76, 57, 87, 0, 211, 265, null, null],
|
||||||
|
[0, "사마부", null, 0, null, 70, 37, 77, 0, 180, 272, null, null],
|
||||||
|
[0, "사마랑", null, 0, null, 20, 21, 72, 0, 171, 217, null, null],
|
||||||
|
[0, "사마가", null, 0, null, 66, 84, 25, 0, 167, 222, null, null],
|
||||||
|
[0, "주흔", null, 0, null, 65, 62, 73, 0, 159, 196, null, null],
|
||||||
|
[0, "주앙", null, 0, null, 74, 65, 65, 0, 162, 195, null, null],
|
||||||
|
[0, "주지", null, 0, null, 65, 85, 41, 0, 233, 295, null, null],
|
||||||
|
[0, "주창", null, 0, null, 68, 84, 42, 0, 164, 219, null, null],
|
||||||
|
[0, "주태유평", null, 19, "건업", 84, 91, 48, 1, 171, 225, null, null],
|
||||||
|
[0, "주방", null, 0, null, 52, 41, 80, 0, 200, 240, null, null],
|
||||||
|
[0, "주유", null, 19, "건업", 95, 71, 96, 11, 175, 210, null, null],
|
||||||
|
[0, "주환", null, 0, null, 84, 82, 77, 0, 177, 238, null, null],
|
||||||
|
[0, "주거", null, 0, null, 77, 57, 72, 0, 190, 246, null, null],
|
||||||
|
[0, "축융", null, 0, null, 74, 85, 29, 0, 182, 230, null, null],
|
||||||
|
[0, "주준", null, 0, null, 89, 65, 70, 0, 149, 195, null, null],
|
||||||
|
[0, "주연", null, 0, null, 79, 69, 71, 0, 182, 249, null, null],
|
||||||
|
[0, "주치", null, 0, null, 71, 56, 72, 0, 156, 224, null, null],
|
||||||
|
[0, "주포", null, 0, null, 68, 73, 34, 0, 191, 225, null, null],
|
||||||
|
[0, "주령", null, 2, "진류", 71, 73, 67, 1, 170, 236, null, null],
|
||||||
|
[0, "순욱", null, 2, "진류", 62, 14, 95, 1, 163, 212, null, null],
|
||||||
|
[0, "순우경", null, 16, "남피", 72, 66, 29, 1, 146, 200, null, null],
|
||||||
|
[0, "순심", null, 16, "업", 34, 25, 78, 1, 164, 208, null, null],
|
||||||
|
[0, "순유", null, 2, "진류", 73, 26, 94, 1, 157, 214, null, null],
|
||||||
|
[0, "장완", null, 0, null, 78, 34, 84, 0, 188, 246, null, null],
|
||||||
|
[0, "종회", null, 0, null, 82, 51, 91, 0, 225, 264, null, null],
|
||||||
|
[0, "장간", null, 0, null, 19, 6, 66, 0, 175, 208, null, null],
|
||||||
|
[0, "장의거", null, 16, "업", 71, 58, 59, 1, 159, 205, null, null],
|
||||||
|
[0, "장흠", null, 19, "오", 78, 84, 54, 1, 159, 208, null, null],
|
||||||
|
[0, "장제3", null, 0, null, 48, 43, 85, 0, 188, 249, null, null],
|
||||||
|
[0, "초주", null, 0, null, 16, 3, 67, 0, 201, 270, null, null],
|
||||||
|
[0, "초촉", null, 16, "업", 65, 76, 33, 1, 159, 208, null, null],
|
||||||
|
[0, "상총", null, 0, null, 76, 61, 77, 0, 195, 240, null, null],
|
||||||
|
[0, "종요", null, 2, "낙양", 70, 24, 77, 1, 151, 230, null, null],
|
||||||
|
[0, "상랑", null, 0, null, 28, 18, 74, 0, 167, 247, null, null],
|
||||||
|
[0, "서영", null, 0, null, 80, 76, 62, 0, 147, 192, null, null],
|
||||||
|
[0, "제갈각", null, 0, null, 72, 47, 90, 0, 203, 253, null, null],
|
||||||
|
[0, "제갈근", null, 0, null, 75, 34, 81, 0, 174, 241, null, null],
|
||||||
|
[0, "제갈균", null, 0, null, 29, 25, 52, 0, 185, 252, null, null],
|
||||||
|
[0, "제갈탄", null, 0, null, 72, 72, 76, 0, 206, 258, null, null],
|
||||||
|
[0, "제갈량", null, 0, null, 98, 38, 100, 0, 184, 234, null, null],
|
||||||
|
[0, "서황", null, 2, "낙양", 91, 90, 78, 1, 165, 228, null, null],
|
||||||
|
[0, "서서", null, 0, null, 87, 64, 93, 0, 160, 300, null, null],
|
||||||
|
[0, "서성", null, 0, null, 86, 81, 78, 0, 178, 232, null, null],
|
||||||
|
[0, "서막", null, 0, null, 55, 32, 68, 0, 171, 249, null, null],
|
||||||
|
[0, "신의", null, 0, null, 55, 59, 60, 0, 190, 252, null, null],
|
||||||
|
[0, "신탐", null, 0, null, 56, 62, 54, 0, 188, 254, null, null],
|
||||||
|
[0, "심배", null, 16, "업", 80, 60, 83, 1, 156, 204, null, null],
|
||||||
|
[0, "신비", null, 16, "남피", 39, 24, 79, 1, 171, 240, null, null],
|
||||||
|
[0, "신평", null, 16, "남피", 69, 43, 77, 1, 165, 204, null, null],
|
||||||
|
[0, "진복", null, 0, null, 31, 7, 73, 0, 160, 226, null, null],
|
||||||
|
[0, "진랑", null, 0, null, 58, 70, 35, 0, 192, 234, null, null],
|
||||||
|
[0, "휴고", null, 14, "진양", 63, 71, 38, 1, 151, 199, null, null],
|
||||||
|
[0, "추단", null, 0, null, 61, 64, 34, 0, 144, 193, null, null],
|
||||||
|
[0, "성의", null, 18, "천수", 74, 72, 41, 1, 168, 211, null, null],
|
||||||
|
[0, "성공영", null, 18, "천수", 73, 71, 80, 11, 172, 220, null, null],
|
||||||
|
[0, "설종", null, 0, null, 34, 16, 73, 0, 187, 243, null, null],
|
||||||
|
[0, "선경", null, 4, "북평", 71, 68, 43, 1, 156, 199, null, null],
|
||||||
|
[0, "전종", null, 0, null, 78, 72, 75, 0, 183, 249, null, null],
|
||||||
|
[0, "조예", null, 0, null, 72, 52, 82, 0, 205, 239, null, null],
|
||||||
|
[0, "조휴", null, 2, "진류", 74, 75, 62, 1, 174, 228, null, null],
|
||||||
|
[0, "송헌", null, 3, "하비", 68, 77, 38, 1, 157, 200, null, null],
|
||||||
|
[0, "조앙", null, 2, "진류", 74, 67, 69, 1, 161, 197, null, null],
|
||||||
|
[0, "조홍 자렴", null, 2, "진류", 79, 81, 44, 1, 169, 232, null, null, "좌절감이 사나이를 키우는 것이다!"],
|
||||||
|
[0, "조순", null, 2, "진류", 75, 71, 63, 1, 170, 210, null, null],
|
||||||
|
[0, "조창", null, 0, null, 82, 90, 40, 0, 190, 223, null, null],
|
||||||
|
[0, "조식", null, 0, null, 33, 22, 81, 0, 192, 232, null, null],
|
||||||
|
[0, "조진", null, 0, null, 81, 74, 70, 0, 185, 231, null, null],
|
||||||
|
[0, "조인", null, 2, "진류", 89, 86, 62, 1, 168, 223, null, null],
|
||||||
|
[0, "조성", null, 0, null, 54, 74, 38, 0, 163, 198, null, null],
|
||||||
|
[0, "조조", null, 2, "진류", 99, 72, 91, 12, 151, 220, null, null, "내가 천하 사람들을 저버릴지언정, 천하 사람들이 나를 저버리게 하지는 않을 것이다."],
|
||||||
|
[0, "조충", null, 0, null, 31, 21, 85, 0, 196, 207, null, null],
|
||||||
|
[0, "장패", null, 0, null, 78, 75, 53, 0, 165, 231, null, null],
|
||||||
|
[0, "조비", null, 0, null, 70, 71, 83, 0, 187, 226, null, null],
|
||||||
|
[0, "조표", null, 0, null, 66, 69, 32, 0, 151, 196, null, null],
|
||||||
|
[0, "저수", null, 16, "업", 78, 35, 90, 1, 156, 201, null, null],
|
||||||
|
[0, "소비", null, 0, null, 69, 63, 66, 0, 172, 221, null, null],
|
||||||
|
[0, "조무", null, 0, null, 70, 71, 66, 0, 155, 193, null, null],
|
||||||
|
[0, "손환", null, 0, null, 82, 73, 76, 0, 166, 228, null, null],
|
||||||
|
[0, "손견", null, 0, null, 94, 90, 79, 0, 156, 192, null, null, "내가 옥새를 가지고 있다면 나는 칼과 화살을 맞아 죽을 것이다."],
|
||||||
|
[0, "손건", null, 0, null, 34, 33, 79, 0, 165, 215, null, null],
|
||||||
|
[0, "손권", null, 19, "건업", 79, 67, 80, 1, 182, 252, null, null],
|
||||||
|
[0, "손교", null, 0, null, 77, 72, 67, 0, 181, 219, null, null],
|
||||||
|
[0, "손책", null, 19, "건업", 96, 92, 74, 12, 175, 200, null, null],
|
||||||
|
[0, "손소", null, 0, null, 80, 79, 76, 0, 188, 241, null, null],
|
||||||
|
[0, "손정", null, 19, "오", 66, 53, 73, 1, 160, 206, null, null],
|
||||||
|
[0, "손중", null, 0, null, 62, 71, 36, 0, 154, 184, null, null],
|
||||||
|
[0, "손등", null, 0, null, 62, 37, 79, 0, 209, 241, null, null],
|
||||||
|
[0, "손유", null, 0, null, 77, 70, 68, 0, 177, 215, null, null],
|
||||||
|
[0, "손익", null, 0, null, 67, 78, 27, 0, 184, 204, null, null],
|
||||||
|
[0, "손례", null, 0, null, 78, 81, 67, 0, 180, 250, null, null],
|
||||||
|
[0, "태사자", null, 19, "건업", 90, 93, 69, 1, 166, 206, null, null],
|
||||||
|
[0, "대래동주", null, 0, null, 51, 53, 54, 0, 195, 249, null, null],
|
||||||
|
[0, "대릉", null, 0, null, 70, 75, 39, 0, 199, 258, null, null],
|
||||||
|
[0, "타사대왕", null, 0, null, 62, 59, 70, 0, 186, 225, null, null],
|
||||||
|
[0, "담웅", null, 0, null, 58, 73, 14, 0, 188, 221, null, null],
|
||||||
|
[0, "장윤", null, 12, "양양", 72, 67, 42, 1, 163, 208, null, null],
|
||||||
|
[0, "조운", null, 4, "북평", 96, 96, 77, 1, 168, 229, null, null],
|
||||||
|
[0, "장위", null, 13, "한중", 74, 66, 45, 1, 172, 228, null, null, "쌀 다섯말만 가지고 오시오~ 모두 고쳐드리리다."],
|
||||||
|
[0, "장영", null, 0, null, 75, 74, 41, 0, 154, 196, null, null],
|
||||||
|
[0, "장연", null, 14, "진양", 76, 81, 57, 12, 153, 210, null, null],
|
||||||
|
[0, "장횡", null, 0, null, 59, 70, 23, 0, 178, 211, null, null],
|
||||||
|
[0, "장온", null, 0, null, 32, 10, 72, 0, 193, 231, null, null],
|
||||||
|
[0, "장개", null, 0, null, 34, 66, 8, 0, 155, 194, null, null],
|
||||||
|
[0, "장각", null, 0, null, 87, 25, 86, 0, 140, 184, null, null],
|
||||||
|
[0, "장기", null, 0, null, 74, 35, 76, 0, 170, 223, null, null],
|
||||||
|
[0, "장의", null, 16, "남피", 79, 72, 75, 1, 153, 215, null, null],
|
||||||
|
[0, "장훈", null, 7, "수춘", 72, 68, 41, 1, 156, 206, null, null],
|
||||||
|
[0, "장굉", null, 19, "건업", 24, 22, 86, 1, 153, 212, null, null],
|
||||||
|
[0, "장합", null, 16, "평원", 89, 89, 73, 1, 167, 231, null, null],
|
||||||
|
[0, "조홍", null, 0, null, 66, 72, 28, 0, 156, 184, null, null],
|
||||||
|
[0, "장제1", null, 1, "홍농", 70, 66, 55, 1, 144, 196, null, null],
|
||||||
|
[0, "장수", null, 5, "완", 80, 73, 64, 12, 154, 207, null, null],
|
||||||
|
[0, "장소 자포", null, 19, "건업", 33, 3, 84, 1, 156, 236, null, null],
|
||||||
|
[0, "장송", null, 0, null, 25, 6, 88, 0, 170, 212, null, null],
|
||||||
|
[0, "장임", null, 6, "성도", 84, 84, 78, 1, 169, 214, null, null],
|
||||||
|
[0, "장제", null, 0, null, 67, 43, 80, 0, 236, 280, null, null],
|
||||||
|
[0, "장막", null, 0, null, 52, 53, 71, 0, 155, 195, null, null],
|
||||||
|
[0, "조범", null, 0, null, 28, 21, 32, 0, 168, 218, null, null],
|
||||||
|
[0, "장비", null, 8, "소패", 94, 98, 30, 1, 165, 221, null, null],
|
||||||
|
[0, "장포", null, 0, null, 78, 87, 48, 0, 198, 219, null, null],
|
||||||
|
[0, "장보", null, 0, null, 83, 71, 81, 0, 148, 184, null, null],
|
||||||
|
[0, "장만성", null, 0, null, 75, 81, 45, 0, 143, 184, null, null],
|
||||||
|
[0, "장양", null, 0, null, 72, 70, 66, 0, 151, 195, null, null],
|
||||||
|
[0, "장익", null, 0, null, 75, 74, 76, 0, 188, 264, null, null],
|
||||||
|
[0, "장료", null, 3, "서주", 95, 92, 78, 1, 169, 222, null, null],
|
||||||
|
[0, "장량", null, 0, null, 78, 80, 74, 0, 153, 184, null, null],
|
||||||
|
[0, "조루", null, 0, null, 70, 43, 68, 0, 183, 219, null, null],
|
||||||
|
[0, "장로", null, 13, "한중", 51, 26, 74, 12, 163, 216, null, null],
|
||||||
|
[0, "진횡", null, 0, null, 64, 63, 26, 0, 161, 196, null, null],
|
||||||
|
[0, "진응", null, 0, null, 62, 72, 45, 0, 172, 208, null, null],
|
||||||
|
[0, "진기", null, 7, "수춘", 58, 65, 43, 1, 165, 198, null, null],
|
||||||
|
[0, "진궁", null, 3, "하비", 84, 55, 89, 11, 154, 198, null, null],
|
||||||
|
[0, "진교", null, 0, null, 61, 27, 77, 0, 175, 237, null, null],
|
||||||
|
[0, "진군", null, 2, "진류", 32, 14, 75, 1, 167, 236, null, null],
|
||||||
|
[0, "진규", null, 3, "서주", 30, 4, 82, 1, 132, 206, null, null],
|
||||||
|
[0, "진식", null, 0, null, 70, 71, 25, 0, 191, 230, null, null],
|
||||||
|
[0, "진진", null, 16, "업", 46, 46, 69, 1, 170, 235, null, null],
|
||||||
|
[0, "진태", null, 0, null, 84, 77, 86, 0, 210, 260, null, null],
|
||||||
|
[0, "진등", null, 3, "하비", 79, 64, 81, 1, 169, 208, null, null],
|
||||||
|
[0, "진도", null, 0, null, 76, 71, 67, 0, 171, 237, null, null],
|
||||||
|
[0, "진무", null, 0, null, 76, 87, 43, 0, 176, 215, null, null],
|
||||||
|
[0, "진란", null, 7, "여강", 66, 69, 40, 1, 157, 204, null, null],
|
||||||
|
[0, "진림", null, 16, "남피", 25, 9, 75, 1, 160, 217, null, null],
|
||||||
|
[0, "정욱", null, 2, "진류", 70, 49, 90, 1, 141, 220, null, null],
|
||||||
|
[0, "정원지", null, 0, null, 69, 74, 17, 0, 145, 184, null, null],
|
||||||
|
[0, "정은", null, 9, "서량", 69, 73, 40, 1, 184, 220, null, null],
|
||||||
|
[0, "정원", null, 0, null, 70, 76, 35, 0, 137, 189, null, null],
|
||||||
|
[0, "정보", null, 19, "건업", 84, 79, 79, 1, 151, 216, null, null],
|
||||||
|
[0, "정봉승연", null, 0, null, 81, 80, 75, 0, 190, 271, null, null],
|
||||||
|
[0, "전위", null, 0, null, 72, 95, 35, 0, 160, 197, null, null],
|
||||||
|
[0, "전해", null, 4, "북평", 68, 65, 58, 1, 154, 199, null, null],
|
||||||
|
[0, "전주", null, 0, null, 66, 66, 73, 0, 169, 214, null, null],
|
||||||
|
[0, "전풍", null, 16, "남피", 72, 29, 93, 11, 162, 200, null, null],
|
||||||
|
[0, "전예", null, 4, "역경", 80, 72, 80, 1, 171, 252, null, null],
|
||||||
|
[0, "동윤", null, 0, null, 47, 28, 79, 0, 192, 246, null, null],
|
||||||
|
[0, "동화", null, 0, null, 57, 34, 75, 0, 168, 219, null, null],
|
||||||
|
[0, "등애", null, 0, null, 93, 87, 89, 0, 197, 264, null, null],
|
||||||
|
[0, "도겸", null, 0, null, 51, 27, 64, 0, 132, 194, null, null],
|
||||||
|
[0, "등현", null, 0, null, 61, 73, 45, 0, 188, 248, null, null],
|
||||||
|
[0, "등지", null, 0, null, 73, 52, 81, 0, 178, 251, null, null],
|
||||||
|
[0, "동습", null, 0, null, 72, 85, 50, 0, 169, 215, null, null],
|
||||||
|
[0, "동승", null, 2, "허창", 56, 53, 65, 1, 154, 200, null, null],
|
||||||
|
[0, "동소", null, 0, null, 34, 25, 80, 0, 156, 236, null, null],
|
||||||
|
[0, "동탁", null, 0, null, 85, 87, 73, 0, 139, 192, null, null, "크하하, 천하는 이제 나의 것이다!"],
|
||||||
|
[0, "동도나", null, 0, null, 68, 73, 31, 0, 189, 225, null, null],
|
||||||
|
[0, "동민", null, 0, null, 49, 60, 25, 0, 149, 192, null, null],
|
||||||
|
[0, "등무", null, 0, null, 61, 75, 29, 0, 147, 184, null, null],
|
||||||
|
[0, "두기", null, 0, null, 66, 32, 75, 0, 163, 224, null, null],
|
||||||
|
[0, "두예", null, 0, null, 84, 30, 85, 0, 222, 284, null, null],
|
||||||
|
[0, "배원소", null, 0, null, 49, 65, 25, 0, 169, 200, null, null],
|
||||||
|
[0, "마완", null, 0, null, 71, 74, 16, 0, 170, 211, null, null],
|
||||||
|
[0, "마휴", null, 9, "서량", 68, 73, 48, 1, 178, 212, null, null],
|
||||||
|
[0, "파재", null, 0, null, 74, 74, 55, 0, 145, 184, null, null],
|
||||||
|
[0, "마준", null, 0, null, 38, 52, 31, 0, 196, 230, null, null],
|
||||||
|
[0, "마속", null, 0, null, 61, 67, 87, 0, 190, 228, null, null],
|
||||||
|
[0, "마대", null, 0, null, 79, 85, 62, 0, 183, 246, null, null],
|
||||||
|
[0, "마충", null, 0, null, 78, 72, 68, 0, 187, 249, null, null],
|
||||||
|
[0, "마초", null, 9, "서량", 93, 97, 44, 1, 176, 222, null, null],
|
||||||
|
[0, "마철", null, 9, "서량", 70, 62, 58, 1, 179, 212, null, null],
|
||||||
|
[0, "마등", null, 9, "서량", 82, 80, 52, 12, 149, 212, null, null],
|
||||||
|
[0, "마량", null, 0, null, 53, 23, 88, 0, 187, 222, null, null],
|
||||||
|
[0, "반준", null, 0, null, 61, 18, 83, 0, 174, 239, null, null],
|
||||||
|
[0, "반장", null, 0, null, 76, 80, 74, 0, 177, 234, null, null],
|
||||||
|
[0, "번조", null, 0, null, 66, 73, 31, 0, 149, 192, null, null],
|
||||||
|
[0, "번능", null, 0, null, 69, 61, 36, 0, 158, 195, null, null],
|
||||||
|
[0, "반봉", null, 0, null, 56, 77, 4, 0, 155, 190, null, null],
|
||||||
|
[0, "비의", null, 0, null, 77, 30, 83, 0, 193, 253, null, null],
|
||||||
|
[0, "비연", null, 0, null, 60, 66, 21, 0, 196, 238, null, null],
|
||||||
|
[0, "비시", null, 0, null, 18, 28, 65, 0, 176, 240, null, null],
|
||||||
|
[0, "미축", null, 8, "소패", 33, 29, 78, 1, 165, 220, null, null],
|
||||||
|
[0, "미방", null, 8, "소패", 54, 61, 32, 1, 169, 226, null, null],
|
||||||
|
[0, "비요", null, 0, null, 70, 66, 73, 0, 192, 228, null, null],
|
||||||
|
[0, "무안국", null, 0, null, 70, 83, 34, 0, 156, 193, null, null],
|
||||||
|
[0, "풍습", null, 0, null, 72, 71, 39, 0, 182, 222, null, null],
|
||||||
|
[0, "부사인", null, 0, null, 46, 63, 37, 0, 182, 225, null, null],
|
||||||
|
[0, "부첨", null, 0, null, 73, 85, 76, 0, 216, 263, null, null],
|
||||||
|
[0, "부손", null, 0, null, 29, 13, 70, 0, 162, 230, null, null],
|
||||||
|
[0, "문앙", null, 0, null, 76, 93, 65, 0, 238, 291, null, null],
|
||||||
|
[0, "문흠", null, 0, null, 74, 83, 43, 0, 200, 258, null, null],
|
||||||
|
[0, "문추", null, 16, "남피", 89, 93, 47, 1, 169, 200, null, null],
|
||||||
|
[0, "문빙", null, 0, null, 80, 82, 69, 0, 178, 237, null, null],
|
||||||
|
[0, "변희", null, 0, null, 56, 70, 62, 0, 169, 200, null, null],
|
||||||
|
[0, "망아장", null, 0, null, 45, 79, 3, 0, 191, 225, null, null],
|
||||||
|
[0, "봉기", null, 16, "남피", 43, 21, 84, 1, 153, 202, null, null],
|
||||||
|
[0, "방희", null, 0, null, 60, 38, 69, 0, 152, 192, null, null],
|
||||||
|
[0, "법정", null, 0, null, 82, 47, 94, 0, 176, 220, null, null],
|
||||||
|
[0, "방통", null, 0, null, 85, 34, 97, 0, 178, 213, null, null],
|
||||||
|
[0, "방덕", null, 9, "서량", 89, 94, 75, 11, 170, 219, null, null],
|
||||||
|
[0, "포륭", null, 0, null, 58, 76, 49, 0, 174, 208, null, null],
|
||||||
|
[0, "목순", null, 0, null, 52, 77, 11, 0, 157, 190, null, null],
|
||||||
|
[0, "목록대왕", null, 0, null, 65, 71, 39, 0, 184, 225, null, null],
|
||||||
|
[0, "보즐", null, 0, null, 72, 51, 84, 0, 177, 247, null, null],
|
||||||
|
[0, "만총", null, 0, null, 84, 64, 82, 0, 170, 242, null, null],
|
||||||
|
[0, "모개", null, 0, null, 63, 39, 60, 0, 161, 216, null, null],
|
||||||
|
[0, "맹획", null, 0, null, 87, 87, 42, 0, 186, 245, null, null],
|
||||||
|
[0, "맹달", null, 0, null, 75, 73, 75, 0, 172, 228, null, null],
|
||||||
|
[0, "맹우", null, 0, null, 50, 68, 22, 0, 190, 243, null, null],
|
||||||
|
[0, "유섭", null, 0, null, 62, 79, 24, 0, 158, 190, null, null],
|
||||||
|
[0, "양부2", null, 0, null, 62, 68, 68, 0, 167, 212, null, null],
|
||||||
|
[0, "옹개", null, 0, null, 73, 75, 57, 0, 188, 225, null, null],
|
||||||
|
[0, "양의", null, 0, null, 68, 40, 82, 0, 190, 235, null, null],
|
||||||
|
[0, "양호", null, 0, null, 90, 64, 84, 0, 221, 278, null, null],
|
||||||
|
[0, "양홍", null, 7, "수춘", 33, 15, 77, 1, 152, 199, null, null],
|
||||||
|
[0, "양앙", null, 13, "한중", 68, 72, 38, 1, 172, 215, null, null],
|
||||||
|
[0, "양추1", null, 0, null, 52, 65, 40, 0, 159, 199, null, null],
|
||||||
|
[0, "양수", null, 0, null, 25, 4, 83, 0, 175, 219, null, null],
|
||||||
|
[0, "양추2", null, 0, null, 67, 64, 60, 0, 172, 238, null, null],
|
||||||
|
[0, "양송", null, 0, null, 1, 5, 28, 0, 167, 215, null, null],
|
||||||
|
[0, "양임", null, 13, "한중", 70, 78, 56, 1, 170, 215, null, null],
|
||||||
|
[0, "양조", null, 0, null, 53, 61, 36, 0, 223, 286, null, null],
|
||||||
|
[0, "양백", null, 13, "한중", 44, 45, 19, 1, 171, 214, null, null],
|
||||||
|
[0, "양부1", null, 0, null, 67, 50, 83, 0, 178, 239, null, null],
|
||||||
|
[0, "양봉1", null, 0, null, 66, 65, 31, 0, 153, 197, null, null],
|
||||||
|
[0, "양봉2", null, 0, null, 54, 62, 53, 0, 191, 252, null, null],
|
||||||
|
[0, "뇌동", null, 0, null, 69, 78, 51, 0, 172, 218, null, null],
|
||||||
|
[0, "뇌박", null, 7, "수춘", 62, 70, 36, 1, 157, 206, null, null],
|
||||||
|
[0, "이이", null, 0, null, 63, 77, 19, 0, 187, 222, null, null],
|
||||||
|
[0, "이회", null, 0, null, 79, 65, 79, 0, 175, 231, null, null],
|
||||||
|
[0, "이각", null, 1, "장안", 69, 72, 24, 12, 148, 198, null, null],
|
||||||
|
[0, "육항", null, 0, null, 91, 63, 87, 0, 226, 274, null, null],
|
||||||
|
[0, "육적", null, 0, null, 20, 7, 72, 0, 187, 219, null, null],
|
||||||
|
[0, "육손", null, 0, null, 94, 69, 95, 0, 183, 245, null, null],
|
||||||
|
[0, "이엄", null, 0, null, 83, 84, 76, 0, 172, 234, null, null],
|
||||||
|
[0, "이유", null, 0, null, 61, 26, 93, 0, 150, 192, null, null, "장안으로 천도를 하는것이 어떻겠습니까?"],
|
||||||
|
[0, "이숙", null, 0, null, 46, 69, 61, 0, 156, 192, null, null],
|
||||||
|
[0, "이통", null, 2, "초", 73, 83, 62, 1, 168, 209, null, null],
|
||||||
|
[0, "이전", null, 2, "초", 78, 77, 79, 1, 181, 216, null, null],
|
||||||
|
[0, "이풍", null, 7, "수춘", 69, 74, 50, 1, 158, 199, null, null],
|
||||||
|
[0, "유언", null, 0, null, 53, 38, 80, 0, 132, 194, null, null],
|
||||||
|
[0, "유괴", null, 6, "성도", 71, 73, 67, 1, 165, 214, null, null],
|
||||||
|
[0, "유기", null, 12, "양양", 52, 12, 63, 1, 174, 210, null, null],
|
||||||
|
[0, "유우", null, 0, null, 55, 33, 70, 0, 145, 193, null, null],
|
||||||
|
[0, "유훈", null, 7, "여강", 47, 63, 35, 1, 163, 216, null, null],
|
||||||
|
[0, "유현", null, 0, null, 54, 66, 51, 0, 188, 252, null, null],
|
||||||
|
[0, "유순", null, 0, null, 63, 46, 41, 0, 172, 255, null, null],
|
||||||
|
[0, "유장", null, 6, "성도", 31, 5, 34, 12, 162, 219, null, null],
|
||||||
|
[0, "유심", null, 0, null, 60, 62, 70, 0, 238, 264, null, null],
|
||||||
|
[0, "유선", null, 0, null, 3, 5, 9, 0, 208, 270, null, null],
|
||||||
|
[0, "유종", null, 0, null, 24, 22, 65, 0, 195, 220, null, null],
|
||||||
|
[0, "유도", null, 0, null, 25, 23, 26, 0, 168, 214, null, null],
|
||||||
|
[0, "유파", null, 0, null, 29, 22, 75, 0, 186, 222, null, null],
|
||||||
|
[0, "유반", null, 0, null, 69, 76, 47, 0, 168, 210, null, null],
|
||||||
|
[0, "유비", null, 8, "하비", 81, 77, 80, 12, 161, 223, null, null],
|
||||||
|
[0, "유표1", null, 12, "양양", 48, 31, 72, 12, 142, 208, null, null, "강하 팔준에서 제일가는 이 유표에게로 오시오!"],
|
||||||
|
[0, "유복", null, 0, null, 64, 49, 74, 0, 164, 208, null, null],
|
||||||
|
[0, "유벽", null, 20, "여남", 70, 72, 47, 12, 145, 201, null, null],
|
||||||
|
[0, "유봉", null, 0, null, 75, 79, 44, 0, 188, 220, null, null],
|
||||||
|
[0, "유엽", null, 7, "여강", 56, 32, 92, 1, 176, 235, null, null],
|
||||||
|
[0, "유요", null, 0, null, 62, 67, 46, 0, 156, 198, null, null],
|
||||||
|
[0, "여위황", null, 16, "남피", 58, 63, 29, 1, 159, 200, null, null],
|
||||||
|
[0, "요화", null, 0, null, 73, 76, 69, 0, 168, 264, null, null],
|
||||||
|
[0, "양흥", null, 9, "서량", 61, 65, 19, 1, 169, 211, null, null],
|
||||||
|
[0, "양습", null, 0, null, 73, 40, 74, 0, 168, 230, null, null],
|
||||||
|
[0, "양서", null, 0, null, 56, 62, 66, 0, 198, 260, null, null],
|
||||||
|
[0, "능조", null, 0, null, 75, 81, 42, 0, 168, 203, null, null],
|
||||||
|
[0, "능통", null, 0, null, 77, 89, 60, 0, 189, 217, null, null],
|
||||||
|
[0, "여개", null, 0, null, 53, 30, 67, 0, 194, 227, null, null],
|
||||||
|
[0, "여건", null, 2, "진류", 57, 70, 62, 1, 173, 238, null, null],
|
||||||
|
[0, "여광", null, 16, "북해", 56, 70, 13, 1, 162, 207, null, null],
|
||||||
|
[0, "여상", null, 16, "북해", 54, 71, 12, 1, 164, 207, null, null],
|
||||||
|
[0, "여대", null, 0, null, 75, 71, 70, 0, 161, 256, null, null],
|
||||||
|
[0, "여범", null, 19, "건업", 73, 63, 75, 1, 169, 228, null, null],
|
||||||
|
[0, "여포", null, 3, "하비", 97, 100, 26, 12, 156, 198, null, null, "크하하하 다 부숴 버리겠다!"],
|
||||||
|
[0, "여몽", null, 0, null, 82, 81, 20, 0, 178, 219, null, null],
|
||||||
|
[0, "윤직", null, 0, null, 46, 42, 73, 0, 196, 237, null, null],
|
||||||
|
[0, "냉포", null, 0, null, 71, 82, 61, 0, 176, 214, null, null],
|
||||||
|
[0, "진취", null, 0, null, 56, 65, 48, 0, 174, 208, null, null],
|
||||||
|
[0, "노숙", null, 0, null, 84, 56, 92, 0, 172, 217, null, null],
|
||||||
|
[0, "노식", null, 0, null, 86, 63, 82, 0, 139, 192, null, null],
|
||||||
|
[0, "범강", null, 0, null, 49, 50, 36, 0, 174, 222, null, null],
|
||||||
|
[0, "장달", null, 0, null, 43, 56, 34, 0, 175, 222, null, null],
|
||||||
|
[0, "규람", null, 0, null, 55, 70, 58, 0, 165, 204, null, null],
|
||||||
|
[0, "대원", null, 0, null, 38, 32, 68, 0, 166, 204, null, null],
|
||||||
|
[0, "왕기", null, 0, null, 77, 72, 86, 0, 190, 261, null, null],
|
||||||
|
[0, "왕상", null, 0, null, 23, 19, 68, 0, 180, 268, null, null],
|
||||||
|
[0, "왕돈", null, 0, null, 60, 66, 46, 0, 198, 256, null, null],
|
||||||
|
[0, "악침", null, 0, null, 73, 75, 43, 0, 196, 257, null, null],
|
||||||
|
[0, "하제", null, 19, "회계", 83, 70, 82, 1, 171, 227, null, null],
|
||||||
|
[0, "환범", null, 0, null, 40, 11, 78, 0, 199, 249, null, null],
|
||||||
|
[0, "견초", null, 16, "업", 72, 79, 73, 1, 168, 244, null, null],
|
||||||
|
[0, "고당륭", null, 0, null, 35, 24, 76, 0, 190, 244, null, null],
|
||||||
|
[0, "오찬", null, 0, null, 68, 41, 78, 0, 181, 245, null, null],
|
||||||
|
[0, "호질", null, 0, null, 73, 46, 74, 0, 192, 250, null, null],
|
||||||
|
[0, "오질", null, 0, null, 16, 29, 68, 0, 177, 230, null, null],
|
||||||
|
[0, "호준", null, 0, null, 79, 76, 62, 0, 200, 256, null, null],
|
||||||
|
[0, "고담", null, 0, null, 53, 23, 77, 0, 203, 244, null, null],
|
||||||
|
[0, "최림", null, 0, null, 32, 22, 66, 0, 187, 244, null, null],
|
||||||
|
[0, "사마망", null, 0, null, 78, 58, 83, 0, 205, 271, null, null],
|
||||||
|
[0, "주이", null, 0, null, 70, 73, 61, 0, 201, 257, null, null],
|
||||||
|
[0, "전단", null, 0, null, 67, 64, 39, 0, 204, 261, null, null],
|
||||||
|
[0, "조우", null, 0, null, 50, 43, 37, 0, 199, 278, null, null],
|
||||||
|
[0, "조상", null, 0, null, 39, 33, 30, 0, 207, 249, null, null],
|
||||||
|
[0, "조방", null, 0, null, 20, 14, 27, 0, 232, 274, null, null],
|
||||||
|
[0, "태사향", null, 0, null, 57, 66, 48, 0, 189, 246, null, null],
|
||||||
|
[0, "장휴", null, 0, null, 63, 27, 74, 0, 204, 244, null, null],
|
||||||
|
[0, "장호", null, 0, null, 75, 74, 51, 0, 195, 240, null, null],
|
||||||
|
[0, "조광", null, 0, null, 67, 71, 53, 0, 210, 263, null, null],
|
||||||
|
[0, "장집", null, 0, null, 76, 29, 80, 0, 196, 254, null, null],
|
||||||
|
[0, "장승", null, 0, null, 77, 70, 75, 0, 178, 244, null, null],
|
||||||
|
[0, "장소", null, 0, null, 23, 56, 31, 0, 202, 264, null, null],
|
||||||
|
[0, "조통", null, 0, null, 68, 67, 61, 0, 209, 260, null, null],
|
||||||
|
[0, "진표", null, 0, null, 66, 42, 74, 0, 207, 237, null, null],
|
||||||
|
[0, "정무", null, 0, null, 56, 35, 75, 0, 201, 265, null, null],
|
||||||
|
[0, "정봉", null, 0, null, 66, 66, 53, 0, 198, 266, null, null],
|
||||||
|
[0, "전만", null, 2, "허창", 51, 73, 39, 1, 181, 235, null, null],
|
||||||
|
[0, "마균", null, 0, null, 22, 17, 71, 0, 200, 259, null, null],
|
||||||
|
[0, "방회", null, 0, null, 69, 75, 49, 0, 205, 272, null, null],
|
||||||
|
[0, "서구", null, 0, null, 69, 42, 70, 0, 149, 208, null, null],
|
||||||
|
[0, "육개", null, 0, null, 65, 61, 79, 0, 198, 269, null, null],
|
||||||
|
[0, "유찬", null, 0, null, 78, 81, 64, 0, 172, 255, null, null],
|
||||||
|
[0, "유소", null, 0, null, 68, 53, 74, 0, 195, 264, null, null],
|
||||||
|
[0, "요립", null, 0, null, 32, 15, 76, 0, 181, 250, null, null],
|
||||||
|
[0, "여거", null, 0, null, 78, 69, 71, 0, 196, 256, null, null],
|
||||||
|
[0, "제갈첨", null, 0, null, 70, 57, 76, 0, 227, 263, null, null],
|
||||||
|
[0, "손휴", null, 0, null, 57, 42, 78, 0, 235, 264, null, null],
|
||||||
|
[0, "극정", null, 0, null, 42, 23, 68, 0, 208, 278, null, null],
|
||||||
|
[0, "호분", null, 0, null, 71, 76, 50, 0, 222, 288, null, null],
|
||||||
|
[0, "손량", null, 0, null, 32, 26, 70, 0, 243, 260, null, null],
|
||||||
|
[0, "마막", null, 0, null, 34, 12, 44, 0, 221, 266, null, null],
|
||||||
|
[0, "손호", null, 0, null, 41, 73, 71, 0, 242, 284, null, null],
|
||||||
|
[0, "조모", null, 0, null, 54, 61, 59, 0, 241, 260, null, null],
|
||||||
|
[0, "조환", null, 0, null, 30, 28, 30, 0, 246, 302, null, null],
|
||||||
|
[0, "사마유", null, 0, null, 71, 68, 75, 0, 248, 283, null, null],
|
||||||
|
[0, "제갈상", null, 0, null, 64, 79, 62, 0, 246, 263, null, null],
|
||||||
|
[0, "손화", null, 0, null, 31, 39, 68, 0, 224, 253, null, null],
|
||||||
|
[0, "염우", null, 0, null, 52, 61, 51, 0, 209, 264, null, null],
|
||||||
|
[0, "왕경", null, 0, null, 67, 63, 71, 0, 206, 260, null, null],
|
||||||
|
[0, "왕혼", null, 0, null, 74, 71, 63, 0, 223, 297, null, null],
|
||||||
|
[0, "곽혁", null, 0, null, 33, 29, 70, 0, 187, 225, null, null],
|
||||||
|
[0, "가범", null, 0, null, 60, 62, 73, 0, 202, 237, null, null],
|
||||||
|
[0, "서질", null, 0, null, 68, 83, 24, 0, 207, 253, null, null],
|
||||||
|
[0, "손준", null, 0, null, 64, 70, 65, 0, 219, 256, null, null],
|
||||||
|
[0, "손침", null, 0, null, 58, 55, 65, 0, 231, 258, null, null],
|
||||||
|
[0, "우사", null, 0, null, 61, 34, 74, 0, 217, 273, null, null],
|
||||||
|
[0, "진건", null, 0, null, 72, 71, 65, 0, 214, 292, null, null],
|
||||||
|
[0, "동궐", null, 0, null, 65, 59, 76, 0, 204, 271, null, null],
|
||||||
|
[0, "당자", null, 0, null, 61, 71, 50, 0, 196, 265, null, null],
|
||||||
|
[0, "등충", null, 0, null, 76, 86, 69, 0, 230, 264, null, null],
|
||||||
|
[0, "황숭", null, 0, null, 67, 63, 72, 0, 208, 263, null, null],
|
||||||
|
[0, "화핵", null, 0, null, 20, 24, 71, 0, 217, 278, null, null],
|
||||||
|
[0, "허의", null, 0, null, 51, 74, 15, 0, 213, 263, null, null],
|
||||||
|
[0, "송겸", null, 0, null, 66, 78, 42, 0, 175, 227, null, null],
|
||||||
|
[0, "호제", null, 0, null, 57, 39, 68, 0, 207, 264, null, null],
|
||||||
|
[0, "나헌", null, 0, null, 85, 70, 77, 0, 218, 270, null, null],
|
||||||
|
[0, "아들노숙", null, 0, null, 73, 53, 74, 0, 217, 272, null, null],
|
||||||
|
[0, "구성", null, 0, null, 63, 70, 38, 0, 157, 187, null, null],
|
||||||
|
[0, "어부라", null, 0, null, 72, 68, 21, 0, 150, 195, null, null],
|
||||||
|
[0, "아하소과", null, 0, null, 61, 76, 13, 0, 204, 253, null, null],
|
||||||
|
[0, "가비능", null, 0, null, 77, 69, 52, 0, 172, 235, null, null],
|
||||||
|
[0, "구력거", null, 0, null, 80, 68, 56, 0, 152, 193, null, null],
|
||||||
|
[0, "강단", null, 0, null, 65, 83, 48, 0, 168, 234, null, null],
|
||||||
|
[0, "황란", null, 0, null, 63, 75, 44, 0, 200, 264, null, null],
|
||||||
|
[0, "호주천", null, 0, null, 70, 71, 40, 0, 169, 230, null, null],
|
||||||
|
[0, "종리목", null, 0, null, 80, 72, 73, 0, 214, 269, null, null],
|
||||||
|
[0, "제갈교", null, 0, null, 62, 27, 75, 0, 204, 228, null, null],
|
||||||
|
[0, "답돈", null, 0, null, 84, 82, 61, 0, 158, 207, null, null],
|
||||||
|
[0, "반임", null, 0, null, 66, 79, 38, 0, 168, 225, null, null],
|
||||||
|
[0, "보도근", null, 0, null, 64, 73, 50, 0, 170, 233, null, null],
|
||||||
|
[0, "미당대왕", null, 0, null, 59, 69, 21, 0, 202, 260, null, null],
|
||||||
|
[0, "유표(흉노)", null, 0, null, 73, 74, 48, 0, 173, 252, null, null],
|
||||||
|
[0, "루반", null, 0, null, 65, 76, 39, 0, 178, 207, null, null],
|
||||||
|
[0, "손관", null, 0, null, 72, 78, 51, 0, 166, 217, null, null],
|
||||||
|
[0, "곽석", null, 0, null, 59, 71, 48, 0, 158, 187, null, null],
|
||||||
|
[0, "주조", null, 0, null, 63, 68, 26, 0, 152, 187, null, null],
|
||||||
|
[0, "장거", null, 0, null, 79, 75, 56, 0, 150, 188, null, null],
|
||||||
|
[0, "장순", null, 0, null, 73, 81, 60, 0, 152, 188, null, null],
|
||||||
|
[0, "해니", null, 0, null, 62, 78, 35, 0, 191, 233, null, null],
|
||||||
|
[0, "토안", null, 0, null, 53, 82, 30, 0, 191, 233, null, null],
|
||||||
|
[0, "유주", null, 0, null, 67, 78, 42, 0, 172, 233, null, null],
|
||||||
|
[0, "비잔", null, 0, null, 60, 71, 51, 0, 181, 216, null, null],
|
||||||
|
[0, "월길", null, 0, null, 81, 88, 26, 0, 190, 227, null, null],
|
||||||
|
[0, "아단", null, 0, null, 72, 65, 78, 0, 186, 259, null, null],
|
||||||
|
[0, "철리길", null, 0, null, 77, 70, 52, 0, 179, 259, null, null],
|
||||||
|
[0, "주삭", null, 0, null, 54, 60, 50, 0, 174, 253, null, null],
|
||||||
|
[0, "왕이", null, 0, null, 87, 59, 77, 0, 171, 230, null, null],
|
||||||
|
[0, "왕원희", null, 0, null, 53, 37, 73, 0, 217, 268, null, null],
|
||||||
|
[0, "곽씨", null, 0, null, 42, 4, 55, 0, 184, 235, null, null],
|
||||||
|
[0, "하후씨", null, 0, null, 34, 13, 42, 0, 188, 243, null, null],
|
||||||
|
[0, "하후령녀", null, 0, null, 22, 33, 60, 0, 207, 257, null, null],
|
||||||
|
[0, "하씨", null, 0, null, 51, 14, 67, 0, 150, 189, null, null],
|
||||||
|
[0, "관은병", null, 0, null, 87, 84, 75, 0, 204, 271, null, null],
|
||||||
|
[0, "감씨", null, 8, "소패", 14, 10, 44, 1, 175, 210, null, null],
|
||||||
|
[0, "황월영", null, 0, null, 62, 33, 90, 0, 186, 235, null, null],
|
||||||
|
[0, "채염", null, 0, null, 53, 14, 80, 0, 168, 224, null, null],
|
||||||
|
[0, "채씨", null, 12, "양양", 38, 7, 70, 1, 159, 212, null, null],
|
||||||
|
[0, "소교", null, 0, null, 40, 3, 70, 0, 178, 212, null, null],
|
||||||
|
[0, "서씨", null, 0, null, 48, 16, 80, 0, 183, 232, null, null],
|
||||||
|
[0, "신헌영", null, 0, null, 48, 28, 84, 0, 191, 269, null, null],
|
||||||
|
[0, "견씨", null, 16, "업", 42, 18, 74, 1, 182, 221, null, null],
|
||||||
|
[0, "추씨", null, 5, "완", 4, 9, 66, 1, 165, 200, null, null],
|
||||||
|
[0, "조절", null, 0, null, 32, 33, 79, 0, 190, 260, null, null],
|
||||||
|
[0, "손씨", null, 0, null, 32, 14, 55, 0, 188, 250, null, null],
|
||||||
|
[0, "손상향", null, 0, null, 77, 82, 55, 0, 193, 222, null, null],
|
||||||
|
[0, "손노육", null, 0, null, 52, 10, 66, 0, 204, 253, null, null],
|
||||||
|
[0, "손노반", null, 0, null, 17, 15, 80, 0, 202, 258, null, null],
|
||||||
|
[0, "대교", null, 0, null, 33, 30, 66, 0, 177, 215, null, null],
|
||||||
|
[0, "장씨", null, 0, null, 55, 35, 66, 0, 207, 237, null, null],
|
||||||
|
[0, "장춘화", null, 0, null, 66, 29, 77, 0, 179, 234, null, null],
|
||||||
|
[0, "초선", null, 3, "하비", 42, 18, 81, 1, 176, 230, null, null],
|
||||||
|
[0, "번씨", null, 0, null, 6, 12, 50, 0, 183, 225, null, null],
|
||||||
|
[0, "미씨", null, 8, "소패", 13, 6, 72, 1, 176, 208, null, null],
|
||||||
|
[0, "변씨", null, 2, "허창", 30, 23, 55, 1, 160, 230, null, null],
|
||||||
|
[0, "보련사", null, 0, null, 45, 30, 77, 0, 198, 248, null, null],
|
||||||
|
[0, "유씨", null, 16, "업", 8, 8, 44, 1, 164, 215, null, null],
|
||||||
|
[0, "화만", null, 0, null, 85, 92, 40, 0, 191, 233, null, null],
|
||||||
|
[0, "포삼낭", null, 0, null, 87, 83, 36, 0, 191, 240, null, null],
|
||||||
|
[0, "성렴", null, 3, "서주", 66, 72, 43, 1, 168, 199, null, null],
|
||||||
|
[0, "위월", null, 3, "서주", 68, 76, 39, 1, 170, 199, null, null],
|
||||||
|
[0, "진의록", null, 3, "하비", 46, 43, 17, 1, 168, 199, null, null],
|
||||||
|
[0, "채옹", null, 0, null, 27, 16, 81, 0, 133, 192, null, null],
|
||||||
|
[0, "지양군", null, 0, null, 13, 8, 55, 0, 103, 192, null, null],
|
||||||
|
[0, "위소", null, 0, null, 21, 23, 65, 0, 204, 273, null, null],
|
||||||
|
[0, "위강", null, 0, null, 58, 35, 56, 0, 168, 213, null, null],
|
||||||
|
[0, "원요", null, 0, null, 28, 41, 50, 0, 177, 206, null, null],
|
||||||
|
[0, "왕기2", null, 0, null, 69, 67, 61, 0, 217, 281, null, null],
|
||||||
|
[0, "원환", null, 0, null, 30, 17, 72, 0, 165, 225, null, null],
|
||||||
|
[0, "우전", null, 0, null, 64, 76, 40, 0, 204, 258, null, null],
|
||||||
|
[0, "왕광", null, 0, null, 33, 65, 55, 0, 150, 190, null, null],
|
||||||
|
[0, "왕업", null, 0, null, 33, 6, 66, 0, 220, 280, null, null],
|
||||||
|
[0, "왕융", null, 0, null, 40, 57, 68, 0, 234, 305, null, null],
|
||||||
|
[0, "왕충", null, 2, "진류", 46, 39, 57, 1, 152, 214, null, null],
|
||||||
|
[0, "위풍", null, 0, null, 52, 23, 72, 0, 182, 219, null, null],
|
||||||
|
[0, "구건", null, 0, null, 39, 52, 65, 0, 239, 272, null, null],
|
||||||
|
[0, "구본", null, 0, null, 50, 41, 67, 0, 232, 269, null, null],
|
||||||
|
[0, "동백", null, 0, null, 12, 7, 52, 0, 173, 192, null, null],
|
||||||
|
[0, "마운", null, 0, null, 78, 88, 53, 0, 183, 225, null, null],
|
||||||
|
[0, "사섭", null, 17, "교지", 53, 31, 76, 12, 137, 226, null, null],
|
||||||
|
[0, "사지", null, 17, "교지", 58, 51, 52, 1, 163, 227, null, null],
|
||||||
|
[0, "사휘", null, 17, "남해", 69, 64, 44, 1, 165, 227, null, null],
|
||||||
|
[0, "사일", null, 17, "남해", 48, 36, 67, 1, 153, 230, null, null],
|
||||||
|
[0, "사광", null, 17, "교지", 58, 45, 64, 1, 175, 235, null, null],
|
||||||
|
[0, "후음", null, 0, null, 76, 72, 45, 0, 184, 219, null, null],
|
||||||
|
[0, "공주", null, 0, null, 26, 16, 68, 0, 151, 191, null, null],
|
||||||
|
[0, "고담륭", null, 0, null, 35, 24, 76, 0, 190, 251, null, null],
|
||||||
|
[0, "국연", null, 0, null, 50, 19, 77, 0, 160, 219, null, null],
|
||||||
|
[0, "오언", null, 0, null, 74, 72, 77, 0, 235, 297, null, null],
|
||||||
|
[0, "오강", null, 0, null, 48, 38, 65, 0, 216, 275, null, null],
|
||||||
|
[0, "최염", null, 16, "업", 18, 55, 77, 1, 162, 216, null, null],
|
||||||
|
[0, "좌혁", null, 0, null, 62, 66, 51, 0, 232, 280, null, null],
|
||||||
|
[0, "차주", null, 2, "정도", 49, 49, 40, 1, 164, 199, null, null],
|
||||||
|
[0, "주태", null, 0, null, 71, 64, 71, 0, 207, 261, null, null],
|
||||||
|
[0, "북궁백옥", null, 0, null, 66, 72, 49, 0, 146, 187, null, null],
|
||||||
|
[0, "변장", null, 0, null, 69, 56, 47, 0, 133, 187, null, null],
|
||||||
|
[0, "순의", null, 0, null, 16, 13, 72, 0, 207, 274, null, null],
|
||||||
|
[0, "서진순욱", null, 0, null, 8, 19, 77, 0, 225, 289, null, null],
|
||||||
|
[0, "사마준", null, 0, null, 85, 82, 80, 0, 232, 286, null, null],
|
||||||
|
[0, "종육", null, 0, null, 32, 12, 71, 0, 223, 263, null, null],
|
||||||
|
[0, "초이", null, 0, null, 62, 69, 63, 0, 219, 266, null, null],
|
||||||
|
[0, "제갈정", null, 0, null, 58, 63, 66, 0, 246, 300, null, null],
|
||||||
|
[0, "보협", null, 0, null, 62, 49, 53, 0, 216, 264, null, null],
|
||||||
|
[0, "복양흥", null, 0, null, 32, 70, 65, 0, 224, 264, null, null],
|
||||||
|
[0, "보천", null, 0, null, 71, 60, 71, 0, 222, 272, null, null],
|
||||||
|
[0, "유대연주", null, 0, null, 53, 32, 55, 0, 148, 192, null, null],
|
||||||
|
[0, "유대", null, 2, "진류", 63, 58, 30, 1, 155, 202, null, null],
|
||||||
|
[0, "유승", null, 0, null, 45, 65, 33, 0, 215, 258, null, null],
|
||||||
|
[0, "여영기", null, 3, "하비", 79, 88, 37, 1, 182, 198, null, null],
|
||||||
|
[0, "독발수기능", null, 0, null, 89, 93, 77, 0, 232, 279, null, null],
|
||||||
|
[0, "진수", null, 0, null, 12, 22, 68, 0, 233, 297, null, null],
|
||||||
|
[0, "마륭", null, 0, null, 84, 75, 76, 0, 231, 296, null, null],
|
||||||
|
[0, "도황", null, 0, null, 76, 68, 72, 0, 232, 290, null, null],
|
||||||
|
[0, "진온", null, 0, null, 60, 38, 48, 0, 167, 192, null, null],
|
||||||
|
[0, "교모", null, 0, null, 54, 45, 69, 0, 137, 190, null, null],
|
||||||
|
[0, "교국로", null, 19, "건업", 38, 17, 55, 1, 150, 220, null, null],
|
||||||
|
[0, "포신", null, 0, null, 77, 67, 81, 0, 152, 192, null, null],
|
||||||
|
[0, "포훈", null, 2, "복양", 41, 35, 75, 1, 180, 226, null, null],
|
||||||
|
[0, "포도", null, 0, null, 57, 70, 43, 0, 159, 190, null, null],
|
||||||
|
[0, "위자", null, 0, null, 58, 38, 62, 0, 150, 190, null, null],
|
||||||
|
[0, "유화", null, 16, "남피", 21, 16, 59, 1, 165, 216, null, null],
|
||||||
|
[0, "이이자", null, 4, "북평", 32, 18, 48, 1, 157, 199, null, null],
|
||||||
|
[0, "선우보", null, 0, null, 74, 69, 65, 0, 161, 229, null, null],
|
||||||
|
[0, "원유", null, 0, null, 57, 39, 73, 0, 150, 193, null, null],
|
||||||
|
[0, "사마휘", null, 0, null, 21, 8, 92, 0, 173, 208, "은둔", null, "좋지~좋아"],
|
||||||
|
[0, "화타", null, 0, null, 8, 7, 68, 0, 173, 207, "은둔", "의술"],
|
||||||
|
[0, "관로", null, 0, null, 13, 9, 72, 0, 200, 233, "은둔", null],
|
||||||
|
[0, "예형", null, 0, null, 13, 4, 90, 0, 173, 199, null, null],
|
||||||
|
[0, "원혁", null, 7, "수춘", 52, 18, 18, 1, 180, 246, null, null],
|
||||||
|
[0, "헌제", null, 2, "낙양", 23, 17, 66, 1, 184, 234, null, null, "….."],
|
||||||
|
[0, "황완", null, 0, null, 40, 34, 71, 0, 141, 192, null, null],
|
||||||
|
[0, "마일제", null, 0, null, 43, 25, 70, 0, 130, 194, null, null],
|
||||||
|
[0, "유총", null, 0, null, 82, 45, 60, 0, 151, 197, null, null],
|
||||||
|
[0, "낙준", null, 0, null, 51, 37, 66, 0, 152, 197, null, null],
|
||||||
|
[0, "낙통", null, 0, null, 76, 57, 73, 0, 193, 228, null, null],
|
||||||
|
[0, "허소", null, 0, null, 46, 11, 82, 0, 150, 196, null, null],
|
||||||
|
[0, "허사", null, 3, "하비", 24, 20, 60, 1, 163, 199, null, null],
|
||||||
|
[0, "장초", null, 0, null, 61, 32, 60, 0, 168, 196, null, null],
|
||||||
|
[0, "양표", null, 2, "낙양", 24, 20, 60, 1, 142, 225, null, null],
|
||||||
|
[0, "왕필", null, 2, "낙양", 53, 44, 59, 1, 170, 228, null, null],
|
||||||
|
[0, "사환", null, 2, "진류", 70, 71, 45, 1, 173, 209, null, null],
|
||||||
|
[0, "정비", null, 2, "진류", 34, 30, 57, 1, 158, 214, null, null],
|
||||||
|
[0, "두씨", null, 3, "하비", 26, 41, 52, 1, 172, 236, null, null],
|
||||||
|
[0, "누규", null, 12, "양양", 58, 40, 87, 1, 143, 212, null, null],
|
||||||
|
[0, "단외", null, 1, "장안", 55, 48, 55, 1, 148, 209, null, null],
|
||||||
|
[0, "원사", null, 2, "초", 65, 43, 78, 1, 159, 210, null, null],
|
||||||
|
[0, "사의관", null, 7, "수춘", 22, 12, 67, 1, 168, 199, null, null],
|
||||||
|
[0, "송건", null, 0, null, 66, 77, 40, 0, 164, 214, null, null],
|
||||||
|
[0, "곽원", null, 16, "업", 66, 73, 36, 1, 162, 205, null, null],
|
||||||
|
[0, "소유", null, 16, "업", 51, 59, 48, 1, 167, 210, null, null],
|
||||||
|
[0, "주한", null, 16, "남피", 49, 51, 26, 1, 162, 204, null, null],
|
||||||
|
[0, "뇌서", null, 0, null, 68, 65, 34, 0, 170, 212, null, null],
|
||||||
|
[0, "장홍", null, 3, "복양", 72, 81, 65, 1, 164, 196, null, null],
|
||||||
|
[0, "유위대", null, 4, "북평", 53, 44, 62, 1, 152, 199, null, null],
|
||||||
|
[0, "문칙", null, 4, "계", 59, 53, 32, 1, 164, 199, null, null],
|
||||||
|
[0, "습진", null, 0, null, 64, 68, 51, 0, 189, 221, null, null],
|
||||||
|
[0, "습정", null, 0, null, 49, 29, 70, 0, 181, 229, null, null],
|
||||||
|
[0, "이리", null, 1, "장안", 65, 72, 37, 1, 171, 198, null, null]
|
||||||
|
],
|
||||||
|
"general_ex":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"cities":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"history":[
|
||||||
|
"<C>●</>197년 1월:<L><b>【역사모드4-2】</b>황제 원술</>",
|
||||||
|
"<C>●</>197년 1월:<L><b>【이벤트】</b></>원술이 황제가 되고 반원술 연합이 결성되다"
|
||||||
|
],
|
||||||
|
"initialEvents":[
|
||||||
|
[
|
||||||
|
true,
|
||||||
|
["ChangeCity", "free", {
|
||||||
|
"pop":"70%",
|
||||||
|
"agri":"70%",
|
||||||
|
"comm":"70%",
|
||||||
|
"secu":"70%",
|
||||||
|
"trust":80
|
||||||
|
}],
|
||||||
|
["ChangeCity", "occupied", {
|
||||||
|
"pop":"70%",
|
||||||
|
"agri":"70%",
|
||||||
|
"comm":"70%",
|
||||||
|
"secu":"70%",
|
||||||
|
"trust":80,
|
||||||
|
"def":"70%",
|
||||||
|
"wall":"70%"
|
||||||
|
}]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"events":[
|
||||||
|
[
|
||||||
|
"destroy_nation", 1000,
|
||||||
|
["and",
|
||||||
|
["Date", ">=", 183, 1],
|
||||||
|
["RemainNation", "==", 1]
|
||||||
|
],
|
||||||
|
["BlockScoutAction"],
|
||||||
|
["DeleteEvent"]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"title": "【가상모드28】 강서유서 소설 월드",
|
"title": "【가상모드28】 강서유서 월드",
|
||||||
"startYear": 180,
|
"startYear": 180,
|
||||||
"history": [
|
"history": [
|
||||||
"<C>●</>180년 1월:<L><b>【가상모드28】</b>강서유서 소설 월드</>",
|
"<C>●</>180년 1월:<L><b>【가상모드28】</b>강서유서 월드</>",
|
||||||
"<C>●</>180년 1월:<L><b>【이벤트】</b></>강서유서의 소설 캐릭터들이 날뛰는곳"
|
"<C>●</>180년 1월:<L><b>【이벤트】</b></>강서유서의 세계 속 캐릭터들이 날뛰는곳"
|
||||||
],
|
],
|
||||||
"stat": {
|
"stat": {
|
||||||
"total": 210,
|
"total": 210,
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"title": "【가상모드28-b】 강서유서 소설 월드(비세력)",
|
"title": "【가상모드28-b】 강서유서 월드(비세력)",
|
||||||
"startYear": 180,
|
"startYear": 180,
|
||||||
"history": [
|
"history": [
|
||||||
"<C>●</>180년 1월:<L><b>【가상모드28】</b>강서유서 소설 월드</>",
|
"<C>●</>180년 1월:<L><b>【가상모드28】</b>강서유서 월드</>",
|
||||||
"<C>●</>180년 1월:<L><b>【이벤트】</b></>강서유서의 소설 캐릭터들이 날뛰는곳"
|
"<C>●</>180년 1월:<L><b>【이벤트】</b></>강서유서의 세계 속 캐릭터들이 날뛰는곳"
|
||||||
],
|
],
|
||||||
"stat": {
|
"stat": {
|
||||||
"total": 210,
|
"total": 210,
|
||||||
@@ -18,10 +18,10 @@
|
|||||||
"general":[
|
"general":[
|
||||||
[1, "키타노 유키코", null, 0, null, 95, 31, 95, 0, 160, 300, "대의", "저격", "모든것은 우리들의 꿈을 이루기 위해…"],
|
[1, "키타노 유키코", null, 0, null, 95, 31, 95, 0, 160, 300, "대의", "저격", "모든것은 우리들의 꿈을 이루기 위해…"],
|
||||||
[1, "키타노 시오리", null, 0, null, 88, 96, 89, 0, 160, 300, "대의", "무쌍", "언니를 지켜보일거야"],
|
[1, "키타노 시오리", null, 0, null, 88, 96, 89, 0, 160, 300, "대의", "무쌍", "언니를 지켜보일거야"],
|
||||||
[1, "이치가와 아이리", null, 0, null, 87, 73, 94, 0, 160, 300, "대의", null, "유키코를 지킬거야. 내 속죄를 위해"],
|
[1, "이치가와 아이리", null, 0, null, 87, 73, 94, 0, 160, 300, "대의", null, "모두와 함께 세계에 혁명을…."],
|
||||||
[1, "이즈카에 에리카", null, 0, null, 77, 93, 72, 0, 160, 300, "의협", "저격"],
|
[1, "이즈카에 에리카", null, 0, null, 77, 93, 72, 0, 160, 300, "의협", "저격", "모두와 함께 그녀를 지키며 혁명을!"],
|
||||||
[1, "타에구치 유카리", null, 0, null, 71, 66, 80, 0, 160, 300, "할거", null, "아버지와 어머니를 지키기 위해 미래에서 왓어 난"],
|
[1, "타에구치 유카리", null, 0, null, 71, 66, 80, 0, 160, 300, "할거", null, "아버지와 어머니를 지키기 위해 미래에서 왓어 난"],
|
||||||
[1, "오모타 아미유", null, 0, null, 64, 51, 44, 0, 160, 300, "대의", null],
|
[1, "오모타 아미유", null, 0, null, 64, 51, 44, 0, 160, 300, "유지", null],
|
||||||
[1, "소카이 요시나", null, 0, null, 79, 62, 80, 0, 160, 300, "의협", null],
|
[1, "소카이 요시나", null, 0, null, 79, 62, 80, 0, 160, 300, "의협", null],
|
||||||
[1, "소미타키 코토키", null, 0, null, 86, 79, 55, 0, 160, 300, "재간", null],
|
[1, "소미타키 코토키", null, 0, null, 86, 79, 55, 0, 160, 300, "재간", null],
|
||||||
[1, "타카이시 유키", null, 0, null, 83, 64, 72, 0, 160, 300, "재간", null],
|
[1, "타카이시 유키", null, 0, null, 83, 64, 72, 0, 160, 300, "재간", null],
|
||||||
@@ -29,11 +29,11 @@
|
|||||||
[1, "요리시마 사치코", null, 0, null, 51, 81, 70, 0, 160, 300, null, "저격"],
|
[1, "요리시마 사치코", null, 0, null, 51, 81, 70, 0, 160, 300, null, "저격"],
|
||||||
[0, "큐어 스플릿", null, 0, null, 80, 90, 56, 0, 160, 300, null, "무쌍"],
|
[0, "큐어 스플릿", null, 0, null, 80, 90, 56, 0, 160, 300, null, "무쌍"],
|
||||||
[0, "큐어 솔크", null, 0, null, 93, 97, 67, 0, 160, 300, null, null, "아버지를 이겨보일거야."],
|
[0, "큐어 솔크", null, 0, null, 93, 97, 67, 0, 160, 300, null, null, "아버지를 이겨보일거야."],
|
||||||
[0, "큐어 샤인", null, 0, null, 89, 75, 99, 0, 160, 300, "패권", "신산", "디지털 월드와 인간세계 모두를 위해"],
|
[0, "큐어 샤인", null, 0, null, 89, 75, 99, 0, 160, 300, "패권", "신산", "아빠를 막겠어. 디지털 월드와 현실세계의 평화를 위해... 내가 선택했으니까"],
|
||||||
[0, "큐어 러브", null, 0, null, 77, 86, 54, 0, 160, 300, null, null, "사랑을 추구하는 전사 큐어 러브"],
|
[0, "큐어 러브", null, 0, null, 77, 86, 54, 0, 160, 300, null, null, "사랑을 추구하는 전사 큐어 러브"],
|
||||||
[0, "큐어 프로즌", null, 0, null, 64, 88, 72, 0, 160, 300, null, null],
|
[0, "큐어 프로즌", null, 0, null, 64, 88, 72, 0, 160, 300, null, null, "얼음처럼 차가운 성격, 큐어 프로즌"],
|
||||||
[0, "큐어 바이올렛", null, 0, null, 49, 89, 77, 0, 160, 300, null, "상재"],
|
[0, "큐어 바이올렛", null, 0, null, 49, 89, 77, 0, 160, 300, null, "상재", "바이올렛은 조화의 상징 큐어 바이올렛"],
|
||||||
[0, "큐어 드림", null, 0, null, 97, 99, 71, 0, 160, 300, null, "무쌍"],
|
[0, "큐어 드림", null, 0, null, 97, 99, 71, 0, 160, 300, null, "무쌍", "희망이 가진 위대한 힘, 큐어 드림!"],
|
||||||
[0, "큐어 뮤즈", null, 0, null, 71, 95, 64, 0, 160, 300, null, null],
|
[0, "큐어 뮤즈", null, 0, null, 71, 95, 64, 0, 160, 300, null, null],
|
||||||
[0, "큐어 플리오네", null, 0, null, 89, 102, 86, 0, 148, 300, null, null],
|
[0, "큐어 플리오네", null, 0, null, 89, 102, 86, 0, 148, 300, null, null],
|
||||||
[0, "큐어 리큐브", null, 0, null, 67, 88, 82, 0, 152, 300, null, null],
|
[0, "큐어 리큐브", null, 0, null, 67, 88, 82, 0, 152, 300, null, null],
|
||||||
@@ -41,13 +41,13 @@
|
|||||||
[0, "큐어 뮤직", null, 0, null, 79, 84, 60, 0, 160, 300, null, null],
|
[0, "큐어 뮤직", null, 0, null, 79, 84, 60, 0, 160, 300, null, null],
|
||||||
[0, "큐어 포르테", null, 0, null, 72, 77, 55, 0, 160, 300, null, null],
|
[0, "큐어 포르테", null, 0, null, 72, 77, 55, 0, 160, 300, null, null],
|
||||||
[0, "큐어 리스", null, 0, null, 89, 80, 67, 0, 160, 300, null, null],
|
[0, "큐어 리스", null, 0, null, 89, 80, 67, 0, 160, 300, null, null],
|
||||||
[0, "분비", null, 0, null, 85, 94, 90, 0, 148, 300, null, null],
|
[0, "분비", null, 0, null, 85, 94, 90, 0, 148, 300, null, null, "세상은 말이지, 강한자가 약한자를 지배하는 법이 당연시 되어 있어"],
|
||||||
[0, "시비렛타", null, 0, null, 82, 73, 90, 0, 127, 300, null, null],
|
[0, "시비렛타", null, 0, null, 82, 73, 90, 0, 127, 300, null, null, "싫어….! 이대로 죽고싶진 않단 말이야!"],
|
||||||
[0, "히토", null, 0, null, 64, 88, 80, 0, 115, 300, null, null],
|
[0, "히토", null, 0, null, 64, 88, 80, 0, 115, 300, null, null, "이젠 내가 나설 차례인가?"],
|
||||||
[2, "모요코모 미에카", null, 0, null, 91, 60, 97, 0, 141, 300, "할거", null, "모든것은 분비님이 부활시키려는 그자를 막기 위해서야! 그자는 우리가 죽을뻔한 선택받은 아이들의 적이니까!"],
|
[2, "모요코모 미에카", null, 0, null, 91, 60, 97, 0, 141, 300, "할거", null, "우리가 이럴수 있는 이유는 디지몬의 독재자 그를 막기 위해서…"],
|
||||||
[2, "노자미 미노코", null, 0, null, 80, 77, 80, 0, 143, 300, null, null, "도체 요시미츠님(분비님)은 뭔 생각이신거야…"],
|
[2, "노자미 미노코", null, 0, null, 80, 77, 80, 0, 143, 300, null, null, "도대체 그분은 무슨 생각을 하는거지?"],
|
||||||
[2, "노자미 미에키", null, 0, null, 73, 70, 55, 0, 160, 300, null, null],
|
[2, "노자미 미에키", null, 0, null, 73, 70, 55, 0, 160, 300, null, null, "우리들은 디지털 월드와 현실세계를 잇는 아이들"],
|
||||||
[999, "리아", null, 0, null, 99, 34, 100, 0, 132, 300, null, "집중", "이 세계를 부디 안정시켜줄 사람이 필요해…."],
|
[0, "리아", null, 0, null, 99, 34, 100, 0, 132, 300, null, "집중", "어느새, 두세계의 융합이 코앞으로 다가와 버렸어"],
|
||||||
[0, "코구라 아치모토", null, 0, null, 51, 44, 114, 0, 160, 300, null, "발명", "크흐흐…다크 프리큐어여 모습을 드러내라…!"],
|
[0, "코구라 아치모토", null, 0, null, 51, 44, 114, 0, 160, 300, null, "발명", "크흐흐…다크 프리큐어여 모습을 드러내라…!"],
|
||||||
[0, "다크 프리큐어즈", null, 0, null, 84, 97, 92, 0, 160, 300, null, null, "모든건… 그분의 부활을 위해."],
|
[0, "다크 프리큐어즈", null, 0, null, 84, 97, 92, 0, 160, 300, null, null, "모든건… 그분의 부활을 위해."],
|
||||||
[0, "레톨프", null, 0, null, 87, 88, 64, 0, 160, 300, null, null],
|
[0, "레톨프", null, 0, null, 87, 88, 64, 0, 160, 300, null, null],
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
[2, "아야토케 나이미", null, 0, null, 76, 44, 88, 0, 151, 300, null, null],
|
[2, "아야토케 나이미", null, 0, null, 76, 44, 88, 0, 151, 300, null, null],
|
||||||
[2, "히마즈라 유게키", null, 0, null, 54, 80, 12, 0, 149, 300, null, null],
|
[2, "히마즈라 유게키", null, 0, null, 54, 80, 12, 0, 149, 300, null, null],
|
||||||
[2, "하루사키 유나", null, 0, null, 77, 44, 91, 0, 150, 300, null, null],
|
[2, "하루사키 유나", null, 0, null, 77, 44, 91, 0, 150, 300, null, null],
|
||||||
[0, "야가미 타이치", null, 0, null, 89, 88, 67, 0, 153, 300, null, null],
|
[0, "야가미 타이치", null, 0, null, 89, 88, 67, 0, 153, 300, null, null, "반드시 돌아올게. 감기, 빨리 나아야해."],
|
||||||
[0, "야가미 소라", null, 0, null, 62, 37, 75, 0, 153, 300, null, null],
|
[0, "야가미 소라", null, 0, null, 62, 37, 75, 0, 153, 300, null, null],
|
||||||
[0, "야가미 유메", null, 0, null, 80, 55, 78, 0, 160, 300, null, null],
|
[0, "야가미 유메", null, 0, null, 80, 55, 78, 0, 160, 300, null, null],
|
||||||
[0, "이시다 야마토", null, 0, null, 72, 77, 60, 0, 153, 300, null, null],
|
[0, "이시다 야마토", null, 0, null, 72, 77, 60, 0, 153, 300, null, null],
|
||||||
@@ -70,14 +70,15 @@
|
|||||||
[2, "야카기 츠에루", null, 0, null, 83, 80, 51, 0, 160, 300, null, null, "할머니의 업보… 제가 신 갚아나갈 거에요"],
|
[2, "야카기 츠에루", null, 0, null, 83, 80, 51, 0, 160, 300, null, null, "할머니의 업보… 제가 신 갚아나갈 거에요"],
|
||||||
[0, "사이온지 카나타", null, 0, null, 81, 79, 85, 0, 160, 300, null, null, "내가 먼 말할게 좋아해 미유,"],
|
[0, "사이온지 카나타", null, 0, null, 81, 79, 85, 0, 160, 300, null, null, "내가 먼 말할게 좋아해 미유,"],
|
||||||
[0, "사이온지 미유", null, 0, null, 78, 64, 82, 0, 160, 300, null, null, "미우… 방금 뭐라고?.....루? 루란 말이야?"],
|
[0, "사이온지 미유", null, 0, null, 78, 64, 82, 0, 160, 300, null, null, "미우… 방금 뭐라고?.....루? 루란 말이야?"],
|
||||||
[0, "사이온지 미우", null, 0, null, 85, 91, 33, 0, 160, 300, null, "견고", "크하하… 모두 박살나 버려라, 이딴 세상!"],
|
[0, "사이온지 미우", null, 0, null, 85, 91, 33, 0, 160, 300, null, "견고", "엄마도, 아빠도 우리들도 모두, 모든것은.... 이곳에서 시작됬어"],
|
||||||
[0, "오카자키 나기사", null, 0, null, 77, 17, 91, 0, 160, 300, null, null, "경단~ 경단~ 경단~경단 경단 가족~"],
|
[0, "오카자키 나기사", null, 0, null, 77, 17, 91, 0, 160, 300, null, null, "경단~ 경단~ 경단~경단 경단 가족~"],
|
||||||
[0, "오카자키 토모야", null, 0, null, 79, 82, 51, 0, 160, 300, null, null],
|
[0, "오카자키 토모야", null, 0, null, 79, 82, 51, 0, 160, 300, null, null],
|
||||||
[0, "오카자키 우시오", null, 0, null, 67, 77, 68, 0, 160, 300, null, null, "미우를 구하기 위해..! 난 싸울거야 친구니까!"],
|
[0, "오카자키 우시오", null, 0, null, 67, 77, 68, 0, 160, 300, null, null, "이곳은 마을의 마음이니까"],
|
||||||
[0, "최산해", null, 0, null, 82, 88, 33, 0, 160, 300, null, null],
|
[0, "최산해", null, 0, null, 82, 88, 33, 0, 160, 300, null, null],
|
||||||
[0, "모토미야 유지", null, 0, null, 86, 31, 88, 0, 160, 300, null, "상재", "허허…. 이나라가 어찌되련지…"],
|
[0, "모토미야 유지", null, 0, null, 86, 31, 88, 0, 160, 300, null, "상재", "허허…. 이나라가 어찌되련지…"],
|
||||||
[0, "유에", null, 0, null, 56, 14, 80, 0, 160, 300, null, null, "백성을 우선시하는게 통치의 근본."],
|
[0, "유에", null, 0, null, 56, 14, 80, 0, 160, 300, null, null, "백성을 우선시하는게 통치의 근본."],
|
||||||
[0, "에이", null, 0, null, 64, 33, 97, 0, 160, 300, null, null, "유에는 소중한 친구이자 주군,"],
|
[0, "에이", null, 0, null, 64, 33, 97, 0, 160, 300, null, null, "유에는 소중한 친구이자 주군,"],
|
||||||
|
[0, "견휘", null, 0, null, 85, 44, 92, 0, 160, 300, null, "집중"],
|
||||||
[0, "고현", null, 0, null, 52, 37, 81, 0, 160, 300, null, null],
|
[0, "고현", null, 0, null, 52, 37, 81, 0, 160, 300, null, null],
|
||||||
[5, "고순", null, 0, null, 88, 86, 66, 0, 160, 300, null, "기병"],
|
[5, "고순", null, 0, null, 88, 86, 66, 0, 160, 300, null, "기병"],
|
||||||
[5, "장료", null, 0, null, 85, 92, 78, 0, 160, 300, null, "무쌍"],
|
[5, "장료", null, 0, null, 85, 92, 78, 0, 160, 300, null, "무쌍"],
|
||||||
@@ -96,7 +97,7 @@
|
|||||||
[3, "유희", null, 0, null, 64, 75, 62, 0, 160, 300, null, null],
|
[3, "유희", null, 0, null, 64, 75, 62, 0, 160, 300, null, null],
|
||||||
[3, "나지현", null, 0, null, 64, 33, 71, 0, 160, 300, null, null],
|
[3, "나지현", null, 0, null, 64, 33, 71, 0, 160, 300, null, null],
|
||||||
[3, "아사쿠라 나오", null, 0, null, 81, 63, 83, 0, 160, 300, null, "저격", "모든건 우리를 싸우게 만들고 서로 죽이게 한 어른들에 한 복수,"],
|
[3, "아사쿠라 나오", null, 0, null, 81, 63, 83, 0, 160, 300, null, "저격", "모든건 우리를 싸우게 만들고 서로 죽이게 한 어른들에 한 복수,"],
|
||||||
[3, "아오이 타쿠마", null, 0, null, 77, 89, 55, 0, 160, 300, null, null],
|
[3, "아오이 타쿠마", null, 0, null, 77, 89, 55, 0, 160, 300, null, null, "웃기지마!"],
|
||||||
[0, "우라베 슈고", null, 0, null, 53, 68, 61, 0, 160, 300, null, null],
|
[0, "우라베 슈고", null, 0, null, 53, 68, 61, 0, 160, 300, null, null],
|
||||||
[0, "카사이 오사무", null, 0, null, 66, 54, 39, 0, 160, 300, null, null],
|
[0, "카사이 오사무", null, 0, null, 66, 54, 39, 0, 160, 300, null, null],
|
||||||
[0, "카케이 쿄코", null, 0, null, 77, 55, 81, 0, 160, 300, null, null],
|
[0, "카케이 쿄코", null, 0, null, 77, 55, 81, 0, 160, 300, null, null],
|
||||||
@@ -109,20 +110,20 @@
|
|||||||
[0, "야기 아야네", null, 0, null, 78, 83, 55, 0, 160, 300, null, "저격"],
|
[0, "야기 아야네", null, 0, null, 78, 83, 55, 0, 160, 300, null, "저격"],
|
||||||
[0, "야자와 아이", null, 0, null, 67, 89, 57, 0, 160, 300, null, "무쌍"],
|
[0, "야자와 아이", null, 0, null, 67, 89, 57, 0, 160, 300, null, "무쌍"],
|
||||||
[0, "유키 카나", null, 0, null, 79, 24, 88, 0, 160, 300, null, "통찰"],
|
[0, "유키 카나", null, 0, null, 79, 24, 88, 0, 160, 300, null, "통찰"],
|
||||||
[0, "노다 샤토미", null, 0, null, 61, 55, 69, 0, 160, 300, null, null],
|
[0, "노다 샤토미", null, 0, null, 61, 55, 69, 0, 160, 300, null, null, "적어도 내일까진 살수 있을거라 생각했어…."],
|
||||||
[0, "사사가와 류헤이", null, 0, null, 66, 58, 66, 0, 160, 300, null, null],
|
[0, "사사가와 류헤이", null, 0, null, 66, 58, 66, 0, 160, 300, null, null],
|
||||||
[0, "키리야마 카즈오", null, 0, null, 91, 92, 99, 0, 160, 300, "패권", "위압", "뒷면이 나오면…이 게임을 받아들이기로…!"],
|
[0, "키리야마 카즈오", null, 0, null, 91, 92, 99, 0, 160, 300, "패권", "위압", "뒷면이 나오면…이 게임을 받아들이기로…!"],
|
||||||
[0, "이치가와 쥬리", null, 0, null, 34, 32, 91, 0, 160, 300, null, "발명"],
|
[0, "이치가와 쥬리", null, 0, null, 34, 32, 91, 0, 160, 300, null, "발명"],
|
||||||
[0, "모토무라 아야네", null, 0, null, 77, 67, 55, 0, 163, 300, null, null],
|
[0, "모토무라 아야네", null, 0, null, 77, 67, 55, 0, 163, 300, null, null],
|
||||||
[0, "코토히키 카요코", null, 0, null, 78, 33, 78, 0, 160, 300, null, null],
|
[0, "코토히키 카요코", null, 0, null, 78, 33, 78, 0, 160, 300, null, null, "나도 널 좋아해 히로키…."],
|
||||||
[0, "스기무라 히로키", null, 0, null, 67, 90, 45, 0, 160, 300, "유지", null],
|
[0, "스기무라 히로키", null, 0, null, 67, 90, 45, 0, 160, 300, "유지", null, "살고싶은 마음은 모두가 다 똑같아, 그런데 왜 자기 혼자만 살려고 하는거지?!"],
|
||||||
[0, "민유희", null, 0, null, 89, 55, 81, 0, 163, 300, null, null],
|
[0, "민유희", null, 0, null, 89, 55, 81, 0, 163, 300, null, null],
|
||||||
[0, "사카키 유코", null, 0, null, 45, 34, 60, 0, 160, 300, null, null],
|
[0, "사카키 유코", null, 0, null, 45, 34, 60, 0, 160, 300, null, null, "그러니까 안돼…. 나혼자만 살아남아선 안되는거야…."],
|
||||||
[0, "사쿠라이 사키", null, 0, null, 78, 77, 66, 0, 160, 300, null, "저격"],
|
[0, "사쿠라이 사키", null, 0, null, 78, 77, 66, 0, 160, 300, null, "저격"],
|
||||||
[0, "마키", null, 0, null, 72, 74, 56, 0, 160, 300, null, null],
|
[0, "마키", null, 0, null, 72, 74, 56, 0, 160, 300, null, null],
|
||||||
[0, "마이", null, 0, null, 70, 70, 60, 0, 160, 300, null, null],
|
[0, "마이", null, 0, null, 70, 70, 60, 0, 160, 300, null, null],
|
||||||
[0, "소마 미츠코", null, 0, null, 93, 66, 90, 0, 160, 300, null, null, "나는 뺏는쪽에 서서 살아가는 거잖아…?"],
|
[0, "소마 미츠코", null, 0, null, 93, 66, 90, 0, 160, 300, null, null, "나는 뺏는쪽에 서서 살아가는 거잖아…?"],
|
||||||
[0, "타카구치유이치로", null, 0, null, 77, 54, 79, 0, 160, 300, null, null],
|
[0, "타카구치유이치로", null, 0, null, 77, 54, 79, 0, 160, 300, null, null, "미츠코는 다들 얘기하는 것만큼 나쁜 애가 아니라고… 설령 진짜로 나쁜 짓을 하고 다닌다 해도 그렇게라도 하지 않곤 못 견딜 이유가 있을거라고 분명 그건 미츠코가 나빠서 그러는게 아니라고 생각해"],
|
||||||
[0, "스즈키 아야로", null, 0, null, 55, 44, 77, 0, 160, 300, null, null],
|
[0, "스즈키 아야로", null, 0, null, 55, 44, 77, 0, 160, 300, null, null],
|
||||||
[0, "아사기 유미", null, 0, null, 84, 56, 66, 0, 160, 300, null, null],
|
[0, "아사기 유미", null, 0, null, 84, 56, 66, 0, 160, 300, null, null],
|
||||||
[1, "아오조야 하나코", null, 0, null, 89, 66, 94, 0, 160, 300, null, null],
|
[1, "아오조야 하나코", null, 0, null, 89, 66, 94, 0, 160, 300, null, null],
|
||||||
@@ -131,7 +132,7 @@
|
|||||||
[0, "아카타 마야코", null, 0, null, 35, 40, 55, 0, 160, 300, null, null],
|
[0, "아카타 마야코", null, 0, null, 35, 40, 55, 0, 160, 300, null, null],
|
||||||
[0, "아타키 류야", null, 0, null, 64, 12, 80, 0, 160, 300, null, null],
|
[0, "아타키 류야", null, 0, null, 64, 12, 80, 0, 160, 300, null, null],
|
||||||
[0, "우츠미 유키에", null, 0, null, 71, 44, 82, 0, 160, 300, null, null, "바보야…모두 바보야! 모두 살아돌아갈수도 있엇는데…."],
|
[0, "우츠미 유키에", null, 0, null, 71, 44, 82, 0, 160, 300, null, null, "바보야…모두 바보야! 모두 살아돌아갈수도 있엇는데…."],
|
||||||
[0, "아제라크", null, 0, null, 81, 89, 68, 0, 160, 300, null, null, "프리큐어…! 모조리 거미밥으로 만들어주마!"],
|
[0, "아제라크", null, 0, null, 81, 89, 68, 0, 160, 300, null, null],
|
||||||
[0, "악튜러스 멩스크", null, 0, null, 95, 71, 99, 0, 151, 300, "패권", "집중", "누구도 날 막을 수 없어. 네놈이건, 연합이건, 프로토스건, 그 누구도! 코프룰루를 가질 수 없다면 차라리 잿더미로 만들어 버릴테다!"],
|
[0, "악튜러스 멩스크", null, 0, null, 95, 71, 99, 0, 151, 300, "패권", "집중", "누구도 날 막을 수 없어. 네놈이건, 연합이건, 프로토스건, 그 누구도! 코프룰루를 가질 수 없다면 차라리 잿더미로 만들어 버릴테다!"],
|
||||||
[0, "발레리안 멩스크", null, 0, null, 85, 63, 88, 0, 160, 300, null, null, "난 국민의 편이오. 아버지의 죄는 용서받을 수 없다는 걸 알고 있소. 권좌에서… 내려오셔야 한다는 것도."],
|
[0, "발레리안 멩스크", null, 0, null, 85, 63, 88, 0, 160, 300, null, null, "난 국민의 편이오. 아버지의 죄는 용서받을 수 없다는 걸 알고 있소. 권좌에서… 내려오셔야 한다는 것도."],
|
||||||
[10, "호러스 워필드", null, 0, null, 95, 83, 82, 0, 160, 300, "대의", "인덕", "캐리건... 잘 들어라. 지금 왕복선 3엔 부상병들만 타고 있다. 다들 누군가의... 남편이자, 아버지야. 들은 그냥 보내다오. 알겠나? 독한 것. 넌 인간도 아니야. 넌 우릴 배신했어. 뭣 때문에? 그깟 복수 때문에?\n무고한 사람들을 얼마나 죽인 거야? 또 얼마나 더 죽일 셈이야?\n레이너가 널 보면 뭐라고 할까?"],
|
[10, "호러스 워필드", null, 0, null, 95, 83, 82, 0, 160, 300, "대의", "인덕", "캐리건... 잘 들어라. 지금 왕복선 3엔 부상병들만 타고 있다. 다들 누군가의... 남편이자, 아버지야. 들은 그냥 보내다오. 알겠나? 독한 것. 넌 인간도 아니야. 넌 우릴 배신했어. 뭣 때문에? 그깟 복수 때문에?\n무고한 사람들을 얼마나 죽인 거야? 또 얼마나 더 죽일 셈이야?\n레이너가 널 보면 뭐라고 할까?"],
|
||||||
@@ -148,11 +149,11 @@
|
|||||||
[0, "유리아 베넷", null, 0, null, 76, 41, 55, 0, 160, 300, null, null],
|
[0, "유리아 베넷", null, 0, null, 76, 41, 55, 0, 160, 300, null, null],
|
||||||
[0, "루미 베레스", null, 0, null, 77, 33, 89, 0, 160, 300, null, null],
|
[0, "루미 베레스", null, 0, null, 77, 33, 89, 0, 160, 300, null, null],
|
||||||
[0, "타이커스", null, 0, null, 61, 85, 40, 0, 160, 300, null, null],
|
[0, "타이커스", null, 0, null, 61, 85, 40, 0, 160, 300, null, null],
|
||||||
[0, "제임스 레이너", null, 0, null, 99, 88, 72, 0, 160, 300, "대의", "돌격", "피닉스! 안돼!!"],
|
[0, "제임스 레이너", null, 0, null, 99, 88, 72, 0, 160, 300, "대의", "돌격", "아크튜러스, 이 나쁜 자식! 그러지 마!"],
|
||||||
[0, "맷 호너", null, 0, null, 87, 64, 95, 0, 160, 300, null, null],
|
[0, "맷 호너", null, 0, null, 87, 64, 95, 0, 160, 300, null, null, "멩스크를 끌어내리는 건 시작일 뿐입니다. 우리 목표는 더 밝은 미래라고요. 모르시겠습니까? 우린 멩스크에게 맞선 과학자, 철학자, 자유사상가들을 해방했어요. 그것이 오늘의 가장 큰 승리입니다."],
|
||||||
[0, "로리 스완", null, 0, null, 32, 55, 93, 0, 160, 300, null, "발명"],
|
[0, "로리 스완", null, 0, null, 32, 55, 93, 0, 160, 300, null, "발명"],
|
||||||
[0, "이곤 스텟먼", null, 0, null, 11, 7, 91, 0, 160, 300, null, "발명"],
|
[0, "이곤 스텟먼", null, 0, null, 11, 7, 91, 0, 160, 300, null, "발명"],
|
||||||
[0, "가브리엘 토시", null, 0, null, 85, 96, 55, 0, 160, 300, null, null],
|
[0, "가브리엘 토시", null, 0, null, 85, 96, 55, 0, 160, 300, null, null, "순진하기 짝이 없군. 내일 새로운 멩스크가 나타나고 그 후에 또 비슷한 놈이 나타날 겁니다. 밝게 빛나는 미래 따위는...그저 허상일 뿐이지."],
|
||||||
[0, "로사 모랄레스", null, 0, null, 51, 44, 67, 0, 160, 300, null, null],
|
[0, "로사 모랄레스", null, 0, null, 51, 44, 67, 0, 160, 300, null, null],
|
||||||
[0, "레베카 레이너", null, 0, null, 81, 93, 44, 0, 160, 300, null, null],
|
[0, "레베카 레이너", null, 0, null, 81, 93, 44, 0, 160, 300, null, null],
|
||||||
[0, "케이트 록웰", null, 0, null, 43, 10, 78, 0, 160, 300, null, null],
|
[0, "케이트 록웰", null, 0, null, 43, 10, 78, 0, 160, 300, null, null],
|
||||||
@@ -161,7 +162,7 @@
|
|||||||
[0, "알렌 세자르", null, 0, null, 85, 61, 82, 0, 160, 300, null, null],
|
[0, "알렌 세자르", null, 0, null, 85, 61, 82, 0, 160, 300, null, null],
|
||||||
[0, "마이클 리버티", null, 0, null, 64, 33, 71, 0, 160, 300, null, null],
|
[0, "마이클 리버티", null, 0, null, 64, 33, 71, 0, 160, 300, null, null],
|
||||||
[0, "시온 크루스", null, 0, null, 51, 14, 85, 0, 160, 300, null, null],
|
[0, "시온 크루스", null, 0, null, 51, 14, 85, 0, 160, 300, null, null],
|
||||||
[0, "사라 케리건", null, 0, null, 95, 95, 81, 0, 160, 300, null, "무쌍"],
|
[0, "사라 케리건", null, 0, null, 95, 95, 81, 0, 160, 300, null, "무쌍", "지미, 갑옷을 걸친 기사 행세는 그만둬. 그게 어울릴 때도 있지만, 지금은... 지금은 아냐. 난 내가 뭘 해야 하는지 잘 아니까. 프로토스는 저그뿐만 아니라 행성을 통째로 파괴하고 말 거야. 난 알아. 왜냐하면... 그냥 알 수 있어. 난... 유령이잖아. 프로토스를 처리하고 나서, 저그는 그때 생각할 거야. 아크튜러스도 결국 정신을 차릴 테고. 난 알아."],
|
||||||
[10, "드랄리스카", null, 0, null, 82, 93, 78, 0, 160, 300, null, null, "케리건님이 죽다니…근데 왜 내가 그 중임을 이어받아야 하는거야?"],
|
[10, "드랄리스카", null, 0, null, 82, 93, 78, 0, 160, 300, null, null, "케리건님이 죽다니…근데 왜 내가 그 중임을 이어받아야 하는거야?"],
|
||||||
[0, "에레니카", null, 0, null, 78, 38, 91, 0, 160, 300, null, null, "곧있으면 위하신 아몬님이 완전히 부활할거야 드랄리스카 언니 후후후…."],
|
[0, "에레니카", null, 0, null, 78, 38, 91, 0, 160, 300, null, null, "곧있으면 위하신 아몬님이 완전히 부활할거야 드랄리스카 언니 후후후…."],
|
||||||
[0, "세페니아", null, 0, null, 75, 81, 51, 0, 160, 300, null, null, "에레니카 언니 뭔가 이상해"],
|
[0, "세페니아", null, 0, null, 75, 81, 51, 0, 160, 300, null, null, "에레니카 언니 뭔가 이상해"],
|
||||||
@@ -170,24 +171,24 @@
|
|||||||
[0, "데히카", null, 0, null, 75, 91, 55, 0, 160, 300, null, null],
|
[0, "데히카", null, 0, null, 75, 91, 55, 0, 160, 300, null, null],
|
||||||
[0, "스투코프 부제독", null, 0, null, 87, 71, 93, 0, 160, 300, null, null],
|
[0, "스투코프 부제독", null, 0, null, 87, 71, 93, 0, 160, 300, null, null],
|
||||||
[0, "니아드라", null, 0, null, 80, 83, 52, 0, 160, 300, null, null],
|
[0, "니아드라", null, 0, null, 80, 83, 52, 0, 160, 300, null, null],
|
||||||
[0, "아바투르", null, 0, null, 43, 33, 81, 0, 160, 300, null, "발명"],
|
[0, "아바투르", null, 0, null, 43, 33, 81, 0, 160, 300, null, "발명", "아바투르. 군단 진화 및 유전자 조작. 처음엔 초월체, 이후 칼날 여왕을 섬겼음. 이제 당신을 섬김.."],
|
||||||
[0, "다고쓰", null, 0, null, 81, 85, 80, 0, 160, 300, null, null, "휴우… 드랄리스카도 환생자라 다행이야, 죽을일은 없겠네… 근데 케리건이 죽을줄이야…"],
|
[0, "다고쓰", null, 0, null, 81, 85, 80, 0, 160, 300, null, null, "휴우… 드랄리스카도 환생자라 다행이야, 죽을일은 없겠네… 근데 케리건이 죽을줄이야…"],
|
||||||
[0, "초월체", null, 0, null, 95, 55, 99, 0, 160, 300, null, null],
|
[0, "초월체", null, 0, null, 95, 55, 99, 0, 160, 300, null, null, "일어나라, 내 아이야, 일어나 네 생득의 영광을 보듬어라.\n나는 초월체, 군단의 영원한 의지이며 넌 날 섬기기 위해 창조되었다.\n군락을 섬겨라. 나는 리듬을 지배한다. 군락을 섬겨라. 나는 리듬을 지배한다. 군락을 섬겨라.난 너의 행동을 지배한다. 내 리듬이 어떠한가, 다고스?"],
|
||||||
[0, "자츠", null, 0, null, 82, 55, 71, 0, 160, 300, null, null],
|
[0, "자츠", null, 0, null, 82, 55, 71, 0, 160, 300, null, null],
|
||||||
[0, "곤", null, 0, null, 79, 56, 77, 0, 160, 300, null, null],
|
[0, "곤", null, 0, null, 79, 56, 77, 0, 160, 300, null, null],
|
||||||
[0, "카그", null, 0, null, 80, 55, 69, 0, 160, 300, null, null],
|
[0, "카그", null, 0, null, 80, 55, 69, 0, 160, 300, null, null],
|
||||||
[0, "아우자", null, 0, null, 64, 71, 86, 0, 160, 300, null, null],
|
[0, "아우자", null, 0, null, 64, 71, 86, 0, 160, 300, null, null],
|
||||||
[0, "제라드 듀갈", null, 0, null, 87, 51, 80, 0, 160, 300, null, null],
|
[0, "제라드 듀갈", null, 0, null, 87, 51, 80, 0, 160, 300, null, null, "다시는 나를 볼 수 없을 거요, 헬레나.\n아이들에게 사랑한다고 전해 주시오. 아버지가 너희들의 미래를 지키다가 죽었다고도 말해 주시오.\n그럼, 안녕히...(Au revoir)."],
|
||||||
[0, "맘스틴 령", null, 0, null, 80, 51, 66, 0, 160, 300, null, null],
|
[0, "맘스틴 대령", null, 0, null, 80, 51, 66, 0, 160, 300, null, null],
|
||||||
[0, "스투코프 주니어", null, 0, null, 81, 56, 72, 0, 160, 300, null, null, "ued 2차원정로 우린 아몬과의 결전에 참가할거야."],
|
[0, "스투코프 주니어", null, 0, null, 81, 56, 72, 0, 160, 300, null, null],
|
||||||
[0, "레비나 스투코프", null, 0, null, 66, 31, 90, 0, 160, 300, null, null, "근데 우리 병사로 괜찮을까 오빠"],
|
[0, "레비나 스투코프", null, 0, null, 66, 31, 90, 0, 160, 300, null, null],
|
||||||
[0, "제라툴", null, 0, null, 85, 90, 82, 0, 160, 300, null, null, "젤나가 맙소사! 누가 이런 끔찍한 혼종을 만들었단 말인가"],
|
[0, "제라툴", null, 0, null, 85, 90, 82, 0, 160, 300, null, null, "젤나가 맙소사! 누가 이런 혼종을 만들었단 말인가."],
|
||||||
[0, "테사다르", "`", 0, null, 82, 77, 86, 0, 160, 300, null, null, "난 죽음을 경험한 적이 없네"],
|
[0, "테사다르", "`", 0, null, 82, 77, 86, 0, 160, 300, null, null, "집행관, 초월체가 약해졌소. 하지만 우리도 심각한 피해를 입었군. 내가 간트리서를 초월체에게 충돌시키겠소. 간트리서의 선체에 암흑 기사단의 힘을 충분히 모은다면, 저 저주받은 흉물에게 죽음을 선사할 수 있을 거요. 우리를 기억해주오, 집행관이여. 오늘 우리가 한 일을 기억하시오. 아둔이 그대를 보살피시길"],
|
||||||
[0, "피닉스", null, 0, null, 79, 80, 65, 0, 160, 300, null, null],
|
[0, "피닉스", null, 0, null, 79, 80, 65, 0, 160, 300, null, null, "칼라가 나를 기다린다, 케리건. 비록 난 운명을 맞이할 준비가 되기는 했지만, 그렇게 쉬운 먹이가 되진 않겠다!"],
|
||||||
[0, "알다리스", null, 0, null, 80, 51, 77, 0, 160, 300, null, null],
|
[0, "알다리스", null, 0, null, 80, 51, 77, 0, 160, 300, null, null, "집행관, 태사다르, 소식이 늦어서 미안하군. 대의회는 그대들이 정신체를 쓰러뜨리는 것을 지켜보았소. 그리고, 그 용감한 행위가 헛되지 않았음을 깨달았지. 그대들을 심판하려 했으나, 그릇된 생각을 한 것은 우리였소. 그대들은 우리의 내면에 존재하는 위대함의 상징이니, 우리 모두의 희망을 걸겠소. 엔 타로 아둔! 용감한 아이어의 후예들이여!"],
|
||||||
[0, "탈란다르", null, 0, null, 84, 66, 80, 0, 160, 300, null, null],
|
[0, "탈란다르", null, 0, null, 84, 66, 80, 0, 160, 300, null, null],
|
||||||
[0, "아르타니스", null, 0, null, 80, 71, 84, 0, 160, 300, null, null, "모조리 용기병으로 만들어주마!"],
|
[0, "아르타니스", null, 0, null, 80, 71, 84, 0, 160, 300, null, null, "모조리 용기병으로 만들어주마"],
|
||||||
[0, "라자갈", null, 0, null, 90, 75, 89, 0, 160, 300, null, null],
|
[0, "라자갈", null, 0, null, 90, 75, 89, 0, 160, 300, null, null, "고맙다, 제라툴... 네가 나를 놈의 추악한 손아귀에서 벗어나게 해주었다. 너는 늘 명예롭게 나를 섬겨주었지... 그러니 부탁하마... 내 부족을 돌봐 다오... 네 손에 미래를 맡기겠다"],
|
||||||
[0, "우룬 제독", null, 0, null, 84, 80, 55, 0, 160, 300, null, null],
|
[0, "우룬 제독", null, 0, null, 84, 80, 55, 0, 160, 300, null, null],
|
||||||
[0, "셀렌디스", null, 0, null, 80, 80, 67, 0, 160, 300, null, null],
|
[0, "셀렌디스", null, 0, null, 80, 80, 67, 0, 160, 300, null, null],
|
||||||
[0, "보라준", null, 0, null, 87, 51, 91, 0, 160, 300, null, null],
|
[0, "보라준", null, 0, null, 87, 51, 91, 0, 160, 300, null, null],
|
||||||
@@ -195,7 +196,7 @@
|
|||||||
[0, "말라쉬", null, 0, null, 80, 96, 65, 0, 160, 300, null, null],
|
[0, "말라쉬", null, 0, null, 80, 96, 65, 0, 160, 300, null, null],
|
||||||
[0, "니온", null, 0, null, 62, 73, 43, 0, 160, 300, null, null],
|
[0, "니온", null, 0, null, 62, 73, 43, 0, 160, 300, null, null],
|
||||||
[0, "지나라", null, 0, null, 75, 90, 55, 0, 160, 300, null, null],
|
[0, "지나라", null, 0, null, 75, 90, 55, 0, 160, 300, null, null],
|
||||||
[0, "아리샤", null, 0, null, 51, 81, 50, 0, 160, 300, null, null, "난 XX부르드의 울트라 표 아리샤다!"],
|
[0, "아리샤", null, 0, null, 51, 81, 50, 0, 160, 300, null, null],
|
||||||
[0, "아몬", null, 0, null, 97, 107, 85, 0, 160, 300, null, null, "나는 너희들의 시작이었으니 또한 끝이리라….!"],
|
[0, "아몬", null, 0, null, 97, 107, 85, 0, 160, 300, null, null, "나는 너희들의 시작이었으니 또한 끝이리라….!"],
|
||||||
[0, "에밀 나루드", null, 0, null, 85, 92, 96, 0, 160, 300, null, null, "아몬께서 별빛으로 속삭이셨다. 그분은 돌아오신다고 하셨다. 그분은 파괴한다고 하셨다. 멸종. 모든 것이 종말을 맞이할 것이라고"],
|
[0, "에밀 나루드", null, 0, null, 85, 92, 96, 0, 160, 300, null, null, "아몬께서 별빛으로 속삭이셨다. 그분은 돌아오신다고 하셨다. 그분은 파괴한다고 하셨다. 멸종. 모든 것이 종말을 맞이할 것이라고"],
|
||||||
[0, "오로스", null, 0, null, 80, 79, 55, 0, 160, 300, null, null],
|
[0, "오로스", null, 0, null, 80, 79, 55, 0, 160, 300, null, null],
|
||||||
@@ -206,14 +207,14 @@
|
|||||||
[0, "유당찬", null, 0, null, 83, 69, 55, 0, 160, 300, null, null],
|
[0, "유당찬", null, 0, null, 83, 69, 55, 0, 160, 300, null, null],
|
||||||
[0, "유시하", "`", 0, null, 67, 55, 81, 0, 160, 300, null, null],
|
[0, "유시하", "`", 0, null, 67, 55, 81, 0, 160, 300, null, null],
|
||||||
[0, "유미하", null, 0, null, 41, 34, 48, 0, 160, 300, null, null],
|
[0, "유미하", null, 0, null, 41, 34, 48, 0, 160, 300, null, null],
|
||||||
[0, "유지은", null, 0, null, 55, 78, 64, 0, 160, 300, null, null, "나는 레플리카"],
|
[0, "유지은", null, 0, null, 55, 78, 64, 0, 160, 300, null, null, "나는 레플리카, 적의 기술을 베껴서 사용 가능하지."],
|
||||||
[0, "유혜선", null, 0, null, 78, 89, 55, 0, 160, 300, null, null, "나는"],
|
[0, "유혜선", null, 0, null, 78, 89, 55, 0, 160, 300, null, null],
|
||||||
[0, "최정윤", null, 0, null, 85, 71, 66, 0, 160, 300, null, null, "우리는 다미키즈, 다미의 친구들이자 다미에 의해 도움을 받은 아이들 거기서도 나는 캔디팝이야"],
|
[0, "최정윤", null, 0, null, 85, 71, 66, 0, 160, 300, null, null, "우리는 다미키즈, 다미의 친구들이자 다미에 의해 도움을 받은 아이들 거기서도 나는 캔디팝이야"],
|
||||||
[0, "이선아", null, 0, null, 83, 88, 56, 0, 160, 300, null, null, "나는 마콧치, 마법나라 감사부문의 부부장이야."],
|
[0, "이선아", null, 0, null, 83, 88, 56, 0, 160, 300, null, null, "나는 마콧치, 마법나라 감사부문의 부부장이야."],
|
||||||
[0, "나서희", null, 0, null, 81, 77, 44, 0, 160, 300, null, null, "다미를 지킬거야"],
|
[0, "나서희", null, 0, null, 81, 77, 44, 0, 160, 300, null, null, "우리는 다미를 지킬거야"],
|
||||||
[0, "스노우 화이트", null, 0, null, 71, 80, 66, 0, 160, 300, null, null, "이번에야 말로 친구들을 지켜 보이겠어. 소타도, 아카리도"],
|
[0, "스노우 화이트", null, 0, null, 71, 80, 66, 0, 160, 300, null, null, "이번에야 말로 친구들을 지켜 보이겠어. 소타도, 아카리도"],
|
||||||
[0, "워터 스플렛", null, 0, null, 65, 80, 52, 0, 160, 300, null, null, "이번생에는 그런 셔플린 따위에게 지지 않을거야,"],
|
[0, "워터 스플렛", null, 0, null, 65, 80, 52, 0, 160, 300, null, null, "…. 이번에야말로…"],
|
||||||
[0, "스노우 슬러스", null, 0, null, 69, 75, 53, 0, 160, 300, null, null, "번생이랑 달라! 나도 강해졋다고!"],
|
[0, "스노우 슬러스", null, 0, null, 69, 75, 53, 0, 160, 300, null, null, "저번생이랑 달라,… 나도 언니처럼 강해질수 있어"],
|
||||||
[0, "리하나", null, 0, null, 79, 70, 65, 0, 160, 300, null, null, "프흐레 언니…"],
|
[0, "리하나", null, 0, null, 79, 70, 65, 0, 160, 300, null, null, "프흐레 언니…"],
|
||||||
[0, "블루베리", null, 0, null, 81, 88, 73, 0, 160, 300, null, null],
|
[0, "블루베리", null, 0, null, 81, 88, 73, 0, 160, 300, null, null],
|
||||||
[0, "스윔스윔", null, 0, null, 54, 90, 71, 0, 163, 300, null, null, "룰러가 그랫어 마법소녀는 본모습을 남에게 보여주면 안된다고"],
|
[0, "스윔스윔", null, 0, null, 54, 90, 71, 0, 163, 300, null, null, "룰러가 그랫어 마법소녀는 본모습을 남에게 보여주면 안된다고"],
|
||||||
@@ -221,22 +222,22 @@
|
|||||||
[0, "정혜림", null, 0, null, 91, 88, 80, 0, 160, 300, null, null, "우리 다미키즈는 다미언니에 의해 많은걸 받은 아이들이야,"],
|
[0, "정혜림", null, 0, null, 91, 88, 80, 0, 160, 300, null, null, "우리 다미키즈는 다미언니에 의해 많은걸 받은 아이들이야,"],
|
||||||
[0, "하나조노 아무", null, 0, null, 67, 53, 81, 0, 160, 300, null, null, "캐릭터 변신! 애뮬릿 다이아!"],
|
[0, "하나조노 아무", null, 0, null, 67, 53, 81, 0, 160, 300, null, null, "캐릭터 변신! 애뮬릿 다이아!"],
|
||||||
[0, "하나조노 카렌", null, 0, null, 66, 51, 80, 0, 160, 300, null, null, "나는 하나조노 카렌, 전 이름은 하나무라 카렌이야."],
|
[0, "하나조노 카렌", null, 0, null, 66, 51, 80, 0, 160, 300, null, null, "나는 하나조노 카렌, 전 이름은 하나무라 카렌이야."],
|
||||||
[0, "하나조노 아리스", null, 0, null, 53, 14, 61, 0, 160, 300, null, null],
|
[0, "하나조노 아리스", null, 0, null, 53, 14, 61, 0, 160, 300, null, null, "당신에겐 고민이 있나요? 학교생활, 그리고 친구, 가족과의 관계와 장래의 꿈에 대한 고민, 혼자서는 도저히 해결할수 없는 고민들이 있죠? 바로 그럴떄 내 이야기를 들어줄 누군가가 필요하지 않나요? 그게 누구냐고요? 만나고 싶으면 리루 리루 페어리루라 외치세요!"],
|
||||||
[0, "린", null, 0, null, 38, 32, 69, 0, 160, 300, null, null, "난 용담꽃의 페어리루 린이야~"],
|
[0, "린", null, 0, null, 38, 32, 69, 0, 160, 300, null, null, "난 용담꽃의 페어리루 린이야~"],
|
||||||
[0, "하나조노 마츠아", null, 0, null, 44, 40, 55, 0, 160, 300, null, null],
|
[0, "하나조노 마츠아", null, 0, null, 44, 40, 55, 0, 160, 300, null, null],
|
||||||
[0, "롭프", null, 0, null, 55, 47, 50, 0, 160, 300, null, null],
|
[0, "롭프", null, 0, null, 55, 47, 50, 0, 160, 300, null, null],
|
||||||
[0, "이정선 황제", null, 0, null, 74, 44, 85, 0, 160, 300, null, null, "감히 우리 제국에 반기를 든자들! 용서하지 않는다! !"],
|
[0, "이정선 황제", null, 0, null, 74, 44, 85, 0, 160, 300, null, null, "감히 우리 제국에 반기를 든자들! 용서하지 않는다! !"],
|
||||||
[0, "이양선 공", null, 0, null, 77, 42, 79, 0, 160, 300, null, null, "형님이 리 화를 내시다니 내심 단하구나 그들은"],
|
[0, "이양선 공", null, 0, null, 77, 42, 79, 0, 160, 300, null, null, "형님께서 이리 화를 내시다니, 그들도 강하군"],
|
||||||
[0, "이을용 황태자", null, 0, null, 51, 33, 69, 0, 160, 300, null, null],
|
[0, "이을용 황태자", null, 0, null, 51, 33, 69, 0, 160, 300, null, null],
|
||||||
[0, "카라시프 장군", null, 0, null, 75, 69, 71, 0, 160, 300, null, null],
|
[0, "카라시프 장군", null, 0, null, 75, 69, 71, 0, 160, 300, null, null],
|
||||||
[0, "카몬 요네미", null, 0, null, 40, 8, 66, 0, 160, 300, null, null],
|
[0, "카몬 요네미", null, 0, null, 40, 8, 66, 0, 160, 300, null, null],
|
||||||
[0, "키타노 타케시", null, 0, null, 43, 14, 75, 0, 160, 300, null, null, "우리가족의 행복과 안전을 우선시해야지"],
|
[0, "키타노 타케시", null, 0, null, 43, 14, 75, 0, 160, 300, null, null, "우리가족의 행복과 안전을 우선시해야지"],
|
||||||
[0, "키타노 유리아", null, 0, null, 32, 8, 69, 0, 160, 300, null, null],
|
[0, "키타노 유리아", null, 0, null, 32, 8, 69, 0, 160, 300, null, null],
|
||||||
[0, "후타바 안즈", null, 0, null, 67, 44, 90, 0, 160, 300, null, null, "나도 하메르도 행복하길"],
|
[0, "후타바 안즈", null, 0, null, 67, 44, 90, 0, 160, 300, null, null, "나도 하메르도 행복하길"],
|
||||||
[0, "히나노", null, 0, null, 66, 32, 73, 0, 160, 300, null, null, "이번생에는 행복하고 싶어"],
|
[0, "히나노", null, 0, null, 66, 32, 73, 0, 160, 300, null, null, "히힛"],
|
||||||
[0, "나츠세 유우", null, 0, null, 66, 30, 70, 0, 160, 300, null, null],
|
[0, "나츠세 유우", null, 0, null, 66, 30, 70, 0, 160, 300, null, null],
|
||||||
[0, "크로노스 신", null, 0, null, 50, 15, 90, 0, 160, 300, null, null],
|
[0, "크로노스 신", null, 0, null, 33, 15, 90, 0, 160, 300, null, null],
|
||||||
[0, "프흐레", null, 0, null, 69, 24, 100, 0, 160, 300, null, null, "마법나라가 바라는 마법소녀란 말이지…"],
|
[0, "프흐레", null, 0, null, 69, 24, 100, 0, 160, 300, null, null, "마법나라'가 원하는 마법소녀다운 마법소녀란 건 말이지. 여차할 때 주저없이 자기 자신을 희생할 수 있는 성인이야. 제대로 돼먹은 정신머리로는 못 해먹을 짓거리지."],
|
||||||
[0, "나나하라 슈야", null, 0, null, 73, 72, 62, 0, 160, 300, null, null, "전세계의 어른들에게 선전포고 한다!"],
|
[0, "나나하라 슈야", null, 0, null, 73, 72, 62, 0, 160, 300, null, null, "전세계의 어른들에게 선전포고 한다!"],
|
||||||
[0, "타에구치유이치로", null, 0, null, 51, 63, 44, 0, 160, 300, null, null],
|
[0, "타에구치유이치로", null, 0, null, 51, 63, 44, 0, 160, 300, null, null],
|
||||||
[0, "카와다 소교", null, 0, null, 49, 70, 85, 0, 160, 300, null, null],
|
[0, "카와다 소교", null, 0, null, 49, 70, 85, 0, 160, 300, null, null],
|
||||||
@@ -246,12 +247,12 @@
|
|||||||
[0, "큐어 리프렛", null, 0, null, 71, 89, 72, 0, 160, 300, null, null],
|
[0, "큐어 리프렛", null, 0, null, 71, 89, 72, 0, 160, 300, null, null],
|
||||||
[0, "큐어 실프", null, 0, null, 83, 92, 88, 0, 160, 300, null, null],
|
[0, "큐어 실프", null, 0, null, 83, 92, 88, 0, 160, 300, null, null],
|
||||||
[0, "큐어 아네모스", null, 0, null, 69, 80, 55, 0, 160, 300, null, null],
|
[0, "큐어 아네모스", null, 0, null, 69, 80, 55, 0, 160, 300, null, null],
|
||||||
[0, "카마디야", null, 0, null, 85, 93, 55, 0, 160, 300, null, null, "크흐흐… 감히 인간 따위가!! 나에게 덤비다니 용서못한다!!"],
|
[0, "카마디야", null, 0, null, 85, 93, 55, 0, 160, 300, null, null, "이번엔 방심하지 않고 인간들을 처리하겟다!"],
|
||||||
[0, "토토리몬", null, 0, null, 69, 88, 44, 0, 160, 300, null, null, "모든것은 카마디야님의 부활을 위해서…."],
|
[0, "토토리몬", null, 0, null, 69, 88, 44, 0, 160, 300, null, null, "모든것은 카마디야님의 부활을 위해서…."],
|
||||||
[0, "카와리노", null, 0, null, 73, 91, 80, 0, 160, 300, null, null, "나를 그곳에 꺼내주신 카마디야 님을 위해 난 일한다!"],
|
[0, "카와리노", null, 0, null, 73, 91, 80, 0, 160, 300, null, null, "나를 그곳에 꺼내주신 카마디야 님을 위해 난 일한다!"],
|
||||||
[0, "가마오", null, 0, null, 41, 65, 13, 0, 160, 300, null, null, "이씨 너무 배고파…"],
|
[0, "가마오", null, 0, null, 41, 65, 13, 0, 160, 300, null, null, "이씨 너무 배고파…"],
|
||||||
[0, "밀키 로즈", null, 0, null, 64, 82, 52, 0, 160, 300, null, null],
|
[0, "밀키 로즈", null, 0, null, 64, 82, 52, 0, 160, 300, null, null],
|
||||||
[0, "옐로우 미치", null, 0, null, 61, 80, 80, 0, 160, 300, null, null, "난 마법나라 외교부문의 부문장 옐로우 미치야"],
|
[0, "옐로우 미치", null, 0, null, 61, 80, 80, 0, 160, 300, null, null, "후후… 모든건 모두의 행복을 위해서"],
|
||||||
[0, "마왕팜", null, 0, null, 50, 90, 70, 0, 160, 300, null, null, "무지개? 어째서…!"],
|
[0, "마왕팜", null, 0, null, 50, 90, 70, 0, 160, 300, null, null, "무지개? 어째서…!"],
|
||||||
[0, "그림하트", null, 0, null, 74, 63, 41, 0, 160, 300, null, null, "목을 쳐라!!"],
|
[0, "그림하트", null, 0, null, 74, 63, 41, 0, 160, 300, null, null, "목을 쳐라!!"],
|
||||||
[0, "루다", null, 0, null, 62, 66, 62, 0, 160, 300, null, null, "널 좋아해 미우."],
|
[0, "루다", null, 0, null, 62, 66, 62, 0, 160, 300, null, null, "널 좋아해 미우."],
|
||||||
@@ -272,7 +273,7 @@
|
|||||||
[0, "유해", null, 0, null, 85, 87, 64, 0, 160, 300, null, null],
|
[0, "유해", null, 0, null, 85, 87, 64, 0, 160, 300, null, null],
|
||||||
[0, "유채", null, 0, null, 64, 71, 23, 0, 160, 300, null, null],
|
[0, "유채", null, 0, null, 64, 71, 23, 0, 160, 300, null, null],
|
||||||
[0, "유창", null, 0, null, 59, 68, 33, 0, 160, 300, null, null],
|
[0, "유창", null, 0, null, 59, 68, 33, 0, 160, 300, null, null],
|
||||||
[0, "타카이시 타케루", null, 0, null, 80, 92, 65, 0, 160, 300, null, "무쌍"],
|
[0, "타카이시 타케루", null, 0, null, 80, 92, 65, 0, 160, 300, null, null],
|
||||||
[0, "타카이시 히카리", null, 0, null, 31, 11, 90, 0, 160, 300, null, "인덕"],
|
[0, "타카이시 히카리", null, 0, null, 31, 11, 90, 0, 160, 300, null, "인덕"],
|
||||||
[0, "타카이시 노조미", null, 0, null, 82, 66, 81, 0, 160, 300, null, null],
|
[0, "타카이시 노조미", null, 0, null, 82, 66, 81, 0, 160, 300, null, null],
|
||||||
[0, "타카이시 미츠루", null, 0, null, 85, 51, 71, 0, 160, 300, null, null, "이 나라가 왜이리 망가져 버린걸까"],
|
[0, "타카이시 미츠루", null, 0, null, 85, 51, 71, 0, 160, 300, null, null, "이 나라가 왜이리 망가져 버린걸까"],
|
||||||
@@ -280,7 +281,7 @@
|
|||||||
[0, "유상호", null, 0, null, 39, 56, 44, 0, 160, 300, null, null, "쯧. 런애가 내 딸이라니 수치야"],
|
[0, "유상호", null, 0, null, 39, 56, 44, 0, 160, 300, null, null, "쯧. 런애가 내 딸이라니 수치야"],
|
||||||
[0, "서유현", null, 0, null, 42, 44, 60, 0, 160, 300, null, null, "하… 내가 교육을 잘못했구나"],
|
[0, "서유현", null, 0, null, 42, 44, 60, 0, 160, 300, null, null, "하… 내가 교육을 잘못했구나"],
|
||||||
[0, "오준", null, 0, null, 69, 12, 84, 0, 160, 300, null, null, "이 지역은 이제부터 내것이다!"],
|
[0, "오준", null, 0, null, 69, 12, 84, 0, 160, 300, null, null, "이 지역은 이제부터 내것이다!"],
|
||||||
[10, "도니 버밀리언", null, 0, null, 48, 14, 66, 0, 160, 300, null, null],
|
[10, "도니 버밀리언", null, 0, null, 48, 14, 66, 0, 160, 300, null, null, "레이너, 당신은 양심도 없습니까?"],
|
||||||
[0, "모한다르", null, 0, null, 68, 81, 45, 0, 160, 300, null, null],
|
[0, "모한다르", null, 0, null, 68, 81, 45, 0, 160, 300, null, null],
|
||||||
[0, "월리엄 와이트", null, 0, null, 55, 64, 88, 0, 160, 300, null, null, "아니 나를 별명으로 부르지 말라고!"],
|
[0, "월리엄 와이트", null, 0, null, 55, 64, 88, 0, 160, 300, null, null, "아니 나를 별명으로 부르지 말라고!"],
|
||||||
[0, "도미니크 헥터", null, 0, null, 57, 69, 41, 0, 160, 300, null, null],
|
[0, "도미니크 헥터", null, 0, null, 57, 69, 41, 0, 160, 300, null, null],
|
||||||
@@ -296,7 +297,7 @@
|
|||||||
[0, "사야코", null, 0, null, 69, 75, 60, 0, 160, 300, null, null],
|
[0, "사야코", null, 0, null, 69, 75, 60, 0, 160, 300, null, null],
|
||||||
[0, "미요가타노 나코", null, 0, null, 77, 55, 79, 0, 160, 300, null, null, "fucking doll!"],
|
[0, "미요가타노 나코", null, 0, null, 77, 55, 79, 0, 160, 300, null, null, "fucking doll!"],
|
||||||
[0, "첼너 마우스", null, 0, null, 51, 85, 2, 0, 160, 300, null, null, "체르나는 그런거 싫단 말이야! 내꺼라고!"],
|
[0, "첼너 마우스", null, 0, null, 51, 85, 2, 0, 160, 300, null, null, "체르나는 그런거 싫단 말이야! 내꺼라고!"],
|
||||||
[0, "페치카", null, 0, null, 68, 8, 80, 0, 160, 300, null, null],
|
[0, "페치카", null, 0, null, 68, 8, 80, 0, 160, 300, null, null, "마법소녀끼리 정정당당하게 싸우면…… 크랑테일은 당신 같은 사람에게 지지 않아."],
|
||||||
[0, "기타노 유리코", null, 0, null, 14, 9, 64, 0, 160, 300, null, null, "유키코는 참 의젓한 아이야."],
|
[0, "기타노 유리코", null, 0, null, 14, 9, 64, 0, 160, 300, null, null, "유키코는 참 의젓한 아이야."],
|
||||||
[0, "니얀다 카멘", null, 0, null, 86, 85, 41, 0, 160, 300, null, null, "살려달라고 외치면 그 누구든 구할거야, 설사 적이라 할지라도"],
|
[0, "니얀다 카멘", null, 0, null, 86, 85, 41, 0, 160, 300, null, null, "살려달라고 외치면 그 누구든 구할거야, 설사 적이라 할지라도"],
|
||||||
[0, "니얀다 카렌", null, 0, null, 73, 88, 60, 0, 160, 300, null, null],
|
[0, "니얀다 카렌", null, 0, null, 73, 88, 60, 0, 160, 300, null, null],
|
||||||
@@ -318,9 +319,9 @@
|
|||||||
[0, "모노미야 세이나", null, 0, null, 77, 83, 41, 0, 160, 300, null, null, "어떤 유혹에도 빛을 잃지않는 깨끗한 마음 큐어 다이아!"],
|
[0, "모노미야 세이나", null, 0, null, 77, 83, 41, 0, 160, 300, null, null, "어떤 유혹에도 빛을 잃지않는 깨끗한 마음 큐어 다이아!"],
|
||||||
[0, "모노야마 유이", null, 0, null, 69, 85, 60, 0, 160, 300, null, null, "사랑하는 사람을 지키기 위한 진실한 마음 큐어 실린!"],
|
[0, "모노야마 유이", null, 0, null, 69, 85, 60, 0, 160, 300, null, null, "사랑하는 사람을 지키기 위한 진실한 마음 큐어 실린!"],
|
||||||
[0, "루시에르", null, 0, null, 84, 72, 80, 0, 160, 300, null, null, "내 딸들은 행복했으면 좋겟어"],
|
[0, "루시에르", null, 0, null, 84, 72, 80, 0, 160, 300, null, null, "내 딸들은 행복했으면 좋겟어"],
|
||||||
[0, "큐어 루프", null, 0, null, 63, 81, 40, 0, 160, 300, null, null, "감히… 내동생을 어둠의 가면으로 죽였겟다! 복수할거야! 로스쿨"],
|
[0, "큐어 루프", null, 0, null, 63, 81, 40, 0, 160, 300, null, null, "우리는 왜 이런 직장에 충성한 걸까"],
|
||||||
[0, "가제크", null, 0, null, 55, 79, 51, 0, 160, 300, null, null, "어…언니 사…살려줘!!"],
|
[0, "가제크", null, 0, null, 55, 79, 51, 0, 160, 300, null, null],
|
||||||
[0, "큐어 가젯", null, 0, null, 67, 81, 55, 0, 160, 300, null, null, "어머니… 어머니의 원수 꼭 갚겠어요.. 우리를 버린 로스쿨에게 복수할 겁니다"],
|
[0, "큐어 가젯", null, 0, null, 67, 81, 55, 0, 160, 300, null, null, "어머니… 어머니의 원수 꼭 갚겠어요.. 우리를 버린 그들에게 복수할 겁니다."],
|
||||||
[0, "큐어 루비", null, 0, null, 73, 79, 59, 0, 160, 300, null, null, "언니 우리 같이 힘내자"],
|
[0, "큐어 루비", null, 0, null, 73, 79, 59, 0, 160, 300, null, null, "언니 우리 같이 힘내자"],
|
||||||
[0, "루미에르", null, 0, null, 80, 81, 64, 0, 160, 300, null, null],
|
[0, "루미에르", null, 0, null, 80, 81, 64, 0, 160, 300, null, null],
|
||||||
[0, "토모야마 리에리", null, 0, null, 92, 55, 91, 0, 160, 300, null, null],
|
[0, "토모야마 리에리", null, 0, null, 92, 55, 91, 0, 160, 300, null, null],
|
||||||
@@ -333,12 +334,12 @@
|
|||||||
[0, "에트리카 에슈", null, 0, null, 84, 53, 82, 0, 160, 300, null, null, "모든것은, 나를 이렇게 만든 세상에 복수하기 위해!"],
|
[0, "에트리카 에슈", null, 0, null, 84, 53, 82, 0, 160, 300, null, null, "모든것은, 나를 이렇게 만든 세상에 복수하기 위해!"],
|
||||||
[0, "유가을", null, 0, null, 87, 95, 60, 0, 160, 300, null, null],
|
[0, "유가을", null, 0, null, 87, 95, 60, 0, 160, 300, null, null],
|
||||||
[0, "츠바이 유시", null, 0, null, 43, 63, 77, 0, 160, 300, null, null],
|
[0, "츠바이 유시", null, 0, null, 43, 63, 77, 0, 160, 300, null, null],
|
||||||
[0, "크람베리", null, 0, null, 82, 93, 51, 0, 160, 300, null, null],
|
[0, "크람베리", null, 0, null, 82, 93, 51, 0, 160, 300, null, null, "전 숲의 음악가 크람베리, 마법소녀를 하고 있습니다."],
|
||||||
[0, "파브", null, 0, null, 41, 10, 78, 0, 160, 300, null, null],
|
[0, "파브", null, 0, null, 41, 10, 78, 0, 160, 300, null, null, "지금부터 이 마을의 마법소녀를 반으로 줄여야 합니다퐁!"],
|
||||||
[0, "파르", null, 0, null, 43, 10, 88, 0, 160, 300, null, null],
|
[0, "파르", null, 0, null, 43, 10, 88, 0, 160, 300, null, null, "역시 스노우화이트는 내가 없으면 안되퐁…"],
|
||||||
[0, "타이요 아카리", null, 0, null, 81, 92, 77, 0, 160, 300, null, null, "나 잊지 않을테니까, 후유나에 대해 절대로 잊지않을 테니까"],
|
[0, "타이요 아카리", null, 0, null, 81, 92, 77, 0, 160, 300, null, null, "나 잊지 않을테니까, 후유나에 대해 절대로 잊지않을 테니까"],
|
||||||
[0, "신자키 후유나", null, 0, null, 74, 79, 55, 0, 160, 300, null, null, "안녕 아카리, 아카리와 만나 행복했어"],
|
[0, "신자키 후유나", null, 0, null, 74, 79, 55, 0, 160, 300, null, null, "안녕 아카리, 아카리와 만나 행복했어"],
|
||||||
[0, "크랑테일", null, 0, null, 77, 81, 55, 0, 160, 300, null, null],
|
[0, "크랑테일", null, 0, null, 77, 81, 55, 0, 160, 300, null, null, "라즐리느와 페치카가 살려준 난...... 못 죽어"],
|
||||||
[0, "타카이시 히모리", null, 0, null, 69, 37, 89, 0, 160, 300, null, null, "내 나라, 부모님의 나라 내가 지킬거야"],
|
[0, "타카이시 히모리", null, 0, null, 69, 37, 89, 0, 160, 300, null, null, "내 나라, 부모님의 나라 내가 지킬거야"],
|
||||||
[0, "사카나기 아야나", null, 0, null, 73, 89, 53, 0, 160, 300, null, null, "난 스윔스윔, 잘부탁해"],
|
[0, "사카나기 아야나", null, 0, null, 73, 89, 53, 0, 160, 300, null, null, "난 스윔스윔, 잘부탁해"],
|
||||||
[0, "사카나기 이즈카", null, 0, null, 77, 82, 60, 0, 160, 300, null, null, "난 사야코야"],
|
[0, "사카나기 이즈카", null, 0, null, 77, 82, 60, 0, 160, 300, null, null, "난 사야코야"],
|
||||||
@@ -359,8 +360,8 @@
|
|||||||
[0, "히노모토 아카리", null, 0, null, 70, 17, 81, 0, 160, 300, null, null],
|
[0, "히노모토 아카리", null, 0, null, 70, 17, 81, 0, 160, 300, null, null],
|
||||||
[0, "아오누마 키리하", null, 0, null, 84, 67, 85, 0, 160, 300, null, null],
|
[0, "아오누마 키리하", null, 0, null, 84, 67, 85, 0, 160, 300, null, null],
|
||||||
[0, "츠루기 젠지로", null, 0, null, 56, 69, 40, 0, 160, 300, null, null],
|
[0, "츠루기 젠지로", null, 0, null, 56, 69, 40, 0, 160, 300, null, null],
|
||||||
[0, "향상성", null, 0, null, 82, 77, 90, 0, 160, 300, null, null],
|
[0, "향상성", null, 0, null, 82, 77, 90, 0, 160, 300, null, null, "저는 디지털 월드의 평화를 바라는 자,"],
|
||||||
[0, "이그드라실", null, 0, null, 80, 80, 77, 0, 160, 300, null, null, "저는 디지털 월드의 평화를 바라는자,"],
|
[0, "이그드라실", null, 0, null, 80, 80, 77, 0, 160, 300, null, null, "어머니와 향상성을 이해할수가 없군요"],
|
||||||
[0, "렌", null, 0, null, 89, 100, 42, 0, 160, 300, null, "무쌍"],
|
[0, "렌", null, 0, null, 89, 100, 42, 0, 160, 300, null, "무쌍"],
|
||||||
[0, "네네네", null, 0, null, 63, 55, 89, 0, 160, 300, null, null],
|
[0, "네네네", null, 0, null, 63, 55, 89, 0, 160, 300, null, null],
|
||||||
[0, "이소긴&야도간", null, 0, null, 58, 77, 39, 0, 160, 300, null, null],
|
[0, "이소긴&야도간", null, 0, null, 58, 77, 39, 0, 160, 300, null, null],
|
||||||
@@ -377,7 +378,8 @@
|
|||||||
[0, "큐어 리히트", null, 0, null, 89, 93, 74, 0, 160, 300, null, null],
|
[0, "큐어 리히트", null, 0, null, 89, 93, 74, 0, 160, 300, null, null],
|
||||||
[0, "다크 드림", null, 0, null, 77, 94, 76, 0, 160, 300, null, null],
|
[0, "다크 드림", null, 0, null, 77, 94, 76, 0, 160, 300, null, null],
|
||||||
[0, "큐어 프렌디", null, 0, null, 86, 83, 77, 0, 160, 300, null, null],
|
[0, "큐어 프렌디", null, 0, null, 86, 83, 77, 0, 160, 300, null, null],
|
||||||
[0, "큐어 릴리안", null, 0, null, 87, 82, 80, 0, 160, 300, null, null]
|
[0, "큐어 릴리안", null, 0, null, 87, 82, 80, 0, 160, 300, null, null],
|
||||||
|
[0, "마시로 리마", null, 0, null, 86, 79, 82, 0, 160, 300, null, null]
|
||||||
],
|
],
|
||||||
"general_ex":[
|
"general_ex":[
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,182 @@
|
|||||||
|
{
|
||||||
|
"title":"【공백지】 다병종",
|
||||||
|
"startYear":180,
|
||||||
|
"map":{
|
||||||
|
"mapName":"miniche",
|
||||||
|
"unitSet":"event_more_crewtype"
|
||||||
|
},
|
||||||
|
"history":[
|
||||||
|
],
|
||||||
|
"const": {
|
||||||
|
"joinRuinedNPCProp":0,
|
||||||
|
"npcBanMessageProb":1,
|
||||||
|
"availableSpecialWar":[
|
||||||
|
"che_귀병", "che_신산", "che_환술", "che_집중", "che_신중", "che_반계",
|
||||||
|
"che_보병", "che_궁병", "che_기병", "che_공성",
|
||||||
|
"che_돌격", "che_무쌍", "che_위압",
|
||||||
|
"che_저격", "che_필살", "che_징병", "che_의술", "che_격노", "che_척사"
|
||||||
|
],
|
||||||
|
"availableChiefCommand":{
|
||||||
|
"휴식" : [
|
||||||
|
"휴식"
|
||||||
|
],
|
||||||
|
"인사" : [
|
||||||
|
"che_발령",
|
||||||
|
"che_포상",
|
||||||
|
"che_몰수",
|
||||||
|
"che_부대탈퇴지시"
|
||||||
|
],
|
||||||
|
"외교" : [
|
||||||
|
"che_물자원조",
|
||||||
|
"che_불가침제의",
|
||||||
|
"che_선전포고",
|
||||||
|
"che_종전제의",
|
||||||
|
"che_불가침파기제의"
|
||||||
|
],
|
||||||
|
"특수" : [
|
||||||
|
"che_초토화",
|
||||||
|
"che_천도",
|
||||||
|
"che_증축",
|
||||||
|
"che_감축"
|
||||||
|
],
|
||||||
|
"전략" : [
|
||||||
|
"che_필사즉생",
|
||||||
|
"che_백성동원",
|
||||||
|
"che_수몰",
|
||||||
|
"che_허보",
|
||||||
|
"che_의병모집",
|
||||||
|
"che_이호경식",
|
||||||
|
"che_급습",
|
||||||
|
"che_피장파장"
|
||||||
|
],
|
||||||
|
"기타" : [
|
||||||
|
"che_국기변경",
|
||||||
|
"che_국호변경"
|
||||||
|
],
|
||||||
|
"연구": [
|
||||||
|
"event_대검병연구",
|
||||||
|
"event_극병연구",
|
||||||
|
"event_화시병연구",
|
||||||
|
"event_원융노병연구",
|
||||||
|
"event_산저병연구",
|
||||||
|
"event_음귀병연구",
|
||||||
|
"event_무희연구",
|
||||||
|
"event_상병연구",
|
||||||
|
"event_화륜차연구"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"allItems":{
|
||||||
|
"horse":{
|
||||||
|
"che_명마_01_노기":0, "che_명마_02_조랑":0, "che_명마_03_노새":0,
|
||||||
|
"che_명마_04_나귀":0, "che_명마_05_갈색마":0, "che_명마_06_흑색마":0,
|
||||||
|
|
||||||
|
"che_명마_07_백마" : 2, "che_명마_07_기주마" : 2, "che_명마_07_오환마" : 2, "che_명마_07_백상" : 2,
|
||||||
|
"che_명마_08_양주마" : 2, "che_명마_08_흉노마" : 2, "che_명마_09_과하마" : 2, "che_명마_09_의남백마" : 2,
|
||||||
|
"che_명마_10_대완마" : 2, "che_명마_10_옥추마" : 2, "che_명마_11_서량마" : 2, "che_명마_11_화종마" : 2,
|
||||||
|
"che_명마_12_사륜거" : 2, "che_명마_12_옥란백용구": 2, "che_명마_13_절영" : 2, "che_명마_13_적로" : 2,
|
||||||
|
"che_명마_14_적란마" : 2, "che_명마_14_조황비전" : 2, "che_명마_15_한혈마" : 2, "che_명마_15_적토마" : 2
|
||||||
|
},
|
||||||
|
"weapon":{
|
||||||
|
"che_무기_01_단도":0, "che_무기_02_단궁":0, "che_무기_03_단극":0,
|
||||||
|
"che_무기_04_목검":0, "che_무기_05_죽창":0, "che_무기_06_소부":0,
|
||||||
|
|
||||||
|
"che_무기_07_동추":2, "che_무기_07_철편":2, "che_무기_07_철쇄":2, "che_무기_07_맥궁":2,
|
||||||
|
"che_무기_08_유성추":2, "che_무기_08_철질여골":2, "che_무기_09_쌍철극":2, "che_무기_09_동호비궁":2,
|
||||||
|
"che_무기_10_삼첨도":2, "che_무기_10_대부":2, "che_무기_11_고정도":2, "che_무기_11_이광궁":2,
|
||||||
|
"che_무기_12_철척사모":2, "che_무기_12_칠성검":2, "che_무기_13_사모":2, "che_무기_13_양유기궁":2,
|
||||||
|
"che_무기_14_언월도":2, "che_무기_14_방천화극":2, "che_무기_15_청홍검":2, "che_무기_15_의천검":2
|
||||||
|
},
|
||||||
|
"book":{
|
||||||
|
"che_서적_01_효경전":0, "che_서적_02_회남자":0, "che_서적_03_변도론":0,
|
||||||
|
"che_서적_04_건상역주":0, "che_서적_05_여씨춘추":0, "che_서적_06_사민월령":0,
|
||||||
|
|
||||||
|
"che_서적_07_위료자":2, "che_서적_07_사마법":2, "che_서적_07_한서":2, "che_서적_07_논어":2,
|
||||||
|
"che_서적_08_전론":2, "che_서적_08_사기":2, "che_서적_09_장자":2, "che_서적_09_역경":2,
|
||||||
|
"che_서적_10_시경":2, "che_서적_10_구국론":2, "che_서적_11_상군서":2, "che_서적_11_춘추전":2,
|
||||||
|
"che_서적_12_산해경":2, "che_서적_12_맹덕신서":2, "che_서적_13_관자":2, "che_서적_13_병법24편":2,
|
||||||
|
"che_서적_14_한비자":2, "che_서적_14_오자병법":2, "che_서적_15_노자":2, "che_서적_15_손자병법":2
|
||||||
|
},
|
||||||
|
"item":{
|
||||||
|
"che_치료_환약":0, "che_저격_수극":0, "che_사기_탁주":0,
|
||||||
|
"che_훈련_청주":0, "che_계략_이추":0, "che_계략_향낭":0,
|
||||||
|
|
||||||
|
"event_전투특기_격노":0, "event_전투특기_공성":0, "event_전투특기_궁병":0,
|
||||||
|
"event_전투특기_귀병":0, "event_전투특기_기병":0, "event_전투특기_돌격":0, "event_전투특기_무쌍":0,
|
||||||
|
"event_전투특기_반계":0, "event_전투특기_보병":0, "event_전투특기_신산":0, "event_전투특기_신중":0,
|
||||||
|
"event_전투특기_위압":0, "event_전투특기_의술":0, "event_전투특기_저격":0, "event_전투특기_집중":0,
|
||||||
|
"event_전투특기_징병":0, "event_전투특기_척사":0, "event_전투특기_필살":0, "event_전투특기_환술":0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"events":[
|
||||||
|
[
|
||||||
|
"month", 1000,
|
||||||
|
["or", ["Date", "==", null, 12], ["Date", "==", null, 6]],
|
||||||
|
["CreateManyNPC", 10, 10],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 1000,
|
||||||
|
["Date", "==", 181, 1],
|
||||||
|
["ChangeCity", "occupied", {
|
||||||
|
"trade":100
|
||||||
|
}],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 1000,
|
||||||
|
["Date", "==", 181, 7],
|
||||||
|
["ChangeCity", "occupied", {
|
||||||
|
"trade":100
|
||||||
|
}],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 1000,
|
||||||
|
["Date", "==", 182, 1],
|
||||||
|
["ChangeCity", "occupied", {
|
||||||
|
"trade":100
|
||||||
|
}],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 1000,
|
||||||
|
["Date", "==", 182, 7],
|
||||||
|
["ChangeCity", "occupied", {
|
||||||
|
"trade":100
|
||||||
|
}],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"destroy_nation", 1000,
|
||||||
|
["and",
|
||||||
|
["Date", ">=", 183, 1],
|
||||||
|
["RemainNation", "==", 1]
|
||||||
|
],
|
||||||
|
["BlockScoutAction"],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 1000,
|
||||||
|
["Date", "==", 181, 1],
|
||||||
|
["RaiseNPCNation"],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 999,
|
||||||
|
["Date", "==", 181, 1],
|
||||||
|
["OpenNationBetting", 4, 5000],
|
||||||
|
["OpenNationBetting", 1, 2000],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 999,
|
||||||
|
["and",
|
||||||
|
["Date", ">=", 183, 1],
|
||||||
|
["RemainNation", "<=", 8]
|
||||||
|
],
|
||||||
|
["OpenNationBetting", 1, 1000],
|
||||||
|
["DeleteEvent"]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,211 @@
|
|||||||
|
{
|
||||||
|
"title":"【공백지】 무한대흥 ",
|
||||||
|
"startYear":180,
|
||||||
|
"map":{
|
||||||
|
"mapName":"miniche"
|
||||||
|
},
|
||||||
|
"history":[
|
||||||
|
"<C>●</>180년 1월:<L><b>【이벤트】</b></>많은 제한치가 더 높게 풀려있습니다."
|
||||||
|
],
|
||||||
|
"stat": {
|
||||||
|
"total": 200,
|
||||||
|
"min": 20,
|
||||||
|
"max": 100,
|
||||||
|
"chiefMin": 20
|
||||||
|
},
|
||||||
|
"const": {
|
||||||
|
"joinRuinedNPCProp":0,
|
||||||
|
"npcBanMessageProb":0.005,
|
||||||
|
"scenarioEffect": "event_MoreEffect",
|
||||||
|
"availableInstantAction": {
|
||||||
|
"instantRetreat": true
|
||||||
|
},
|
||||||
|
"defaultMaxGeneral": 800,
|
||||||
|
"basePopIncreaseAmount": 10000,
|
||||||
|
"maxTechLevel": 15,
|
||||||
|
"upgradeLimit": 20,
|
||||||
|
"initialAllowedTechLevel": 2,
|
||||||
|
"expandCityPopIncreaseAmount": 150000,
|
||||||
|
"expandCityDevelIncreaseAmount": 3000,
|
||||||
|
"expandCityWallIncreaseAmount": 3000,
|
||||||
|
"defaultCityWall": 3000,
|
||||||
|
"maxResourceActionAmount": 30000,
|
||||||
|
"resourceActionAmountGuide": [
|
||||||
|
100, 200, 300, 400, 500, 600, 700, 800, 900, 1000,
|
||||||
|
1200, 1500, 2000, 2500, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000,
|
||||||
|
12000, 15000, 20000, 25000, 30000
|
||||||
|
],
|
||||||
|
"allItems": {
|
||||||
|
"horse" : {
|
||||||
|
"che_명마_01_노기" : 0, "che_명마_02_조랑" : 0, "che_명마_03_노새" : 0,
|
||||||
|
"che_명마_04_나귀" : 0, "che_명마_05_갈색마" : 0, "che_명마_06_흑색마" : 0,
|
||||||
|
|
||||||
|
"che_명마_07_백마" : 4, "che_명마_07_기주마" : 4, "che_명마_07_오환마" : 4, "che_명마_07_백상" : 4,
|
||||||
|
"che_명마_08_양주마" : 4, "che_명마_08_흉노마" : 4, "che_명마_09_과하마" : 4, "che_명마_09_의남백마" : 4,
|
||||||
|
"che_명마_10_대완마" : 4, "che_명마_10_옥추마" : 4, "che_명마_11_서량마" : 4, "che_명마_11_화종마" : 4,
|
||||||
|
"che_명마_12_사륜거" : 4, "che_명마_12_옥란백용구": 4, "che_명마_13_절영" : 4, "che_명마_13_적로" : 4,
|
||||||
|
"che_명마_14_적란마" : 4, "che_명마_14_조황비전" : 4, "che_명마_15_한혈마" : 4, "che_명마_15_적토마" : 4
|
||||||
|
},
|
||||||
|
"weapon" : {
|
||||||
|
"che_무기_01_단도" : 0, "che_무기_02_단궁" : 0, "che_무기_03_단극" : 0,
|
||||||
|
"che_무기_04_목검" : 0, "che_무기_05_죽창" : 0, "che_무기_06_소부" : 0,
|
||||||
|
|
||||||
|
"che_무기_07_동추" : 4, "che_무기_07_철편" : 4, "che_무기_07_철쇄" : 4, "che_무기_07_맥궁" : 4,
|
||||||
|
"che_무기_08_유성추" : 4, "che_무기_08_철질여골" : 4, "che_무기_09_쌍철극" : 4, "che_무기_09_동호비궁" : 4,
|
||||||
|
"che_무기_10_삼첨도" : 4, "che_무기_10_대부" : 4, "che_무기_11_고정도" : 4, "che_무기_11_이광궁" : 4,
|
||||||
|
"che_무기_12_철척사모" : 4, "che_무기_12_칠성검" : 4, "che_무기_13_사모" : 4, "che_무기_13_양유기궁" : 4,
|
||||||
|
"che_무기_14_언월도" : 4, "che_무기_14_방천화극" : 4, "che_무기_15_청홍검" : 4, "che_무기_15_의천검" : 4
|
||||||
|
},
|
||||||
|
"book" : {
|
||||||
|
"che_서적_01_효경전" : 0, "che_서적_02_회남자" : 0, "che_서적_03_변도론" : 0,
|
||||||
|
"che_서적_04_건상역주" : 0, "che_서적_05_여씨춘추" : 0, "che_서적_06_사민월령" : 0,
|
||||||
|
|
||||||
|
"che_서적_07_위료자" : 4, "che_서적_07_사마법" : 4, "che_서적_07_한서" : 4, "che_서적_07_논어" : 4,
|
||||||
|
"che_서적_08_전론" : 4, "che_서적_08_사기" : 4, "che_서적_09_장자" : 4, "che_서적_09_역경" : 4,
|
||||||
|
"che_서적_10_시경" : 4, "che_서적_10_구국론" : 4, "che_서적_11_상군서" : 4, "che_서적_11_춘추전" : 4,
|
||||||
|
"che_서적_12_산해경" : 4, "che_서적_12_맹덕신서" : 4, "che_서적_13_관자" : 4, "che_서적_13_병법24편" : 4,
|
||||||
|
"che_서적_14_한비자" : 4, "che_서적_14_오자병법" : 4, "che_서적_15_노자" : 4, "che_서적_15_손자병법" : 4
|
||||||
|
},
|
||||||
|
"item": {
|
||||||
|
"che_치료_환약": 0,
|
||||||
|
"che_저격_수극": 0,
|
||||||
|
"che_사기_탁주": 0,
|
||||||
|
"che_훈련_청주": 0,
|
||||||
|
"che_계략_이추": 0,
|
||||||
|
"che_계략_향낭": 0,
|
||||||
|
|
||||||
|
"event_전투특기_격노": 0,
|
||||||
|
"event_전투특기_견고": 0,
|
||||||
|
"event_전투특기_공성": 0,
|
||||||
|
"event_전투특기_궁병": 0,
|
||||||
|
"event_전투특기_귀병": 0,
|
||||||
|
"event_전투특기_기병": 0,
|
||||||
|
"event_전투특기_돌격": 0,
|
||||||
|
"event_전투특기_무쌍": 0,
|
||||||
|
"event_전투특기_반계": 0,
|
||||||
|
"event_전투특기_보병": 0,
|
||||||
|
"event_전투특기_신산": 0,
|
||||||
|
"event_전투특기_신중": 0,
|
||||||
|
"event_전투특기_위압": 0,
|
||||||
|
"event_전투특기_의술": 0,
|
||||||
|
"event_전투특기_저격": 0,
|
||||||
|
"event_전투특기_집중": 0,
|
||||||
|
"event_전투특기_징병": 0,
|
||||||
|
"event_전투특기_척사": 0,
|
||||||
|
"event_전투특기_필살": 0,
|
||||||
|
"event_전투특기_환술": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"initialEvents":[
|
||||||
|
[
|
||||||
|
true,
|
||||||
|
["ChangeCity", ["cities", "낙양", "성도", "건업", "업", "장안", "허창", "양양"], {
|
||||||
|
"pop_max": "+300000",
|
||||||
|
"agri_max": "+6000",
|
||||||
|
"comm_max": "+6000",
|
||||||
|
"secu_max": "+5000",
|
||||||
|
"def_max": "+6000",
|
||||||
|
"wall_max": "+6000"
|
||||||
|
}],
|
||||||
|
["ChangeCity", ["cities", "시상", "수춘", "한중", "남피", "위례", "북평", "강릉", "완", "장사"], {
|
||||||
|
"pop_max": "+250000",
|
||||||
|
"agri_max": "+5000",
|
||||||
|
"comm_max": "+5000",
|
||||||
|
"secu_max": "+4000",
|
||||||
|
"def_max": "+5000",
|
||||||
|
"wall_max": "+5000"
|
||||||
|
}],
|
||||||
|
["ChangeCity", ["cities", "오", "하비", "복양", "웅진", "강주", "무도", "국내", "진류", "계양", "계림", "계", "무위", "제남", "남해", "덕양", "하내", "상용"], {
|
||||||
|
"pop_max": "+200000",
|
||||||
|
"agri_max": "+4000",
|
||||||
|
"comm_max": "+4000",
|
||||||
|
"secu_max": "+3000",
|
||||||
|
"def_max": "+4000",
|
||||||
|
"wall_max": "+4000"
|
||||||
|
}],
|
||||||
|
["ChangeCity", ["cities", "초", "운남", "대", "하동", "무릉", "교지", "단양", "영안", "북해", "건녕", "강하", "진양", "평원", "회계", "천수", "평양", "요동", "거록", "여강", "패", "자동", "광릉", "장가", "영릉", "월수", "건안", "신야", "상동", "안정", "여남", "홍농", "주제"], {
|
||||||
|
"pop_max": "+150000",
|
||||||
|
"agri_max": "+3000",
|
||||||
|
"comm_max": "+3000",
|
||||||
|
"secu_max": "+2000",
|
||||||
|
"def_max": "+3000",
|
||||||
|
"wall_max": "+3000"
|
||||||
|
}],
|
||||||
|
["ChangeCity", ["cities", "남만", "산월", "오환", "강", "왜", "흉노"], {
|
||||||
|
"pop_max": "+100000",
|
||||||
|
"agri_max": "+2000",
|
||||||
|
"comm_max": "+2000",
|
||||||
|
"secu_max": "+1000",
|
||||||
|
"def_max": "+2000",
|
||||||
|
"wall_max": "+2000"
|
||||||
|
}],
|
||||||
|
["ChangeCity", ["cities", "합비", "이릉", "오장원", "호로", "탐라", "적벽"], {
|
||||||
|
"pop_max": "+100000",
|
||||||
|
"agri_max": "+1000",
|
||||||
|
"comm_max": "+1000",
|
||||||
|
"secu_max": "+1000",
|
||||||
|
"def_max": "+1000",
|
||||||
|
"wall_max": "+1000"
|
||||||
|
}],
|
||||||
|
["ChangeCity", "free", {
|
||||||
|
"pop":"50%"
|
||||||
|
}]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"events":[
|
||||||
|
[
|
||||||
|
"month", 1000,
|
||||||
|
["or", ["Date", "==", null, 12], ["Date", "==", null, 6]],
|
||||||
|
["CreateManyNPC", 15, 10],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 1000,
|
||||||
|
["Date", "==", 181, 1],
|
||||||
|
["RaiseNPCNation"],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 999,
|
||||||
|
["Date", "==", 181, 1],
|
||||||
|
["OpenNationBetting", 4, 5000],
|
||||||
|
["OpenNationBetting", 1, 2000],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 1000,
|
||||||
|
["Date", "==", 182, 1],
|
||||||
|
["ChangeCity", "occupied", {
|
||||||
|
"trade":100
|
||||||
|
}],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 1000,
|
||||||
|
["Date", "==", 182, 7],
|
||||||
|
["ChangeCity", "occupied", {
|
||||||
|
"trade":100
|
||||||
|
}],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 999,
|
||||||
|
["and",
|
||||||
|
["Date", ">=", 183, 1],
|
||||||
|
["RemainNation", "<=", 8]
|
||||||
|
],
|
||||||
|
["OpenNationBetting", 1, 1000],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"destroy_nation", 1000,
|
||||||
|
["and",
|
||||||
|
["Date", ">=", 183, 1],
|
||||||
|
["RemainNation", "==", 1]
|
||||||
|
],
|
||||||
|
["BlockScoutAction"],
|
||||||
|
["DeleteEvent"]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
{
|
||||||
|
"title":"【공백지】 요양 ",
|
||||||
|
"startYear":180,
|
||||||
|
"map":{
|
||||||
|
"mapName":"miniche"
|
||||||
|
},
|
||||||
|
"history":[
|
||||||
|
"<C>●</>180년 1월:<L><b>【이벤트】</b></>쉬었다 가는 깃수입니다."
|
||||||
|
],
|
||||||
|
"const": {
|
||||||
|
"joinRuinedNPCProp":0,
|
||||||
|
"npcBanMessageProb":0.005,
|
||||||
|
"defaultMaxGeneral": 800,
|
||||||
|
"allItems":{
|
||||||
|
"horse":{
|
||||||
|
"che_명마_01_노기":0, "che_명마_02_조랑":0, "che_명마_03_노새":0,
|
||||||
|
"che_명마_04_나귀":0, "che_명마_05_갈색마":0, "che_명마_06_흑색마":0,
|
||||||
|
|
||||||
|
"che_명마_07_백마" : 2, "che_명마_07_기주마" : 2, "che_명마_07_오환마" : 2, "che_명마_07_백상" : 2,
|
||||||
|
"che_명마_08_양주마" : 2, "che_명마_08_흉노마" : 2, "che_명마_09_과하마" : 2, "che_명마_09_의남백마" : 2,
|
||||||
|
"che_명마_10_대완마" : 2, "che_명마_10_옥추마" : 2, "che_명마_11_서량마" : 2, "che_명마_11_화종마" : 2,
|
||||||
|
"che_명마_12_사륜거" : 2, "che_명마_12_옥란백용구": 2, "che_명마_13_절영" : 2, "che_명마_13_적로" : 2,
|
||||||
|
"che_명마_14_적란마" : 2, "che_명마_14_조황비전" : 2, "che_명마_15_한혈마" : 2, "che_명마_15_적토마" : 2
|
||||||
|
},
|
||||||
|
"weapon":{
|
||||||
|
"che_무기_01_단도":0, "che_무기_02_단궁":0, "che_무기_03_단극":0,
|
||||||
|
"che_무기_04_목검":0, "che_무기_05_죽창":0, "che_무기_06_소부":0,
|
||||||
|
|
||||||
|
"che_무기_07_동추":2, "che_무기_07_철편":2, "che_무기_07_철쇄":2, "che_무기_07_맥궁":2,
|
||||||
|
"che_무기_08_유성추":2, "che_무기_08_철질여골":2, "che_무기_09_쌍철극":2, "che_무기_09_동호비궁":2,
|
||||||
|
"che_무기_10_삼첨도":2, "che_무기_10_대부":2, "che_무기_11_고정도":2, "che_무기_11_이광궁":2,
|
||||||
|
"che_무기_12_철척사모":2, "che_무기_12_칠성검":2, "che_무기_13_사모":2, "che_무기_13_양유기궁":2,
|
||||||
|
"che_무기_14_언월도":2, "che_무기_14_방천화극":2, "che_무기_15_청홍검":2, "che_무기_15_의천검":2
|
||||||
|
},
|
||||||
|
"book":{
|
||||||
|
"che_서적_01_효경전":0, "che_서적_02_회남자":0, "che_서적_03_변도론":0,
|
||||||
|
"che_서적_04_건상역주":0, "che_서적_05_여씨춘추":0, "che_서적_06_사민월령":0,
|
||||||
|
|
||||||
|
"che_서적_07_위료자":2, "che_서적_07_사마법":2, "che_서적_07_한서":2, "che_서적_07_논어":2,
|
||||||
|
"che_서적_08_전론":2, "che_서적_08_사기":2, "che_서적_09_장자":2, "che_서적_09_역경":2,
|
||||||
|
"che_서적_10_시경":2, "che_서적_10_구국론":2, "che_서적_11_상군서":2, "che_서적_11_춘추전":2,
|
||||||
|
"che_서적_12_산해경":2, "che_서적_12_맹덕신서":2, "che_서적_13_관자":2, "che_서적_13_병법24편":2,
|
||||||
|
"che_서적_14_한비자":2, "che_서적_14_오자병법":2, "che_서적_15_노자":2, "che_서적_15_손자병법":2
|
||||||
|
},
|
||||||
|
"item":{
|
||||||
|
"che_치료_환약":0, "che_저격_수극":0, "che_사기_탁주":0,
|
||||||
|
"che_훈련_청주":0, "che_계략_이추":0, "che_계략_향낭":0,
|
||||||
|
|
||||||
|
"event_전투특기_격노":0, "event_전투특기_견고":0, "event_전투특기_공성":0, "event_전투특기_궁병":0,
|
||||||
|
"event_전투특기_귀병":0, "event_전투특기_기병":0, "event_전투특기_돌격":0, "event_전투특기_무쌍":0,
|
||||||
|
"event_전투특기_반계":0, "event_전투특기_보병":0, "event_전투특기_신산":0, "event_전투특기_신중":0,
|
||||||
|
"event_전투특기_위압":0, "event_전투특기_의술":0, "event_전투특기_저격":0, "event_전투특기_집중":0,
|
||||||
|
"event_전투특기_징병":0, "event_전투특기_척사":0, "event_전투특기_필살":0, "event_전투특기_환술":0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"events":[
|
||||||
|
[
|
||||||
|
"month", 1000,
|
||||||
|
["or", ["Date", "==", null, 12], ["Date", "==", null, 6]],
|
||||||
|
["CreateManyNPC", 15, 10],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 1000,
|
||||||
|
["Date", "==", 181, 1],
|
||||||
|
["RaiseNPCNation"],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 999,
|
||||||
|
["Date", "==", 181, 1],
|
||||||
|
["OpenNationBetting", 4, 5000],
|
||||||
|
["OpenNationBetting", 1, 2000],
|
||||||
|
["DeleteEvent"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 1000,
|
||||||
|
["Date", "==", null, 1],
|
||||||
|
["ChangeCity", "all", {
|
||||||
|
"trade":100
|
||||||
|
}]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"month", 1000,
|
||||||
|
["Date", "==", null, 7],
|
||||||
|
["ChangeCity", "all", {
|
||||||
|
"trade":100
|
||||||
|
}]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,15 +1,19 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace sammo;
|
namespace sammo;
|
||||||
|
|
||||||
|
use sammo\GameUnitConstraint\ReqMinRelYear;
|
||||||
|
use sammo\GameUnitConstraint\ReqTech;
|
||||||
|
|
||||||
class GameUnitConst extends GameUnitConstBase
|
class GameUnitConst extends GameUnitConstBase
|
||||||
{
|
{
|
||||||
const DEFAULT_CREWTYPE = 1100;
|
const DEFAULT_CREWTYPE = 1100;
|
||||||
|
|
||||||
protected static $_buildData = [
|
protected static function getBuildData(): array {
|
||||||
|
return [
|
||||||
[
|
[
|
||||||
1000, self::T_CASTLE, '성벽',
|
1000, self::T_CASTLE, '성벽',
|
||||||
100, 100, 7, 0, 0, 99, 9,
|
100, 100, 7, 0, 0, 99, 9,
|
||||||
999999, null, null, 999999,
|
[],
|
||||||
[], // 성벽은 공격할 수 없다.
|
[], // 성벽은 공격할 수 없다.
|
||||||
[self::T_FOOTMAN=>1.2],
|
[self::T_FOOTMAN=>1.2],
|
||||||
['성벽입니다.','생성할 수 없습니다.'],
|
['성벽입니다.','생성할 수 없습니다.'],
|
||||||
@@ -19,7 +23,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1100, self::T_FOOTMAN, '보병',
|
1100, self::T_FOOTMAN, '보병',
|
||||||
100, 150, 7, 10, 0, 9, 9,
|
100, 150, 7, 10, 0, 9, 9,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
['표준적인 보병입니다.','보병은 방어특화이며,','상대가 회피하기 어렵습니다.'],
|
['표준적인 보병입니다.','보병은 방어특화이며,','상대가 회피하기 어렵습니다.'],
|
||||||
@@ -29,7 +33,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1200, self::T_ARCHER, '궁병',
|
1200, self::T_ARCHER, '궁병',
|
||||||
100, 100, 7, 20, 0, 10, 10,
|
100, 100, 7, 20, 0, 10, 10,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
['표준적인 궁병입니다.','궁병은 회피특화입니다.'],
|
['표준적인 궁병입니다.','궁병은 회피특화입니다.'],
|
||||||
@@ -39,7 +43,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1300, self::T_CAVALRY, '기병',
|
1300, self::T_CAVALRY, '기병',
|
||||||
150, 100, 7, 5, 0, 11, 11,
|
150, 100, 7, 5, 0, 11, 11,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['표준적인 기병입니다.','기병은 공격특화입니다.'],
|
['표준적인 기병입니다.','기병은 공격특화입니다.'],
|
||||||
@@ -49,7 +53,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1400, self::T_WIZARD, '귀병',
|
1400, self::T_WIZARD, '귀병',
|
||||||
80, 80, 7, 5, 0.5, 9, 9,
|
80, 80, 7, 5, 0.5, 9, 9,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['계략을 사용하는 병종입니다.'],
|
['계략을 사용하는 병종입니다.'],
|
||||||
@@ -58,7 +62,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1405, self::T_WIZARD, '남귀병',
|
1405, self::T_WIZARD, '남귀병',
|
||||||
60, 60, 7, 10, 0.8, 8, 8,
|
60, 60, 7, 10, 0.8, 8, 8,
|
||||||
1000, null, null, 0,
|
[],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['전투를 포기하고 계략에 몰두합니다.'],
|
['전투를 포기하고 계략에 몰두합니다.'],
|
||||||
@@ -68,7 +72,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1500, self::T_SIEGE, '정란',
|
1500, self::T_SIEGE, '정란',
|
||||||
100, 100, 6, 0, 0, 15, 5,
|
100, 100, 6, 0, 0, 15, 5,
|
||||||
0, null, null, 3,
|
[new ReqMinRelYear(3)],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
|
||||||
['높은 구조물 위에서 공격합니다.'],
|
['높은 구조물 위에서 공격합니다.'],
|
||||||
@@ -77,7 +81,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1501, self::T_SIEGE, '충차',
|
1501, self::T_SIEGE, '충차',
|
||||||
150, 100, 6, 0, 0, 20, 5,
|
150, 100, 6, 0, 0, 20, 5,
|
||||||
1000, null, null, 3,
|
[new ReqTech(1000), new ReqMinRelYear(3)],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
|
||||||
['엄청난 위력으로 성벽을 부수어버립니다.'],
|
['엄청난 위력으로 성벽을 부수어버립니다.'],
|
||||||
@@ -85,3 +89,4 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
]
|
]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
@@ -1,13 +1,20 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace sammo;
|
namespace sammo;
|
||||||
|
|
||||||
|
use sammo\GameUnitConstraint\Impossible;
|
||||||
|
use sammo\GameUnitConstraint\ReqCities;
|
||||||
|
use sammo\GameUnitConstraint\ReqMinRelYear;
|
||||||
|
use sammo\GameUnitConstraint\ReqRegions;
|
||||||
|
use sammo\GameUnitConstraint\ReqTech;
|
||||||
|
|
||||||
class GameUnitConst extends GameUnitConstBase
|
class GameUnitConst extends GameUnitConstBase
|
||||||
{
|
{
|
||||||
protected static $_buildData = [
|
protected static function getBuildData(): array {
|
||||||
|
return [
|
||||||
[
|
[
|
||||||
1000, self::T_CASTLE, '성벽',
|
1000, self::T_CASTLE, '성벽',
|
||||||
100, 100, 7, 0, 0, 99, 9,
|
100, 100, 7, 0, 0, 99, 9,
|
||||||
999999, null, null, 999999,
|
[new Impossible()],
|
||||||
[], // 성벽은 공격할 수 없다.
|
[], // 성벽은 공격할 수 없다.
|
||||||
[self::T_FOOTMAN=>1.2],
|
[self::T_FOOTMAN=>1.2],
|
||||||
['성벽입니다.','생성할 수 없습니다.'],
|
['성벽입니다.','생성할 수 없습니다.'],
|
||||||
@@ -17,7 +24,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1100, self::T_FOOTMAN, '보병',
|
1100, self::T_FOOTMAN, '보병',
|
||||||
100, 150, 7, 10, 0, 9, 9,
|
100, 150, 7, 10, 0, 9, 9,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
['표준적인 보병입니다.','보병은 방어특화이며,','상대가 회피하기 어렵습니다.'],
|
['표준적인 보병입니다.','보병은 방어특화이며,','상대가 회피하기 어렵습니다.'],
|
||||||
@@ -26,7 +33,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1101, self::T_FOOTMAN, '청주병',
|
1101, self::T_FOOTMAN, '청주병',
|
||||||
100, 200, 7, 10, 0, 10, 11,
|
100, 200, 7, 10, 0, 10, 11,
|
||||||
1000, null, ['중원'], 0,
|
[new ReqTech(1000), new ReqRegions('중원')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
['저렴하고 튼튼합니다.'],
|
['저렴하고 튼튼합니다.'],
|
||||||
@@ -35,7 +42,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1102, self::T_FOOTMAN, '수병',
|
1102, self::T_FOOTMAN, '수병',
|
||||||
150, 150, 7, 10, 0, 11, 10,
|
150, 150, 7, 10, 0, 11, 10,
|
||||||
1000, null, ['오월'], 0,
|
[new ReqTech(1000), new ReqRegions('오월')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
['저렴하고 강력합니다.'],
|
['저렴하고 강력합니다.'],
|
||||||
@@ -44,7 +51,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1103, self::T_FOOTMAN, '자객병',
|
1103, self::T_FOOTMAN, '자객병',
|
||||||
100, 150, 8, 20, 0, 10, 10,
|
100, 150, 8, 20, 0, 10, 10,
|
||||||
2000, ['저'], null, 0,
|
[new ReqTech(2000), new ReqCities('저')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
['은밀하고 날쌥니다.'],
|
['은밀하고 날쌥니다.'],
|
||||||
@@ -53,7 +60,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1104, self::T_FOOTMAN, '근위병',
|
1104, self::T_FOOTMAN, '근위병',
|
||||||
150, 200, 7, 10, 0, 12, 12,
|
150, 200, 7, 10, 0, 12, 12,
|
||||||
3000, ['낙양'], null, 0,
|
[new ReqTech(3000), new ReqCities('낙양')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
['최강의 보병입니다.'],
|
['최강의 보병입니다.'],
|
||||||
@@ -62,7 +69,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1105, self::T_FOOTMAN, '등갑병',
|
1105, self::T_FOOTMAN, '등갑병',
|
||||||
100, 225, 7, 5, 0, 13, 10,
|
100, 225, 7, 5, 0, 13, 10,
|
||||||
1000, null, ['남중'], 0,
|
[new ReqTech(1000), new ReqRegions('남중')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
['등갑을 두른 보병입니다.'],
|
['등갑을 두른 보병입니다.'],
|
||||||
@@ -71,7 +78,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1106, self::T_FOOTMAN, '백이병',
|
1106, self::T_FOOTMAN, '백이병',
|
||||||
175, 175, 7, 5, 0, 13, 11,
|
175, 175, 7, 5, 0, 13, 11,
|
||||||
3000, ['성도'], null, 0,
|
[new ReqTech(3000), new ReqCities('성도')],
|
||||||
[self::T_ARCHER=>1.1, self::T_CAVALRY=>0.9, self::T_SIEGE=>1.1],
|
[self::T_ARCHER=>1.1, self::T_CAVALRY=>0.9, self::T_SIEGE=>1.1],
|
||||||
[self::T_ARCHER=>0.9, self::T_CAVALRY=>1.1, self::T_SIEGE=>0.9],
|
[self::T_ARCHER=>0.9, self::T_CAVALRY=>1.1, self::T_SIEGE=>0.9],
|
||||||
['정예 보병입니다. 불리한 싸움도 버텨냅니다.'],
|
['정예 보병입니다. 불리한 싸움도 버텨냅니다.'],
|
||||||
@@ -81,7 +88,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1200, self::T_ARCHER, '궁병',
|
1200, self::T_ARCHER, '궁병',
|
||||||
100, 100, 7, 10, 0, 10, 10,
|
100, 100, 7, 10, 0, 10, 10,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
['표준적인 궁병입니다.','궁병은 선제사격을 하는 병종입니다.'],
|
['표준적인 궁병입니다.','궁병은 선제사격을 하는 병종입니다.'],
|
||||||
@@ -90,7 +97,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1201, self::T_ARCHER, '궁기병',
|
1201, self::T_ARCHER, '궁기병',
|
||||||
100, 100, 8, 20, 0, 11, 12,
|
100, 100, 8, 20, 0, 11, 12,
|
||||||
1000, null, ['동이'], 0,
|
[new ReqTech(1000), new ReqRegions('동이')],
|
||||||
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.9, self::T_SIEGE=>1.2],
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.9, self::T_SIEGE=>1.2],
|
||||||
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.1, self::T_SIEGE=>0.8],
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.1, self::T_SIEGE=>0.8],
|
||||||
['말을 타고 잘 피합니다. 특히 다른 궁병보다 보병에게 조금 더 강합니다.'],
|
['말을 타고 잘 피합니다. 특히 다른 궁병보다 보병에게 조금 더 강합니다.'],
|
||||||
@@ -99,7 +106,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1202, self::T_ARCHER, '연노병',
|
1202, self::T_ARCHER, '연노병',
|
||||||
150, 100, 8, 10, 0, 12, 11,
|
150, 100, 8, 10, 0, 12, 11,
|
||||||
1000, null, ['서촉'], 0,
|
[new ReqTech(1000), new ReqRegions('서촉')],
|
||||||
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
['화살을 연사합니다.'],
|
['화살을 연사합니다.'],
|
||||||
@@ -108,7 +115,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1203, self::T_ARCHER, '강궁병',
|
1203, self::T_ARCHER, '강궁병',
|
||||||
150, 150, 7, 10, 0, 13, 13,
|
150, 150, 7, 10, 0, 13, 13,
|
||||||
3000, ['양양'], null, 0,
|
[new ReqTech(3000), new ReqCities('양양')],
|
||||||
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
['강건한 궁병입니다.'],
|
['강건한 궁병입니다.'],
|
||||||
@@ -117,7 +124,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1204, self::T_ARCHER, '석궁병',
|
1204, self::T_ARCHER, '석궁병',
|
||||||
200, 100, 7, 10, 0, 13, 13,
|
200, 100, 7, 10, 0, 13, 13,
|
||||||
3000, ['건업'], null, 0,
|
[new ReqTech(3000), new ReqCities('건업')],
|
||||||
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
['강력한 화살을 쏩니다.'],
|
['강력한 화살을 쏩니다.'],
|
||||||
@@ -127,7 +134,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1300, self::T_CAVALRY, '기병',
|
1300, self::T_CAVALRY, '기병',
|
||||||
150, 100, 7, 5, 0, 11, 11,
|
150, 100, 7, 5, 0, 11, 11,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['표준적인 기병입니다.','기병은 공격특화입니다.'],
|
['표준적인 기병입니다.','기병은 공격특화입니다.'],
|
||||||
@@ -136,7 +143,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1301, self::T_CAVALRY, '백마병',
|
1301, self::T_CAVALRY, '백마병',
|
||||||
200, 100, 7, 5, 0, 12, 13,
|
200, 100, 7, 5, 0, 12, 13,
|
||||||
1000, null, ['하북'], 0,
|
[new ReqTech(1000), new ReqRegions('하북')],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['백마의 위용을 보여줍니다.'],
|
['백마의 위용을 보여줍니다.'],
|
||||||
@@ -145,7 +152,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1302, self::T_CAVALRY, '중장기병',
|
1302, self::T_CAVALRY, '중장기병',
|
||||||
150, 150, 7, 5, 0, 13, 12,
|
150, 150, 7, 5, 0, 13, 12,
|
||||||
1000, null, ['서북'], 0,
|
[new ReqTech(1000), new ReqRegions('서북')],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['갑주를 두른 기병입니다.'],
|
['갑주를 두른 기병입니다.'],
|
||||||
@@ -154,7 +161,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1303, self::T_CAVALRY, '돌격기병',
|
1303, self::T_CAVALRY, '돌격기병',
|
||||||
200, 100, 8, 5, 0, 13, 11,
|
200, 100, 8, 5, 0, 13, 11,
|
||||||
2000, ['흉노'], null, 0,
|
[new ReqTech(2000), new ReqCities('흉노')],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['저돌적으로 공격합니다.'],
|
['저돌적으로 공격합니다.'],
|
||||||
@@ -163,7 +170,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1304, self::T_CAVALRY, '철기병',
|
1304, self::T_CAVALRY, '철기병',
|
||||||
100, 200, 7, 5, 0, 11, 13,
|
100, 200, 7, 5, 0, 11, 13,
|
||||||
2000, ['강'], null, 0,
|
[new ReqTech(2000), new ReqCities('강')],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['철갑을 두른 기병입니다.'],
|
['철갑을 두른 기병입니다.'],
|
||||||
@@ -172,7 +179,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1305, self::T_CAVALRY, '수렵기병',
|
1305, self::T_CAVALRY, '수렵기병',
|
||||||
150, 100, 8, 15, 0, 12, 12,
|
150, 100, 8, 15, 0, 12, 12,
|
||||||
2000, ['산월'], null, 0,
|
[new ReqTech(2000), new ReqCities('산월')],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['날쎄고 빠른 기병입니다.'],
|
['날쎄고 빠른 기병입니다.'],
|
||||||
@@ -181,7 +188,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1306, self::T_CAVALRY, '맹수병',
|
1306, self::T_CAVALRY, '맹수병',
|
||||||
250, 175, 6, 0, 0, 16, 16,
|
250, 175, 6, 0, 0, 16, 16,
|
||||||
2000, ['남만'], null, 0,
|
[new ReqTech(2000), new ReqCities('남만')],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['어느 누구보다 강력합니다.'],
|
['어느 누구보다 강력합니다.'],
|
||||||
@@ -190,7 +197,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1307, self::T_CAVALRY, '호표기병',
|
1307, self::T_CAVALRY, '호표기병',
|
||||||
200, 150, 7, 5, 0, 14, 14,
|
200, 150, 7, 5, 0, 14, 14,
|
||||||
3000, ['허창'], null, 0,
|
[new ReqTech(3000), new ReqCities('허창')],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
['정예 기병입니다.'],
|
['정예 기병입니다.'],
|
||||||
@@ -200,7 +207,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1400, self::T_WIZARD, '귀병',
|
1400, self::T_WIZARD, '귀병',
|
||||||
80, 80, 7, 5, 0.5, 9, 9,
|
80, 80, 7, 5, 0.5, 9, 9,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['계략을 사용하는 병종입니다.'],
|
['계략을 사용하는 병종입니다.'],
|
||||||
@@ -209,7 +216,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1401, self::T_WIZARD, '신귀병',
|
1401, self::T_WIZARD, '신귀병',
|
||||||
80, 80, 7, 20, 0.6, 10, 10,
|
80, 80, 7, 20, 0.6, 10, 10,
|
||||||
1000, null, ['초'], 0,
|
[new ReqTech(1000), new ReqRegions('초')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['신출귀몰한 귀병입니다.'],
|
['신출귀몰한 귀병입니다.'],
|
||||||
@@ -218,7 +225,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1402, self::T_WIZARD, '백귀병',
|
1402, self::T_WIZARD, '백귀병',
|
||||||
80, 130, 7, 5, 0.6, 9, 11,
|
80, 130, 7, 5, 0.6, 9, 11,
|
||||||
2000, ['오환'], null, 0,
|
[new ReqTech(2000), new ReqCities('오환')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['저렴하고 튼튼합니다.'],
|
['저렴하고 튼튼합니다.'],
|
||||||
@@ -227,7 +234,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1403, self::T_WIZARD, '흑귀병',
|
1403, self::T_WIZARD, '흑귀병',
|
||||||
130, 80, 7, 5, 0.6, 11, 9,
|
130, 80, 7, 5, 0.6, 11, 9,
|
||||||
2000, ['왜'], null, 0,
|
[new ReqTech(2000), new ReqCities('왜')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['저렴하고 강력합니다.'],
|
['저렴하고 강력합니다.'],
|
||||||
@@ -236,7 +243,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1404, self::T_WIZARD, '악귀병',
|
1404, self::T_WIZARD, '악귀병',
|
||||||
130, 130, 7, 0, 0.6, 12, 12,
|
130, 130, 7, 0, 0.6, 12, 12,
|
||||||
3000, ['장안'], null, 0,
|
[new ReqTech(3000), new ReqCities('장안')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['백병전에도 능숙합니다.'],
|
['백병전에도 능숙합니다.'],
|
||||||
@@ -245,7 +252,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1405, self::T_WIZARD, '남귀병',
|
1405, self::T_WIZARD, '남귀병',
|
||||||
60, 60, 7, 10, 0.8, 8, 8,
|
60, 60, 7, 10, 0.8, 8, 8,
|
||||||
1000, null, null, 0,
|
[new ReqTech(1000)],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['전투를 포기하고 계략에 몰두합니다.'],
|
['전투를 포기하고 계략에 몰두합니다.'],
|
||||||
@@ -254,7 +261,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1406, self::T_WIZARD, '황귀병',
|
1406, self::T_WIZARD, '황귀병',
|
||||||
110, 110, 7, 0, 0.8, 13, 10,
|
110, 110, 7, 0, 0.8, 13, 10,
|
||||||
3000, ['낙양'], null, 0,
|
[new ReqTech(3000), new ReqCities('낙양')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['고도로 훈련된 귀병입니다.'],
|
['고도로 훈련된 귀병입니다.'],
|
||||||
@@ -263,7 +270,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1407, self::T_WIZARD, '천귀병',
|
1407, self::T_WIZARD, '천귀병',
|
||||||
80, 130, 7, 15, 0.6, 11, 12,
|
80, 130, 7, 15, 0.6, 11, 12,
|
||||||
3000, ['성도'], null, 0,
|
[new ReqTech(3000), new ReqCities('성도')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['갑주를 두른 귀병입니다.'],
|
['갑주를 두른 귀병입니다.'],
|
||||||
@@ -272,7 +279,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1408, self::T_WIZARD, '마귀병',
|
1408, self::T_WIZARD, '마귀병',
|
||||||
130, 80, 7, 15, 0.6, 12, 11,
|
130, 80, 7, 15, 0.6, 12, 11,
|
||||||
3000, ['업'], null, 0,
|
[new ReqTech(3000), new ReqCities('업')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
['날카로운 무기를 가진 귀병입니다.'],
|
['날카로운 무기를 가진 귀병입니다.'],
|
||||||
@@ -282,7 +289,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1500, self::T_SIEGE, '정란',
|
1500, self::T_SIEGE, '정란',
|
||||||
100, 100, 6, 0, 0, 14, 5,
|
100, 100, 6, 0, 0, 14, 5,
|
||||||
0, null, null, 3,
|
[new ReqMinRelYear(3)],
|
||||||
[self::T_FOOTMAN=>1.25, self::T_ARCHER=>1.25, self::T_CAVALRY=>1.25, self::T_WIZARD=>1.25, self::T_CASTLE=>1.2, 1106=>1.112],
|
[self::T_FOOTMAN=>1.25, self::T_ARCHER=>1.25, self::T_CAVALRY=>1.25, self::T_WIZARD=>1.25, self::T_CASTLE=>1.2, 1106=>1.112],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067],
|
||||||
['높은 구조물 위에서 공격합니다. 첫 공격은 성벽을 향합니다.'],
|
['높은 구조물 위에서 공격합니다. 첫 공격은 성벽을 향합니다.'],
|
||||||
@@ -291,7 +298,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1502, self::T_SIEGE, '벽력거',
|
1502, self::T_SIEGE, '벽력거',
|
||||||
150, 100, 6, 5, 0, 20, 5,
|
150, 100, 6, 5, 0, 20, 5,
|
||||||
3000, ['업'], null, 0,
|
[new ReqTech(3000), new ReqCities('업')],
|
||||||
[self::T_FOOTMAN=>1.25, self::T_ARCHER=>1.25, self::T_CAVALRY=>1.25, self::T_WIZARD=>1.25, self::T_CASTLE=>1.2, 1106=>1.112],
|
[self::T_FOOTMAN=>1.25, self::T_ARCHER=>1.25, self::T_CAVALRY=>1.25, self::T_WIZARD=>1.25, self::T_CASTLE=>1.2, 1106=>1.112],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067],
|
||||||
['상대에게 돌덩이를 날립니다. 첫 공격은 성벽을 향합니다.'],
|
['상대에게 돌덩이를 날립니다. 첫 공격은 성벽을 향합니다.'],
|
||||||
@@ -300,7 +307,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1503, self::T_SIEGE, '목우',
|
1503, self::T_SIEGE, '목우',
|
||||||
50, 200, 5, 0, 0, 15, 5,
|
50, 200, 5, 0, 0, 15, 5,
|
||||||
3000, ['성도'], null, 0,
|
[new ReqTech(3000), new ReqCities('성도')],
|
||||||
[self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, self::T_CASTLE=>1.2],
|
[self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, self::T_CASTLE=>1.2],
|
||||||
[self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, 1106=>1],
|
[self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, 1106=>1],
|
||||||
['상대를 저지하는 특수병기입니다.'],
|
['상대를 저지하는 특수병기입니다.'],
|
||||||
@@ -308,3 +315,4 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
]
|
]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
+32
-23
@@ -2,15 +2,23 @@
|
|||||||
|
|
||||||
namespace sammo;
|
namespace sammo;
|
||||||
|
|
||||||
|
use sammo\GameUnitConstraint\Impossible;
|
||||||
|
use sammo\GameUnitConstraint\ReqCities;
|
||||||
|
use sammo\GameUnitConstraint\ReqMinRelYear;
|
||||||
|
use sammo\GameUnitConstraint\ReqRegions;
|
||||||
|
use sammo\GameUnitConstraint\ReqTech;
|
||||||
|
|
||||||
class GameUnitConst extends GameUnitConstBase
|
class GameUnitConst extends GameUnitConstBase
|
||||||
{
|
{
|
||||||
const DEFAULT_CREWTYPE = 1100;
|
const DEFAULT_CREWTYPE = 1100;
|
||||||
|
|
||||||
protected static $_buildData = [
|
protected static function getBuildData(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
[
|
[
|
||||||
1000, self::T_CASTLE, '성벽',
|
1000, self::T_CASTLE, '성벽',
|
||||||
100, 100, 7, 0, 0, 99, 9,
|
100, 100, 7, 0, 0, 99, 9,
|
||||||
999999, null, null, 999999,
|
[new Impossible()],
|
||||||
[], //성벽은 공격할 수 없다.
|
[], //성벽은 공격할 수 없다.
|
||||||
[self::T_FOOTMAN => 1.2],
|
[self::T_FOOTMAN => 1.2],
|
||||||
['성벽입니다.', '생성할 수 없습니다.'],
|
['성벽입니다.', '생성할 수 없습니다.'],
|
||||||
@@ -20,7 +28,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1100, self::T_FOOTMAN, '보병',
|
1100, self::T_FOOTMAN, '보병',
|
||||||
100, 150, 7, 10, 0, 9, 9,
|
100, 150, 7, 10, 0, 9, 9,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_ARCHER => 1.2, self::T_CAVALRY => 0.8, self::T_SIEGE => 1.2],
|
[self::T_ARCHER => 1.2, self::T_CAVALRY => 0.8, self::T_SIEGE => 1.2],
|
||||||
[self::T_ARCHER => 0.8, self::T_CAVALRY => 1.2, self::T_SIEGE => 0.8],
|
[self::T_ARCHER => 0.8, self::T_CAVALRY => 1.2, self::T_SIEGE => 0.8],
|
||||||
['표준적인 보병입니다.', '보병은 방어특화이며,', '상대가 회피하기 어렵습니다.'],
|
['표준적인 보병입니다.', '보병은 방어특화이며,', '상대가 회피하기 어렵습니다.'],
|
||||||
@@ -29,7 +37,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1200, self::T_ARCHER, '궁병',
|
1200, self::T_ARCHER, '궁병',
|
||||||
100, 100, 7, 10, 0, 10, 10,
|
100, 100, 7, 10, 0, 10, 10,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_CAVALRY => 1.2, self::T_FOOTMAN => 0.8, self::T_SIEGE => 1.2],
|
[self::T_CAVALRY => 1.2, self::T_FOOTMAN => 0.8, self::T_SIEGE => 1.2],
|
||||||
[self::T_CAVALRY => 0.8, self::T_FOOTMAN => 1.2, self::T_SIEGE => 0.8],
|
[self::T_CAVALRY => 0.8, self::T_FOOTMAN => 1.2, self::T_SIEGE => 0.8],
|
||||||
['표준적인 궁병입니다.', '궁병은 선제사격을 하는 병종입니다.'],
|
['표준적인 궁병입니다.', '궁병은 선제사격을 하는 병종입니다.'],
|
||||||
@@ -38,7 +46,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1300, self::T_CAVALRY, '기병',
|
1300, self::T_CAVALRY, '기병',
|
||||||
150, 100, 7, 5, 0, 11, 11,
|
150, 100, 7, 5, 0, 11, 11,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_FOOTMAN => 1.2, self::T_ARCHER => 0.8, self::T_SIEGE => 1.2],
|
[self::T_FOOTMAN => 1.2, self::T_ARCHER => 0.8, self::T_SIEGE => 1.2],
|
||||||
[self::T_FOOTMAN => 0.8, self::T_ARCHER => 1.2, self::T_SIEGE => 0.8],
|
[self::T_FOOTMAN => 0.8, self::T_ARCHER => 1.2, self::T_SIEGE => 0.8],
|
||||||
['표준적인 기병입니다.', '기병은 공격특화입니다.'],
|
['표준적인 기병입니다.', '기병은 공격특화입니다.'],
|
||||||
@@ -47,7 +55,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1104, self::T_FOOTMAN, '근위병',
|
1104, self::T_FOOTMAN, '근위병',
|
||||||
150, 200, 7, 10, 0, 12, 12,
|
150, 200, 7, 10, 0, 12, 12,
|
||||||
2000, ['낙양'], null, 0,
|
[new ReqTech(2000), new ReqCities('낙양')],
|
||||||
[self::T_ARCHER => 1.2, self::T_CAVALRY => 0.8, self::T_SIEGE => 1.2],
|
[self::T_ARCHER => 1.2, self::T_CAVALRY => 0.8, self::T_SIEGE => 1.2],
|
||||||
[self::T_ARCHER => 0.8, self::T_CAVALRY => 1.2, self::T_SIEGE => 0.8],
|
[self::T_ARCHER => 0.8, self::T_CAVALRY => 1.2, self::T_SIEGE => 0.8],
|
||||||
['최강의 보병입니다.'],
|
['최강의 보병입니다.'],
|
||||||
@@ -56,7 +64,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1106, self::T_FOOTMAN, '백이병',
|
1106, self::T_FOOTMAN, '백이병',
|
||||||
175, 175, 7, 5, 0, 13, 11,
|
175, 175, 7, 5, 0, 13, 11,
|
||||||
2000, ['성도'], null, 0,
|
[new ReqTech(2000), new ReqCities('성도')],
|
||||||
[self::T_ARCHER => 1.1, self::T_CAVALRY => 0.9, self::T_SIEGE => 1.1],
|
[self::T_ARCHER => 1.1, self::T_CAVALRY => 0.9, self::T_SIEGE => 1.1],
|
||||||
[self::T_ARCHER => 0.9, self::T_CAVALRY => 1.1, self::T_SIEGE => 0.9],
|
[self::T_ARCHER => 0.9, self::T_CAVALRY => 1.1, self::T_SIEGE => 0.9],
|
||||||
['정예 보병입니다. 불리한 싸움도 버텨냅니다.'],
|
['정예 보병입니다. 불리한 싸움도 버텨냅니다.'],
|
||||||
@@ -65,7 +73,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
97201, self::T_ARCHER, '화랑',
|
97201, self::T_ARCHER, '화랑',
|
||||||
175, 150, 8, 15, 0.05, 13, 13,
|
175, 150, 8, 15, 0.05, 13, 13,
|
||||||
2000, ['한', '서라벌'], null, 0,
|
[new ReqTech(2000), new ReqCities('한', '서라벌')],
|
||||||
[self::T_CAVALRY => 1.2, self::T_FOOTMAN => 0.9, self::T_SIEGE => 1.2],
|
[self::T_CAVALRY => 1.2, self::T_FOOTMAN => 0.9, self::T_SIEGE => 1.2],
|
||||||
[self::T_CAVALRY => 0.8, self::T_FOOTMAN => 1.1, self::T_SIEGE => 0.8],
|
[self::T_CAVALRY => 0.8, self::T_FOOTMAN => 1.1, self::T_SIEGE => 0.8],
|
||||||
['특수한 궁병입니다.'],
|
['특수한 궁병입니다.'],
|
||||||
@@ -74,7 +82,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1204, self::T_ARCHER, '석궁병',
|
1204, self::T_ARCHER, '석궁병',
|
||||||
200, 125, 7, 10, 0, 13, 13,
|
200, 125, 7, 10, 0, 13, 13,
|
||||||
2000, ['건업'], null, 0,
|
[new ReqTech(2000), new ReqCities('건업')],
|
||||||
[self::T_CAVALRY => 1.2, self::T_FOOTMAN => 0.8, self::T_SIEGE => 1.2],
|
[self::T_CAVALRY => 1.2, self::T_FOOTMAN => 0.8, self::T_SIEGE => 1.2],
|
||||||
[self::T_CAVALRY => 0.8, self::T_FOOTMAN => 1.2, self::T_SIEGE => 0.8],
|
[self::T_CAVALRY => 0.8, self::T_FOOTMAN => 1.2, self::T_SIEGE => 0.8],
|
||||||
['강력한 화살을 쏩니다.'],
|
['강력한 화살을 쏩니다.'],
|
||||||
@@ -83,7 +91,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1303, self::T_CAVALRY, '돌격기병',
|
1303, self::T_CAVALRY, '돌격기병',
|
||||||
200, 125, 8, 10, 0, 13, 12,
|
200, 125, 8, 10, 0, 13, 12,
|
||||||
2000, ['서량', '안정'], null, 0,
|
[new ReqTech(2000), new ReqCities('서량', '안정')],
|
||||||
[self::T_FOOTMAN => 1.2, self::T_ARCHER => 0.8, self::T_SIEGE => 1.2],
|
[self::T_FOOTMAN => 1.2, self::T_ARCHER => 0.8, self::T_SIEGE => 1.2],
|
||||||
[self::T_FOOTMAN => 0.8, self::T_ARCHER => 1.2, self::T_SIEGE => 0.8],
|
[self::T_FOOTMAN => 0.8, self::T_ARCHER => 1.2, self::T_SIEGE => 0.8],
|
||||||
['저돌적으로 공격합니다.'],
|
['저돌적으로 공격합니다.'],
|
||||||
@@ -92,7 +100,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1307, self::T_CAVALRY, '호표기병',
|
1307, self::T_CAVALRY, '호표기병',
|
||||||
200, 150, 7, 5, 0, 14, 14,
|
200, 150, 7, 5, 0, 14, 14,
|
||||||
2000, ['허창'], null, 0,
|
[new ReqTech(2000), new ReqCities('허창')],
|
||||||
[self::T_FOOTMAN => 1.2, self::T_ARCHER => 0.8, self::T_SIEGE => 1.2],
|
[self::T_FOOTMAN => 1.2, self::T_ARCHER => 0.8, self::T_SIEGE => 1.2],
|
||||||
[self::T_FOOTMAN => 0.8, self::T_ARCHER => 1.2, self::T_SIEGE => 0.8],
|
[self::T_FOOTMAN => 0.8, self::T_ARCHER => 1.2, self::T_SIEGE => 0.8],
|
||||||
['정예 기병입니다.'],
|
['정예 기병입니다.'],
|
||||||
@@ -101,7 +109,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1306, self::T_CAVALRY, '맹수병',
|
1306, self::T_CAVALRY, '맹수병',
|
||||||
250, 175, 6, 0, 0, 16, 16,
|
250, 175, 6, 0, 0, 16, 16,
|
||||||
2000, ['운남'], null, 0,
|
[new ReqTech(2000), new ReqCities('운남')],
|
||||||
[self::T_FOOTMAN => 1.2, self::T_ARCHER => 0.8, self::T_SIEGE => 1.2],
|
[self::T_FOOTMAN => 1.2, self::T_ARCHER => 0.8, self::T_SIEGE => 1.2],
|
||||||
[self::T_FOOTMAN => 0.8, self::T_ARCHER => 1.2, self::T_SIEGE => 0.8],
|
[self::T_FOOTMAN => 0.8, self::T_ARCHER => 1.2, self::T_SIEGE => 0.8],
|
||||||
['어느 누구보다 강력합니다.'],
|
['어느 누구보다 강력합니다.'],
|
||||||
@@ -110,7 +118,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1400, self::T_WIZARD, '귀병',
|
1400, self::T_WIZARD, '귀병',
|
||||||
80, 80, 7, 5, 0.5, 9, 9,
|
80, 80, 7, 5, 0.5, 9, 9,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_SIEGE => 1.2],
|
[self::T_SIEGE => 1.2],
|
||||||
[self::T_SIEGE => 0.8],
|
[self::T_SIEGE => 0.8],
|
||||||
['계략을 사용하는 병종입니다.'],
|
['계략을 사용하는 병종입니다.'],
|
||||||
@@ -119,7 +127,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1405, self::T_WIZARD, '남귀병',
|
1405, self::T_WIZARD, '남귀병',
|
||||||
60, 60, 7, 10, 0.8, 8, 8,
|
60, 60, 7, 10, 0.8, 8, 8,
|
||||||
1000, null, null, 0,
|
[new ReqTech(1000)],
|
||||||
[self::T_SIEGE => 1.2],
|
[self::T_SIEGE => 1.2],
|
||||||
[self::T_SIEGE => 0.8],
|
[self::T_SIEGE => 0.8],
|
||||||
['전투를 포기하고 계략에 몰두합니다.'],
|
['전투를 포기하고 계략에 몰두합니다.'],
|
||||||
@@ -128,7 +136,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1404, self::T_WIZARD, '악귀병',
|
1404, self::T_WIZARD, '악귀병',
|
||||||
130, 130, 7, 0, 0.6, 12, 12,
|
130, 130, 7, 0, 0.6, 12, 12,
|
||||||
2000, ['장안'], null, 0,
|
[new ReqTech(2000), new ReqCities('장안')],
|
||||||
[self::T_SIEGE => 1.2],
|
[self::T_SIEGE => 1.2],
|
||||||
[self::T_SIEGE => 0.8],
|
[self::T_SIEGE => 0.8],
|
||||||
['백병전에도 능숙합니다.'],
|
['백병전에도 능숙합니다.'],
|
||||||
@@ -137,7 +145,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1407, self::T_WIZARD, '천귀병',
|
1407, self::T_WIZARD, '천귀병',
|
||||||
90, 130, 7, 15, 0.6, 11, 12,
|
90, 130, 7, 15, 0.6, 11, 12,
|
||||||
2000, ['성도'], null, 0,
|
[new ReqTech(2000), new ReqCities('성도')],
|
||||||
[self::T_SIEGE => 1.2],
|
[self::T_SIEGE => 1.2],
|
||||||
[self::T_SIEGE => 0.8],
|
[self::T_SIEGE => 0.8],
|
||||||
['갑주를 두른 귀병입니다.'],
|
['갑주를 두른 귀병입니다.'],
|
||||||
@@ -146,7 +154,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1500, self::T_SIEGE, '정란',
|
1500, self::T_SIEGE, '정란',
|
||||||
100, 100, 6, 0, 0, 14, 5,
|
100, 100, 6, 0, 0, 14, 5,
|
||||||
0, null, null, 3,
|
[new ReqMinRelYear(3)],
|
||||||
[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 => 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 => 1.2, self::T_ARCHER => 1.2, self::T_CAVALRY => 1.2, self::T_WIZARD => 1.2],
|
[self::T_FOOTMAN => 1.2, self::T_ARCHER => 1.2, self::T_CAVALRY => 1.2, self::T_WIZARD => 1.2],
|
||||||
['높은 구조물 위에서 공격합니다.'],
|
['높은 구조물 위에서 공격합니다.'],
|
||||||
@@ -155,7 +163,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1501, self::T_SIEGE, '충차',
|
1501, self::T_SIEGE, '충차',
|
||||||
150, 100, 6, 0, 0, 20, 5,
|
150, 100, 6, 0, 0, 20, 5,
|
||||||
1000, null, null, 3,
|
[new ReqTech(1000), new ReqMinRelYear(3)],
|
||||||
[self::T_FOOTMAN => 0.8, self::T_ARCHER => 0.8, self::T_CAVALRY => 0.8, self::T_WIZARD => 0.8, self::T_CASTLE => 2.4],
|
[self::T_FOOTMAN => 0.8, self::T_ARCHER => 0.8, self::T_CAVALRY => 0.8, self::T_WIZARD => 0.8, self::T_CASTLE => 2.4],
|
||||||
[self::T_FOOTMAN => 1.2, self::T_ARCHER => 1.2, self::T_CAVALRY => 1.2, self::T_WIZARD => 1.2],
|
[self::T_FOOTMAN => 1.2, self::T_ARCHER => 1.2, self::T_CAVALRY => 1.2, self::T_WIZARD => 1.2],
|
||||||
['엄청난 위력으로 성벽을 부수어버립니다.'],
|
['엄청난 위력으로 성벽을 부수어버립니다.'],
|
||||||
@@ -164,7 +172,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1502, self::T_SIEGE, '벽력거',
|
1502, self::T_SIEGE, '벽력거',
|
||||||
135, 100, 6, 5, 0, 20, 5,
|
135, 100, 6, 5, 0, 20, 5,
|
||||||
2000, ['업'], null, 0,
|
[new ReqTech(2000), new ReqCities('업')],
|
||||||
[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 => 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],
|
[self::T_FOOTMAN => 0.833, self::T_ARCHER => 0.833, self::T_CAVALRY => 0.833, self::T_WIZARD => 0.833, 1106 => 0.909],
|
||||||
['상대에게 돌덩이를 날립니다.'],
|
['상대에게 돌덩이를 날립니다.'],
|
||||||
@@ -173,7 +181,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
97101, self::T_FOOTMAN, '중장보병',
|
97101, self::T_FOOTMAN, '중장보병',
|
||||||
150, 175, 7, 10, 0, 12, 12,
|
150, 175, 7, 10, 0, 12, 12,
|
||||||
3000, null, null, 0,
|
[new ReqTech(3000)],
|
||||||
[self::T_ARCHER => 1.2, self::T_CAVALRY => 0.8, self::T_SIEGE => 1.2],
|
[self::T_ARCHER => 1.2, self::T_CAVALRY => 0.8, self::T_SIEGE => 1.2],
|
||||||
[self::T_ARCHER => 0.8, self::T_CAVALRY => 1.2, self::T_SIEGE => 0.8],
|
[self::T_ARCHER => 0.8, self::T_CAVALRY => 1.2, self::T_SIEGE => 0.8],
|
||||||
['전천후 보병입니다.'],
|
['전천후 보병입니다.'],
|
||||||
@@ -182,7 +190,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1202, self::T_ARCHER, '연노병',
|
1202, self::T_ARCHER, '연노병',
|
||||||
150, 175, 8, 10, 0, 12, 12,
|
150, 175, 8, 10, 0, 12, 12,
|
||||||
3000, null, null, 0,
|
[new ReqTech(3000)],
|
||||||
[self::T_CAVALRY => 1.2, self::T_FOOTMAN => 0.8, self::T_SIEGE => 1.2],
|
[self::T_CAVALRY => 1.2, self::T_FOOTMAN => 0.8, self::T_SIEGE => 1.2],
|
||||||
[self::T_CAVALRY => 0.8, self::T_FOOTMAN => 1.2, self::T_SIEGE => 0.8],
|
[self::T_CAVALRY => 0.8, self::T_FOOTMAN => 1.2, self::T_SIEGE => 0.8],
|
||||||
['화살을 연사합니다.'],
|
['화살을 연사합니다.'],
|
||||||
@@ -191,7 +199,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1304, self::T_CAVALRY, '철기병',
|
1304, self::T_CAVALRY, '철기병',
|
||||||
175, 175, 7, 5, 0, 13, 13,
|
175, 175, 7, 5, 0, 13, 13,
|
||||||
3000, null, null, 0,
|
[new ReqTech(3000)],
|
||||||
[self::T_FOOTMAN => 1.2, self::T_ARCHER => 0.8, self::T_SIEGE => 1.2],
|
[self::T_FOOTMAN => 1.2, self::T_ARCHER => 0.8, self::T_SIEGE => 1.2],
|
||||||
[self::T_FOOTMAN => 0.8, self::T_ARCHER => 1.2, self::T_SIEGE => 0.8],
|
[self::T_FOOTMAN => 0.8, self::T_ARCHER => 1.2, self::T_SIEGE => 0.8],
|
||||||
['철갑을 두른 기병입니다.'],
|
['철갑을 두른 기병입니다.'],
|
||||||
@@ -200,7 +208,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1401, self::T_WIZARD, '신귀병',
|
1401, self::T_WIZARD, '신귀병',
|
||||||
100, 100, 7, 20, 0.6, 12, 12,
|
100, 100, 7, 20, 0.6, 12, 12,
|
||||||
3000, null, null, 0,
|
[new ReqTech(3000)],
|
||||||
[self::T_SIEGE => 1.2],
|
[self::T_SIEGE => 1.2],
|
||||||
[self::T_SIEGE => 0.8],
|
[self::T_SIEGE => 0.8],
|
||||||
['신출귀몰한 귀병입니다.'],
|
['신출귀몰한 귀병입니다.'],
|
||||||
@@ -208,3 +216,4 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
],
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,451 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace sammo;
|
||||||
|
|
||||||
|
use sammo\Enums\NationAuxKey;
|
||||||
|
use sammo\GameUnitConstraint\Impossible;
|
||||||
|
use sammo\GameUnitConstraint\ReqChief;
|
||||||
|
use sammo\GameUnitConstraint\ReqCities;
|
||||||
|
use sammo\GameUnitConstraint\ReqCitiesWithCityLevel;
|
||||||
|
use sammo\GameUnitConstraint\ReqHighLevelCities;
|
||||||
|
use sammo\GameUnitConstraint\ReqMinRelYear;
|
||||||
|
use sammo\GameUnitConstraint\ReqNotChief;
|
||||||
|
use sammo\GameUnitConstraint\ReqRegions;
|
||||||
|
use sammo\GameUnitConstraint\ReqTech;
|
||||||
|
use sammo\GameUnitConstraint\ReqNationAux;
|
||||||
|
|
||||||
|
class GameUnitConst extends GameUnitConstBase
|
||||||
|
{
|
||||||
|
protected static function getBuildData(): array {
|
||||||
|
return [
|
||||||
|
[
|
||||||
|
1000, self::T_CASTLE, '성벽',
|
||||||
|
100, 100, 7, 0, 0, 99, 9,
|
||||||
|
[new Impossible()],
|
||||||
|
[], // 성벽은 공격할 수 없다.
|
||||||
|
[self::T_FOOTMAN=>1.2],
|
||||||
|
['성벽입니다.','생성할 수 없습니다.'],
|
||||||
|
null, ['che_선제사격시도', 'che_선제사격발동'], null
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
1100, self::T_FOOTMAN, '보병',
|
||||||
|
100, 150, 7, 10, 0, 9, 9,
|
||||||
|
[],
|
||||||
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['표준적인 보병입니다.','보병은 방어특화이며,','상대가 회피하기 어렵습니다.'],
|
||||||
|
null, ['che_방어력증가5p'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1101, self::T_FOOTMAN, '청주병',
|
||||||
|
100, 200, 7, 10, 0, 10, 11,
|
||||||
|
[new ReqTech(1000), new ReqRegions('중원')],
|
||||||
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['저렴하고 튼튼합니다.'],
|
||||||
|
null, ['che_방어력증가5p'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1102, self::T_FOOTMAN, '수병',
|
||||||
|
150, 150, 7, 10, 0, 11, 10,
|
||||||
|
[new ReqTech(1000), new ReqRegions('오월')],
|
||||||
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['저렴하고 강력합니다.'],
|
||||||
|
null, ['che_방어력증가5p'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1103, self::T_FOOTMAN, '자객병',
|
||||||
|
100, 150, 8, 20, 0, 10, 10,
|
||||||
|
[new ReqTech(2000), new ReqCities('저')],
|
||||||
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['은밀하고 날쌥니다.'],
|
||||||
|
null, ['che_방어력증가5p'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1104, self::T_FOOTMAN, '근위병',
|
||||||
|
150, 200, 7, 10, 0, 12, 12,
|
||||||
|
[new ReqTech(3000), new ReqCities('낙양')],
|
||||||
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['최강의 보병입니다.'],
|
||||||
|
null, ['che_방어력증가5p'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1105, self::T_FOOTMAN, '등갑병',
|
||||||
|
100, 225, 7, 5, 0, 13, 10,
|
||||||
|
[new ReqTech(1000), new ReqRegions('남중')],
|
||||||
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['등갑을 두른 보병입니다.'],
|
||||||
|
null, ['che_방어력증가5p'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1106, self::T_FOOTMAN, '백이병',
|
||||||
|
175, 175, 7, 5, 0, 13, 11,
|
||||||
|
[new ReqTech(3000), new ReqCities('성도')],
|
||||||
|
[self::T_ARCHER=>1.1, self::T_CAVALRY=>0.9, self::T_SIEGE=>1.1],
|
||||||
|
[self::T_ARCHER=>0.9, self::T_CAVALRY=>1.1, self::T_SIEGE=>0.9],
|
||||||
|
['정예 보병입니다. 불리한 싸움도 버텨냅니다.'],
|
||||||
|
null, ['che_방어력증가5p'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
91100, self::T_FOOTMAN, '대검병',
|
||||||
|
150, 225, 7, 10, 0, 13, 13,
|
||||||
|
[new ReqTech(4000), new ReqCitiesWithCityLevel(8, '완'), new ReqNationAux(NationAuxKey::can_대검병사용, '==', 1)],
|
||||||
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['대형 검을 사용합니다.'],
|
||||||
|
null, ['che_방어력증가5p'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
91101, self::T_FOOTMAN, '강습병',
|
||||||
|
175, 200, 7, 10, 0, 13, 13,
|
||||||
|
[new ReqTech(4000), new ReqCitiesWithCityLevel(8, '북평')],
|
||||||
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['철퇴를 사용합니다.'],
|
||||||
|
null, ['che_방어력증가5p'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
91102, self::T_FOOTMAN, '극병',
|
||||||
|
250, 150, 7, 0, 0, 18, 18,
|
||||||
|
[new ReqTech(5000), new ReqCitiesWithCityLevel(8, '저'), new ReqNationAux(NationAuxKey::can_극병사용, '==', 1)],
|
||||||
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['긴 극을 사용합니다.'],
|
||||||
|
null, ['che_방어력증가5p'], null
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
1200, self::T_ARCHER, '궁병',
|
||||||
|
100, 100, 7, 10, 0, 10, 10,
|
||||||
|
[],
|
||||||
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['표준적인 궁병입니다.','궁병은 선제사격을 하는 병종입니다.'],
|
||||||
|
null, ['che_선제사격시도', 'che_선제사격발동'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1201, self::T_ARCHER, '궁기병',
|
||||||
|
100, 100, 8, 20, 0, 11, 12,
|
||||||
|
[new ReqTech(1000), new ReqRegions('동이')],
|
||||||
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.9, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.1, self::T_SIEGE=>0.8],
|
||||||
|
['말을 타고 잘 피합니다. 특히 다른 궁병보다 보병에게 조금 더 강합니다.'],
|
||||||
|
null, ['che_선제사격시도', 'che_선제사격발동'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1202, self::T_ARCHER, '연노병',
|
||||||
|
150, 100, 8, 10, 0, 12, 11,
|
||||||
|
[new ReqTech(1000), new ReqRegions('서촉')],
|
||||||
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['화살을 연사합니다.'],
|
||||||
|
null, ['che_선제사격시도', 'che_선제사격발동'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1203, self::T_ARCHER, '강궁병',
|
||||||
|
150, 150, 7, 10, 0, 13, 13,
|
||||||
|
[new ReqTech(3000), new ReqCities('양양')],
|
||||||
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['강건한 궁병입니다.'],
|
||||||
|
null, ['che_선제사격시도', 'che_선제사격발동'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1204, self::T_ARCHER, '석궁병',
|
||||||
|
200, 100, 7, 10, 0, 13, 13,
|
||||||
|
[new ReqTech(3000), new ReqCities('건업')],
|
||||||
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['강력한 화살을 쏩니다.'],
|
||||||
|
null, ['che_선제사격시도', 'che_선제사격발동'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
91200, self::T_ARCHER, '화랑',
|
||||||
|
150, 150, 8, 25, 0, 14, 14,
|
||||||
|
[new ReqTech(4000), new ReqCitiesWithCityLevel(8, '위례')],
|
||||||
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['궁술 실력이 뛰어납니다.'],
|
||||||
|
null, ['che_선제사격시도', 'che_선제사격발동'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
91201, self::T_ARCHER, '화시병',
|
||||||
|
225, 100, 7, 10, 0, 14, 14,
|
||||||
|
[new ReqTech(4000), new ReqCitiesWithCityLevel(8, '장사'), new ReqNationAux(NationAuxKey::can_화시병사용, '==', 1)],
|
||||||
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['불이 붙은 화살을 날립니다.'],
|
||||||
|
null, ['che_선제사격시도', 'che_선제사격발동'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
91202, self::T_ARCHER, '원융노병',
|
||||||
|
250, 100, 7, 10, 0, 20, 19,
|
||||||
|
[new ReqTech(5000), new ReqCitiesWithCityLevel(8, '흉노'), new ReqNationAux(NationAuxKey::can_원융노병사용, '==', 1)],
|
||||||
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['먼 거리에서 적을 제압합니다.'],
|
||||||
|
null, ['che_선제사격시도', 'che_선제사격발동'], null
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
1300, self::T_CAVALRY, '기병',
|
||||||
|
150, 100, 7, 5, 0, 11, 11,
|
||||||
|
[],
|
||||||
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['표준적인 기병입니다.','기병은 공격특화입니다.'],
|
||||||
|
null, ['che_기병병종전투'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1301, self::T_CAVALRY, '백마병',
|
||||||
|
200, 100, 7, 5, 0, 12, 13,
|
||||||
|
[new ReqTech(1000), new ReqRegions('하북')],
|
||||||
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['백마의 위용을 보여줍니다.'],
|
||||||
|
null, ['che_기병병종전투'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1302, self::T_CAVALRY, '중장기병',
|
||||||
|
150, 150, 7, 5, 0, 13, 12,
|
||||||
|
[new ReqTech(1000), new ReqRegions('서북')],
|
||||||
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['갑주를 두른 기병입니다.'],
|
||||||
|
null, ['che_기병병종전투'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1303, self::T_CAVALRY, '돌격기병',
|
||||||
|
200, 100, 8, 5, 0, 13, 11,
|
||||||
|
[new ReqTech(2000), new ReqCities('흉노')],
|
||||||
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['저돌적으로 공격합니다.'],
|
||||||
|
null, ['che_기병병종전투'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1304, self::T_CAVALRY, '철기병',
|
||||||
|
100, 250, 7, 5, 0, 11, 13,
|
||||||
|
[new ReqTech(2000), new ReqCities('강')],
|
||||||
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['철갑을 두른 기병입니다.'],
|
||||||
|
null, ['che_기병병종전투'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1305, self::T_CAVALRY, '수렵기병',
|
||||||
|
150, 100, 8, 15, 0, 12, 12,
|
||||||
|
[new ReqTech(2000), new ReqCities('산월')],
|
||||||
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['날쎄고 빠른 기병입니다.'],
|
||||||
|
null, ['che_기병병종전투'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1306, self::T_CAVALRY, '맹수병',
|
||||||
|
250, 175, 6, 0, 0, 16, 16,
|
||||||
|
[new ReqTech(2000), new ReqCities('남만')],
|
||||||
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['어느 누구보다 강력합니다.'],
|
||||||
|
null, ['che_기병병종전투'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1307, self::T_CAVALRY, '호표기병',
|
||||||
|
200, 150, 7, 5, 0, 14, 14,
|
||||||
|
[new ReqTech(3000), new ReqCities('허창')],
|
||||||
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['정예 기병입니다.'],
|
||||||
|
null, ['che_기병병종전투'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
91300, self::T_CAVALRY, '양마기병',
|
||||||
|
200, 175, 7, 5, 0, 15, 15,
|
||||||
|
[new ReqTech(4000), new ReqCitiesWithCityLevel(8, '한중')],
|
||||||
|
[self::T_FOOTMAN=>1.1, self::T_ARCHER=>0.9, self::T_SIEGE=>1.1],
|
||||||
|
[self::T_FOOTMAN=>0.9, self::T_ARCHER=>1.1, self::T_SIEGE=>0.9],
|
||||||
|
['험준한 지형에서 뛰어납니다.', '불리한 싸움도 버텨냅니다.'],
|
||||||
|
null, ['che_기병병종전투'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
91301, self::T_CAVALRY, '산저병',
|
||||||
|
225, 150, 7, 5, 0, 15, 15,
|
||||||
|
[new ReqTech(4000), new ReqCitiesWithCityLevel(8, '수춘'), new ReqNationAux(NationAuxKey::can_산저병사용, '==', 1)],
|
||||||
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['무식할 정도로 전장을 누빕니다.'],
|
||||||
|
null, ['che_기병병종전투'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
91302, self::T_CAVALRY, '상병',
|
||||||
|
225, 250, 5, 0, 0, 24, 24,
|
||||||
|
[new ReqTech(5000), new ReqCitiesWithCityLevel(8, '남만'), new ReqNationAux(NationAuxKey::can_상병사용, '==', 1)],
|
||||||
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
|
||||||
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
|
||||||
|
['거대한 코끼리와 함께합니다.'],
|
||||||
|
null, ['che_기병병종전투'], null
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
1400, self::T_WIZARD, '귀병',
|
||||||
|
80, 80, 7, 5, 0.5, 9, 9,
|
||||||
|
[],
|
||||||
|
[self::T_SIEGE=>1.2],
|
||||||
|
[self::T_SIEGE=>0.8],
|
||||||
|
['계략을 사용하는 병종입니다.'],
|
||||||
|
null, null, null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1401, self::T_WIZARD, '신귀병',
|
||||||
|
80, 80, 7, 20, 0.6, 10, 10,
|
||||||
|
[new ReqTech(1000), new ReqRegions('초')],
|
||||||
|
[self::T_SIEGE=>1.2],
|
||||||
|
[self::T_SIEGE=>0.8],
|
||||||
|
['신출귀몰한 귀병입니다.'],
|
||||||
|
null, null, null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1402, self::T_WIZARD, '백귀병',
|
||||||
|
80, 130, 7, 5, 0.6, 9, 11,
|
||||||
|
[new ReqTech(2000), new ReqCities('오환')],
|
||||||
|
[self::T_SIEGE=>1.2],
|
||||||
|
[self::T_SIEGE=>0.8],
|
||||||
|
['저렴하고 튼튼합니다.'],
|
||||||
|
null, null, null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1403, self::T_WIZARD, '흑귀병',
|
||||||
|
130, 80, 7, 5, 0.6, 11, 9,
|
||||||
|
[new ReqTech(2000), new ReqCities('왜')],
|
||||||
|
[self::T_SIEGE=>1.2],
|
||||||
|
[self::T_SIEGE=>0.8],
|
||||||
|
['저렴하고 강력합니다.'],
|
||||||
|
null, null, null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1404, self::T_WIZARD, '악귀병',
|
||||||
|
130, 130, 7, 0, 0.6, 12, 12,
|
||||||
|
[new ReqTech(3000), new ReqCities('장안')],
|
||||||
|
[self::T_SIEGE=>1.2],
|
||||||
|
[self::T_SIEGE=>0.8],
|
||||||
|
['백병전에도 능숙합니다.'],
|
||||||
|
null, null, null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1405, self::T_WIZARD, '남귀병',
|
||||||
|
60, 60, 7, 10, 0.8, 8, 8,
|
||||||
|
[new ReqTech(1000)],
|
||||||
|
[self::T_SIEGE=>1.2],
|
||||||
|
[self::T_SIEGE=>0.8],
|
||||||
|
['전투를 포기하고 계략에 몰두합니다.'],
|
||||||
|
null, null, null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1406, self::T_WIZARD, '황귀병',
|
||||||
|
110, 110, 7, 0, 0.8, 13, 10,
|
||||||
|
[new ReqTech(3000), new ReqCities('낙양')],
|
||||||
|
[self::T_SIEGE=>1.2],
|
||||||
|
[self::T_SIEGE=>0.8],
|
||||||
|
['고도로 훈련된 귀병입니다.'],
|
||||||
|
null, null, null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1407, self::T_WIZARD, '천귀병',
|
||||||
|
80, 130, 7, 15, 0.6, 11, 12,
|
||||||
|
[new ReqTech(3000), new ReqCities('성도')],
|
||||||
|
[self::T_SIEGE=>1.2],
|
||||||
|
[self::T_SIEGE=>0.8],
|
||||||
|
['갑주를 두른 귀병입니다.'],
|
||||||
|
null, null, null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1408, self::T_WIZARD, '마귀병',
|
||||||
|
130, 80, 7, 15, 0.6, 12, 11,
|
||||||
|
[new ReqTech(3000), new ReqCities('업')],
|
||||||
|
[self::T_SIEGE=>1.2],
|
||||||
|
[self::T_SIEGE=>0.8],
|
||||||
|
['날카로운 무기를 가진 귀병입니다.'],
|
||||||
|
null, null, null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
91400, self::T_WIZARD, '음귀병',
|
||||||
|
110, 110, 7, 15, 0.7, 13, 11,
|
||||||
|
[new ReqTech(4000), new ReqCitiesWithCityLevel(8, '강릉'), new ReqNationAux(NationAuxKey::can_음귀병사용, '==', 1)],
|
||||||
|
[self::T_SIEGE=>1.2],
|
||||||
|
[self::T_SIEGE=>0.8],
|
||||||
|
['악기를 연주하여 적을 혼란시킵니다.'],
|
||||||
|
null, null, null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
91401, self::T_WIZARD, '향귀병',
|
||||||
|
100, 120, 8, 5, 0.6, 12, 12,
|
||||||
|
[new ReqTech(4000), new ReqHighLevelCities(8, 4), new ReqNotChief()],
|
||||||
|
[self::T_SIEGE=>1.2],
|
||||||
|
[self::T_SIEGE=>0.8],
|
||||||
|
['독특한 향을 피웁니다.'],
|
||||||
|
null, null, null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
91402, self::T_WIZARD, '무희',
|
||||||
|
180, 80, 7, 10, 0.6, 18, 17,
|
||||||
|
[new ReqTech(5000), new ReqCitiesWithCityLevel(8, '왜'), new ReqNationAux(NationAuxKey::can_무희사용, '==', 1)],
|
||||||
|
[self::T_SIEGE=>1.2],
|
||||||
|
[self::T_SIEGE=>0.8],
|
||||||
|
['검무를 추는 귀병입니다.'],
|
||||||
|
null, null, null
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
1500, self::T_SIEGE, '정란',
|
||||||
|
100, 100, 6, 0, 0, 14, 5,
|
||||||
|
[new ReqMinRelYear(3)],
|
||||||
|
[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, 91300=>1.112],
|
||||||
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067, 91300=>1.112],
|
||||||
|
['높은 구조물 위에서 공격합니다. 첫 공격은 성벽을 향합니다.'],
|
||||||
|
['che_성벽부상무효'], ['che_선제사격시도', 'che_선제사격발동'], ['che_성벽선제']
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1501, self::T_SIEGE, '충차',
|
||||||
|
150, 100, 6, 0, 0, 18, 5,
|
||||||
|
[new ReqTech(1000), new ReqMinRelYear(3)],
|
||||||
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4, 1106=>1.112, 91300=>1.112],
|
||||||
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067, 91300=>1.067],
|
||||||
|
['엄청난 위력으로 성벽을 부수어버립니다.'],
|
||||||
|
['che_성벽부상무효'], null, null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1502, self::T_SIEGE, '벽력거',
|
||||||
|
150, 100, 6, 5, 0, 20, 5,
|
||||||
|
[new ReqTech(3000), new ReqCities('업')],
|
||||||
|
[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, 91300=>1.112],
|
||||||
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067, 91300=>1.112],
|
||||||
|
['상대에게 돌덩이를 날립니다. 첫 공격은 성벽을 향합니다.'],
|
||||||
|
['che_성벽부상무효'], ['che_선제사격시도', 'che_선제사격발동'], ['che_성벽선제']
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1503, self::T_SIEGE, '목우',
|
||||||
|
50, 200, 5, 0, 0, 15, 5,
|
||||||
|
[new ReqTech(3000), new ReqCities('성도')],
|
||||||
|
[self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, self::T_CASTLE=>1.8],
|
||||||
|
[self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1],
|
||||||
|
['상대를 저지하는 특수병기입니다.'],
|
||||||
|
['che_성벽부상무효'], ['che_저지시도', 'che_저지발동'], null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
91500, self::T_SIEGE, '화륜차',
|
||||||
|
300, 0, 5, 0, 0, 40, 5,
|
||||||
|
[new ReqTech(5000), new ReqNationAux(NationAuxKey::did_특성초토화, '>=', 1), new ReqChief(), new ReqNationAux(NationAuxKey::can_화륜차사용, '==', 1)],
|
||||||
|
[self::T_FOOTMAN=>1.25, self::T_ARCHER=>1.25, self::T_CAVALRY=>1.25, self::T_WIZARD=>1.25, self::T_CASTLE=>1.25, 1106=>1.112, 91300=>1.112],
|
||||||
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067, 91300=>1.067],
|
||||||
|
['불타는 바퀴로 적진을 붕괴시킵니다.'],
|
||||||
|
['che_성벽부상무효'], null, null
|
||||||
|
]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace sammo;
|
namespace sammo;
|
||||||
|
|
||||||
|
use sammo\GameUnitConstraint\Impossible;
|
||||||
|
use sammo\GameUnitConstraint\ReqTech;
|
||||||
|
use sammo\GameUnitConstraint\ReqCities;
|
||||||
|
use sammo\GameUnitConstraint\ReqRegions;
|
||||||
|
use sammo\GameUnitConstraint\ReqMinRelYear;
|
||||||
|
|
||||||
class GameUnitConst extends GameUnitConstBase
|
class GameUnitConst extends GameUnitConstBase
|
||||||
{
|
{
|
||||||
const DEFAULT_CREWTYPE = 217100;
|
const DEFAULT_CREWTYPE = 217100;
|
||||||
@@ -13,21 +19,22 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
self::T_SIEGE => '차병',
|
self::T_SIEGE => '차병',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected static $_buildData = [
|
protected static function getBuildData(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
[
|
[
|
||||||
1000, self::T_CASTLE, '성벽',
|
1000, self::T_CASTLE, '성벽',
|
||||||
100, 100, 7, 0, 0, 99, 9,
|
100, 100, 7, 0, 0, 99, 9,
|
||||||
999999, null, null, 999999,
|
[new Impossible()],
|
||||||
[], //성벽은 공격할 수 없다.
|
[], //성벽은 공격할 수 없다.
|
||||||
[self::T_FOOTMAN=>1.2],
|
[self::T_FOOTMAN=>1.2],
|
||||||
['성벽입니다.','생성할 수 없습니다.'],
|
['성벽입니다.','생성할 수 없습니다.'],
|
||||||
null, null, null
|
null, null, null
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
217100, self::T_FOOTMAN, '보병',
|
217100, self::T_FOOTMAN, '보병',
|
||||||
100, 150, 7, 10, 0, 9, 9,
|
100, 150, 7, 10, 0, 9, 9,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["표준적인 보병입니다. 보병은 방어특화입니다."],
|
["표준적인 보병입니다. 보병은 방어특화입니다."],
|
||||||
@@ -36,7 +43,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217101, self::T_FOOTMAN, '마물병',
|
217101, self::T_FOOTMAN, '마물병',
|
||||||
110, 160, 7, 10, 0, 9, 10,
|
110, 160, 7, 10, 0, 9, 10,
|
||||||
0, null, ["호넷 마인령","케이브리스 마인령"], 0,
|
[new ReqRegions('호넷 마인령', '케이브리스 마인령')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["마군 지역 기본병종입니다. 조금더 강하지만 쌀을 많이 소비합니다."],
|
["마군 지역 기본병종입니다. 조금더 강하지만 쌀을 많이 소비합니다."],
|
||||||
@@ -45,7 +52,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217102, self::T_FOOTMAN, '중장보병',
|
217102, self::T_FOOTMAN, '중장보병',
|
||||||
100, 250, 7, 5, 0, 13, 10,
|
100, 250, 7, 5, 0, 13, 10,
|
||||||
1000, null, ["헬만 동부"], 0,
|
[new ReqTech(1000), new ReqRegions('헬만 동부')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["헬만 특유의 견고한 보병입니다."],
|
["헬만 특유의 견고한 보병입니다."],
|
||||||
@@ -54,7 +61,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217103, self::T_FOOTMAN, '흑의 군 보병',
|
217103, self::T_FOOTMAN, '흑의 군 보병',
|
||||||
150, 150, 7, 10, 0, 12, 11,
|
150, 150, 7, 10, 0, 12, 11,
|
||||||
1000, null, ["리자스 남부","리자스 북부"], 0,
|
[new ReqTech(1000), new ReqRegions('리자스 남부', '리자스 북부')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["흑의 군 전통의 체계적인 훈련으로 공격력을 보완했습니다."],
|
["흑의 군 전통의 체계적인 훈련으로 공격력을 보완했습니다."],
|
||||||
@@ -63,7 +70,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217104, self::T_FOOTMAN, '용병',
|
217104, self::T_FOOTMAN, '용병',
|
||||||
125, 175, 7, 10, 0, 12, 11,
|
125, 175, 7, 10, 0, 12, 11,
|
||||||
1000, null, ["자유도시 동부"], 0,
|
[new ReqTech(1000), new ReqRegions('자유도시 동부')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["일반 보병보다 비싸지만 받은 만큼은 일해줍니다."],
|
["일반 보병보다 비싸지만 받은 만큼은 일해줍니다."],
|
||||||
@@ -72,7 +79,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217105, self::T_FOOTMAN, '사메라이',
|
217105, self::T_FOOTMAN, '사메라이',
|
||||||
175, 150, 7, 0, 0, 11, 10,
|
175, 150, 7, 0, 0, 11, 10,
|
||||||
1000, null, ["제스 남부"], 0,
|
[new ReqTech(1000), new ReqRegions('제스 남부')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["검으로 난무를 가하는 몬스터 보병입니다."],
|
["검으로 난무를 가하는 몬스터 보병입니다."],
|
||||||
@@ -81,7 +88,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217106, self::T_FOOTMAN, '템플나이트병',
|
217106, self::T_FOOTMAN, '템플나이트병',
|
||||||
75, 275, 7, 0, 0, 11, 12,
|
75, 275, 7, 0, 0, 11, 12,
|
||||||
1000, null, ["AL교"], 0,
|
[new ReqTech(1000), new ReqRegions('AL교')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["공격을 포기하고 오직 방어에만 집중합니다."],
|
["공격을 포기하고 오직 방어에만 집중합니다."],
|
||||||
@@ -90,7 +97,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217107, self::T_FOOTMAN, '메이드병',
|
217107, self::T_FOOTMAN, '메이드병',
|
||||||
150, 150, 7, 20, 0, 13, 11,
|
150, 150, 7, 20, 0, 13, 11,
|
||||||
2000, ["메이드의 묘지"], null, 0,
|
[new ReqTech(2000), new ReqCities('메이드의 묘지')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["켓셀링크 휘하의 날렵한 전투메이드입니다."],
|
["켓셀링크 휘하의 날렵한 전투메이드입니다."],
|
||||||
@@ -99,7 +106,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217108, self::T_FOOTMAN, '요괴병',
|
217108, self::T_FOOTMAN, '요괴병',
|
||||||
150, 150, 8, 0, 0, 11, 13,
|
150, 150, 8, 0, 0, 11, 13,
|
||||||
2000, ["오슈"], null, 0,
|
[new ReqTech(2000), new ReqCities('오슈')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["단단한 육체를 믿고 적진을 돌파합니다."],
|
["단단한 육체를 믿고 적진을 돌파합니다."],
|
||||||
@@ -108,7 +115,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217109, self::T_FOOTMAN, '리자스 친위병',
|
217109, self::T_FOOTMAN, '리자스 친위병',
|
||||||
150, 200, 7, 10, 0, 12, 12,
|
150, 200, 7, 10, 0, 12, 12,
|
||||||
3000, ["리자스성"], null, 0,
|
[new ReqTech(3000), new ReqCities('리자스성')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["여왕을 수호하는 리자스 최강의 보병 정예보병입니다."],
|
["여왕을 수호하는 리자스 최강의 보병 정예보병입니다."],
|
||||||
@@ -117,7 +124,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217110, self::T_FOOTMAN, '케이브리스 마물병',
|
217110, self::T_FOOTMAN, '케이브리스 마물병',
|
||||||
200, 150, 7, 5, 0, 13, 14,
|
200, 150, 7, 5, 0, 13, 14,
|
||||||
3000, ["케이브리스의 성"], null, 0,
|
[new ReqTech(3000), new ReqCities('케이브리스의 성')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["케이브리스 직속의 마물 정예 전투보병입니다."],
|
["케이브리스 직속의 마물 정예 전투보병입니다."],
|
||||||
@@ -126,17 +133,16 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217111, self::T_FOOTMAN, '투신',
|
217111, self::T_FOOTMAN, '투신',
|
||||||
200, 300, 7, 5, 0, 28, 23,
|
200, 300, 7, 5, 0, 28, 23,
|
||||||
5000, ["투신도시"], null, 0,
|
[new ReqTech(5000), new ReqCities('투신도시')],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["성마교단 유적에서 발굴된 사상 최강의 보병입니다."],
|
["성마교단 유적에서 발굴된 사상 최강의 보병입니다."],
|
||||||
null, ['che_방어력증가5p'], null
|
null, ['che_방어력증가5p'], null
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
217200, self::T_ARCHER, '궁병',
|
217200, self::T_ARCHER, '궁병',
|
||||||
100, 100, 7, 20, 0, 10, 10,
|
100, 100, 7, 20, 0, 10, 10,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["표준적인 궁병입니다. 궁병은 회피특화입니다."],
|
["표준적인 궁병입니다. 궁병은 회피특화입니다."],
|
||||||
@@ -145,7 +151,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217201, self::T_ARCHER, '투척마물병',
|
217201, self::T_ARCHER, '투척마물병',
|
||||||
150, 100, 7, 10, 0, 11, 12,
|
150, 100, 7, 10, 0, 11, 12,
|
||||||
1000, null, ["호넷 마인령"], 0,
|
[new ReqTech(1000), new ReqRegions('호넷 마인령')],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["날렵함을 포기하고 도끼를 투척합니다."],
|
["날렵함을 포기하고 도끼를 투척합니다."],
|
||||||
@@ -154,7 +160,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217202, self::T_ARCHER, '백의 군 궁병',
|
217202, self::T_ARCHER, '백의 군 궁병',
|
||||||
100, 100, 8, 30, 0, 11, 11,
|
100, 100, 8, 30, 0, 11, 11,
|
||||||
1000, null, ["리자스 남부"], 0,
|
[new ReqTech(1000), new ReqRegions('리자스 남부')],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["전략을 활용하여 치고 빠지기에 능합니다."],
|
["전략을 활용하여 치고 빠지기에 능합니다."],
|
||||||
@@ -163,7 +169,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217203, self::T_ARCHER, '벌레술사병',
|
217203, self::T_ARCHER, '벌레술사병',
|
||||||
100, 150, 7, 20, 0, 12, 12,
|
100, 150, 7, 20, 0, 12, 12,
|
||||||
2000, ["호박성"], null, 0,
|
[new ReqTech(2000), new ReqCities('호박성')],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["벌레들을 부려 몸을 보호하는 궁병입니다."],
|
["벌레들을 부려 몸을 보호하는 궁병입니다."],
|
||||||
@@ -172,7 +178,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217204, self::T_ARCHER, '저격암살병',
|
217204, self::T_ARCHER, '저격암살병',
|
||||||
225, 75, 5, 10, 0, 14, 11,
|
225, 75, 5, 10, 0, 14, 11,
|
||||||
2000, ["블라디보스토크"], null, 0,
|
[new ReqTech(2000), new ReqCities('블라디보스토크')],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["독을 바른 탄환으로 적의 목숨을 앗아갑니다."],
|
["독을 바른 탄환으로 적의 목숨을 앗아갑니다."],
|
||||||
@@ -181,7 +187,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217205, self::T_ARCHER, '호루스병',
|
217205, self::T_ARCHER, '호루스병',
|
||||||
150, 100, 8, 20, 0, 11, 12,
|
150, 100, 8, 20, 0, 11, 12,
|
||||||
2000, ["거대전함"], null, 0,
|
[new ReqTech(2000), new ReqCities('거대전함')],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["민첩하게 파고드는 호루스족 궁병입니다."],
|
["민첩하게 파고드는 호루스족 궁병입니다."],
|
||||||
@@ -190,7 +196,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217206, self::T_ARCHER, '튤립병',
|
217206, self::T_ARCHER, '튤립병',
|
||||||
200, 100, 7, 20, 0, 13, 13,
|
200, 100, 7, 20, 0, 13, 13,
|
||||||
3000, ["커스텀"], null, 0,
|
[new ReqTech(3000), new ReqCities('커스텀')],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["최첨단병기 튤립으로 적을 폭격합니다."],
|
["최첨단병기 튤립으로 적을 폭격합니다."],
|
||||||
@@ -199,7 +205,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217207, self::T_ARCHER, '아이스플레임 궁병',
|
217207, self::T_ARCHER, '아이스플레임 궁병',
|
||||||
150, 150, 7, 20, 0, 13, 13,
|
150, 150, 7, 20, 0, 13, 13,
|
||||||
3000, ["라그나로크 아크"], null, 0,
|
[new ReqTech(3000), new ReqCities('라그나로크 아크')],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["혁명을 성공으로 이끈 정예 게릴라 궁병입니다."],
|
["혁명을 성공으로 이끈 정예 게릴라 궁병입니다."],
|
||||||
@@ -208,7 +214,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217208, self::T_ARCHER, '카라 궁병',
|
217208, self::T_ARCHER, '카라 궁병',
|
||||||
225, 225, 7, 30, 0, 25, 25,
|
225, 225, 7, 30, 0, 25, 25,
|
||||||
5000, ["펜실 카우"], null, 0,
|
[new ReqTech(5000), new ReqCities('펜실 카우')],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["선조의 힘을 이어받은 최강의 카라 정예 궁병입니다."],
|
["선조의 힘을 이어받은 최강의 카라 정예 궁병입니다."],
|
||||||
@@ -218,7 +224,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217300, self::T_CAVALRY, '기동병',
|
217300, self::T_CAVALRY, '기동병',
|
||||||
150, 100, 7, 5, 0, 11, 11,
|
150, 100, 7, 5, 0, 11, 11,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["표준적인 기동병입니다. 기동병은 공격특화입니다."],
|
["표준적인 기동병입니다. 기동병은 공격특화입니다."],
|
||||||
@@ -227,7 +233,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217301, self::T_CAVALRY, '하치온나',
|
217301, self::T_CAVALRY, '하치온나',
|
||||||
175, 100, 7, 15, 0, 12, 12,
|
175, 100, 7, 15, 0, 12, 12,
|
||||||
1000, null, ["자유도시 서부"], 0,
|
[new ReqTech(1000), new ReqRegions('자유도시 서부')],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["작은 몸으로 회피하며 따끔한 일격을 먹이는 몬스터 기동병입니다."],
|
["작은 몸으로 회피하며 따끔한 일격을 먹이는 몬스터 기동병입니다."],
|
||||||
@@ -236,7 +242,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217302, self::T_CAVALRY, '적의 군 기동병',
|
217302, self::T_CAVALRY, '적의 군 기동병',
|
||||||
200, 100, 7, 5, 0, 12, 13,
|
200, 100, 7, 5, 0, 12, 13,
|
||||||
1000, null, ["리자스 북부"], 0,
|
[new ReqTech(1000), new ReqRegions('리자스 북부')],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["리자스군의 자랑인 기동부대입니다."],
|
["리자스군의 자랑인 기동부대입니다."],
|
||||||
@@ -245,7 +251,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217303, self::T_CAVALRY, '안드로이드 기동병',
|
217303, self::T_CAVALRY, '안드로이드 기동병',
|
||||||
175, 150, 7, 10, 0, 13, 12,
|
175, 150, 7, 10, 0, 13, 12,
|
||||||
2000, ["악의 탑"], null, 0,
|
[new ReqTech(2000), new ReqCities('악의 탑')],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["파이아르가 개발한 최첨단 안드로이드 기동병입니다."],
|
["파이아르가 개발한 최첨단 안드로이드 기동병입니다."],
|
||||||
@@ -254,7 +260,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217304, self::T_CAVALRY, '파란쵸 기동병',
|
217304, self::T_CAVALRY, '파란쵸 기동병',
|
||||||
200, 100, 8, 5, 0, 13, 11,
|
200, 100, 8, 5, 0, 13, 11,
|
||||||
2000, ["파란쵸 왕국"], null, 0,
|
[new ReqTech(2000), new ReqCities('파란쵸 왕국')],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["적진을 일점돌파하는 파란쵸왕국의 돌격 기동병입니다. "],
|
["적진을 일점돌파하는 파란쵸왕국의 돌격 기동병입니다. "],
|
||||||
@@ -263,7 +269,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217305, self::T_CAVALRY, '비행마물병',
|
217305, self::T_CAVALRY, '비행마물병',
|
||||||
150, 100, 8, 15, 0, 12, 12,
|
150, 100, 8, 15, 0, 12, 12,
|
||||||
2000, ["죽음의 대지"], null, 0,
|
[new ReqTech(2000), new ReqCities('죽음의 대지')],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["비행마물에 올라탄 기동마물병입니다."],
|
["비행마물에 올라탄 기동마물병입니다."],
|
||||||
@@ -272,7 +278,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217306, self::T_CAVALRY, '마물조련사병',
|
217306, self::T_CAVALRY, '마물조련사병',
|
||||||
250, 200, 6, 0, 0, 16, 16,
|
250, 200, 6, 0, 0, 16, 16,
|
||||||
3000, ["랑그바우"], null, 0,
|
[new ReqTech(3000), new ReqCities('랑그바우')],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["무시무시한 몬스터에 올라타서 싸우는 극강의 기동병입니다."],
|
["무시무시한 몬스터에 올라타서 싸우는 극강의 기동병입니다."],
|
||||||
@@ -281,7 +287,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217307, self::T_CAVALRY, '기마병',
|
217307, self::T_CAVALRY, '기마병',
|
||||||
200, 150, 7, 5, 0, 14, 14,
|
200, 150, 7, 5, 0, 14, 14,
|
||||||
3000, ["오와리"], null, 0,
|
[new ReqTech(3000), new ReqCities('오와리')],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["JAPAN 특유의 기마에 올라타 적을 짓밟는 기동병입니다."],
|
["JAPAN 특유의 기마에 올라타 적을 짓밟는 기동병입니다."],
|
||||||
@@ -290,7 +296,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217308, self::T_CAVALRY, '엔젤나이트',
|
217308, self::T_CAVALRY, '엔젤나이트',
|
||||||
300, 200, 7, 5, 0, 25, 25,
|
300, 200, 7, 5, 0, 25, 25,
|
||||||
5000, ["떨어진 궁도"], null, 0,
|
[new ReqTech(5000), new ReqCities('떨어진 궁도')],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
|
||||||
["신의 명령으로 파멸을 내리기 위해 강림했습니다."],
|
["신의 명령으로 파멸을 내리기 위해 강림했습니다."],
|
||||||
@@ -300,7 +306,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217400, self::T_WIZARD, '마법병',
|
217400, self::T_WIZARD, '마법병',
|
||||||
80, 80, 7, 5, 0.6, 9, 9,
|
80, 80, 7, 5, 0.6, 9, 9,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
["마법을 사용하는 병종입니다."],
|
["마법을 사용하는 병종입니다."],
|
||||||
@@ -309,7 +315,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217401, self::T_WIZARD, '마물 마법병',
|
217401, self::T_WIZARD, '마물 마법병',
|
||||||
90, 90, 7, 0, 0.6, 11, 9,
|
90, 90, 7, 0, 0.6, 11, 9,
|
||||||
0, null, ["호넷 마인령","케이브리스 마인령"], 0,
|
[new ReqRegions('호넷 마인령', '케이브리스 마인령')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
["마군 지역 기본병종입니다. 조금더 강하지만 금을 많이 소비합니다."],
|
["마군 지역 기본병종입니다. 조금더 강하지만 금을 많이 소비합니다."],
|
||||||
@@ -318,7 +324,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217402, self::T_WIZARD, '카라 마법병',
|
217402, self::T_WIZARD, '카라 마법병',
|
||||||
80, 80, 7, 20, 0.6, 10, 10,
|
80, 80, 7, 20, 0.6, 10, 10,
|
||||||
1000, null, ["카라의 숲"], 0,
|
[new ReqTech(1000), new ReqRegions('카라의 숲')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
["신속히 움직이며 카라의 저주로 적을 공격합니다."],
|
["신속히 움직이며 카라의 저주로 적을 공격합니다."],
|
||||||
@@ -327,7 +333,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217403, self::T_WIZARD, '제스 마법병',
|
217403, self::T_WIZARD, '제스 마법병',
|
||||||
100, 100, 7, 0, 0.6, 10, 10,
|
100, 100, 7, 0, 0.6, 10, 10,
|
||||||
1000, null, ["제스 북부"], 0,
|
[new ReqTech(1000), new ReqRegions('제스 북부')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
["마법국가 제스의 전통있는 마법병입니다."],
|
["마법국가 제스의 전통있는 마법병입니다."],
|
||||||
@@ -336,7 +342,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217404, self::T_WIZARD, '무녀',
|
217404, self::T_WIZARD, '무녀',
|
||||||
80, 80, 8, 10, 0.6, 10, 10,
|
80, 80, 8, 10, 0.6, 10, 10,
|
||||||
1000, null, ["JAPAN"], 0,
|
[new ReqTech(1000), new ReqRegions('JAPAN')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
["신마법과 함께 신통한 춤으로 활력을 불어넣는 마법병입니다."],
|
["신마법과 함께 신통한 춤으로 활력을 불어넣는 마법병입니다."],
|
||||||
@@ -345,7 +351,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217405, self::T_WIZARD, '프로즌',
|
217405, self::T_WIZARD, '프로즌',
|
||||||
90, 70, 7, 10, 0.8, 10, 10,
|
90, 70, 7, 10, 0.8, 10, 10,
|
||||||
1000, null, ["헬만 서부"], 0,
|
[new ReqTech(1000), new ReqRegions('헬만 서부')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
["백병전에 불리한 연약한 몸으로 마법 사용에 집중하는 몬스터입니다."],
|
["백병전에 불리한 연약한 몸으로 마법 사용에 집중하는 몬스터입니다."],
|
||||||
@@ -354,7 +360,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217406, self::T_WIZARD, '마소한 마법병',
|
217406, self::T_WIZARD, '마소한 마법병',
|
||||||
70, 90, 7, 10, 0.8, 11, 10,
|
70, 90, 7, 10, 0.8, 11, 10,
|
||||||
1000, null, ["케이브리스 마인령"], 0,
|
[new ReqTech(1000), new ReqRegions('케이브리스 마인령')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
["로브를 여러겹 둘러입은 마물마법병입니다. 직접 전투보단 마법에 집중합니다."],
|
["로브를 여러겹 둘러입은 마물마법병입니다. 직접 전투보단 마법에 집중합니다."],
|
||||||
@@ -363,7 +369,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217407, self::T_WIZARD, '신관병',
|
217407, self::T_WIZARD, '신관병',
|
||||||
80, 130, 7, 5, 0.6, 9, 11,
|
80, 130, 7, 5, 0.6, 9, 11,
|
||||||
2000, ["카이즈"], null, 0,
|
[new ReqTech(2000), new ReqCities('카이즈')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
["AL교의 전투신관입니다. 몸을 보호하는 성스러운 마법을 사용합니다."],
|
["AL교의 전투신관입니다. 몸을 보호하는 성스러운 마법을 사용합니다."],
|
||||||
@@ -372,7 +378,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217408, self::T_WIZARD, '중장마법병',
|
217408, self::T_WIZARD, '중장마법병',
|
||||||
80, 130, 7, 15, 0.6, 11, 12,
|
80, 130, 7, 15, 0.6, 11, 12,
|
||||||
3000, ["로제스그라드"], null, 0,
|
[new ReqTech(3000), new ReqCities('로제스그라드')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
["두터운 로브를 입고 불길한 주문을 읊습니다."],
|
["두터운 로브를 입고 불길한 주문을 읊습니다."],
|
||||||
@@ -381,7 +387,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217409, self::T_WIZARD, '악마병',
|
217409, self::T_WIZARD, '악마병',
|
||||||
130, 80, 7, 15, 0.6, 11, 12,
|
130, 80, 7, 15, 0.6, 11, 12,
|
||||||
3000, ["올드제스"], null, 0,
|
[new ReqTech(3000), new ReqCities('올드제스')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
["고대 제스 왕가의 계약에 따라 소환된 흑마법병입니다."],
|
["고대 제스 왕가의 계약에 따라 소환된 흑마법병입니다."],
|
||||||
@@ -390,7 +396,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217410, self::T_WIZARD, '호넷 마물병',
|
217410, self::T_WIZARD, '호넷 마물병',
|
||||||
130, 130, 7, 0, 0.6, 12, 12,
|
130, 130, 7, 0, 0.6, 12, 12,
|
||||||
3000, ["구 마왕성"], null, 0,
|
[new ReqTech(3000), new ReqCities('구 마왕성')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
["호넷 직속의 최강 마물 마법병입니다."],
|
["호넷 직속의 최강 마물 마법병입니다."],
|
||||||
@@ -399,17 +405,16 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217411, self::T_WIZARD, 'Z가디언',
|
217411, self::T_WIZARD, 'Z가디언',
|
||||||
180, 180, 7, 0, 0.7, 28, 20,
|
180, 180, 7, 0, 0.7, 28, 20,
|
||||||
5000, ["라그나로크 아크"], null, 0,
|
[new ReqTech(5000), new ReqCities('라그나로크 아크')],
|
||||||
[self::T_SIEGE=>1.2],
|
[self::T_SIEGE=>1.2],
|
||||||
[self::T_SIEGE=>0.8],
|
[self::T_SIEGE=>0.8],
|
||||||
["제스의 기술력이 집약된 최고의 마법병기입니다."],
|
["제스의 기술력이 집약된 최고의 마법병기입니다."],
|
||||||
null, null, null
|
null, null, null
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
217500, self::T_SIEGE, '정란',
|
217500, self::T_SIEGE, '정란',
|
||||||
150, 150, 6, 0, 0, 15, 5,
|
150, 150, 6, 0, 0, 15, 5,
|
||||||
0, null, null, 3,
|
[new ReqMinRelYear(3)],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8],
|
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
|
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
|
||||||
["높은 구조물 위에서 공격합니다."],
|
["높은 구조물 위에서 공격합니다."],
|
||||||
@@ -418,7 +423,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217501, self::T_SIEGE, '충차',
|
217501, self::T_SIEGE, '충차',
|
||||||
150, 100, 6, 0, 0, 20, 5,
|
150, 100, 6, 0, 0, 20, 5,
|
||||||
1000, null, null, 3,
|
[new ReqTech(1000), new ReqMinRelYear(3)],
|
||||||
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4],
|
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4],
|
||||||
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
|
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
|
||||||
["엄청난 위력으로 성벽을 부수어버립니다."],
|
["엄청난 위력으로 성벽을 부수어버립니다."],
|
||||||
@@ -427,13 +432,12 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
217502, self::T_SIEGE, '튤립3호',
|
217502, self::T_SIEGE, '튤립3호',
|
||||||
275, 300, 6, 0, 0, 35, 15,
|
275, 300, 6, 0, 0, 35, 15,
|
||||||
5000, ["커스텀"], null, 0,
|
[new ReqTech(5000), new ReqCities('커스텀')],
|
||||||
[],
|
[],
|
||||||
[],
|
[],
|
||||||
["파괴적인 위력과 정말 파괴적인 비용을 자랑하는 전차입니다. "],
|
["파괴적인 위력과 정말 파괴적인 비용을 자랑하는 전차입니다. "],
|
||||||
['che_성벽부상무효'], null, null
|
['che_성벽부상무효'], null, null
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
@@ -1,15 +1,23 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace sammo;
|
namespace sammo;
|
||||||
|
|
||||||
|
use sammo\GameUnitConstraint\Impossible;
|
||||||
|
use sammo\GameUnitConstraint\ReqTech;
|
||||||
|
use sammo\GameUnitConstraint\ReqCities;
|
||||||
|
use sammo\GameUnitConstraint\ReqRegions;
|
||||||
|
use sammo\GameUnitConstraint\ReqMinRelYear;
|
||||||
|
|
||||||
class GameUnitConst extends GameUnitConstBase
|
class GameUnitConst extends GameUnitConstBase
|
||||||
{
|
{
|
||||||
const DEFAULT_CREWTYPE = 1500;
|
const DEFAULT_CREWTYPE = 1500;
|
||||||
|
|
||||||
protected static $_buildData = [
|
protected static function getBuildData(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
[
|
[
|
||||||
1000, self::T_CASTLE, '성벽',
|
1000, self::T_CASTLE, '성벽',
|
||||||
100, 100, 7, 0, 0, 99, 9,
|
100, 100, 7, 0, 0, 99, 9,
|
||||||
999999, null, null, 999999,
|
[new Impossible()],
|
||||||
[], //성벽은 공격할 수 없다.
|
[], //성벽은 공격할 수 없다.
|
||||||
[self::T_FOOTMAN=>1.2],
|
[self::T_FOOTMAN=>1.2],
|
||||||
['성벽입니다.','생성할 수 없습니다.'],
|
['성벽입니다.','생성할 수 없습니다.'],
|
||||||
@@ -18,37 +26,34 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1100, self::T_FOOTMAN, '보병',
|
1100, self::T_FOOTMAN, '보병',
|
||||||
100, 150, 7, 10, 0, 18, 18,
|
100, 150, 7, 10, 0, 18, 18,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8],
|
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8],
|
||||||
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2],
|
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2],
|
||||||
['표준적인 보병입니다.','보병은 방어특화이며,','상대가 회피하기 어렵습니다.'],
|
['표준적인 보병입니다.','보병은 방어특화이며,','상대가 회피하기 어렵습니다.'],
|
||||||
null, null, null
|
null, null, null
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
1200, self::T_ARCHER, '궁병',
|
1200, self::T_ARCHER, '궁병',
|
||||||
100, 100, 7, 20, 0, 20, 20,
|
100, 100, 7, 20, 0, 20, 20,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8],
|
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8],
|
||||||
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2],
|
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2],
|
||||||
['표준적인 궁병입니다.','궁병은 회피특화입니다.'],
|
['표준적인 궁병입니다.','궁병은 회피특화입니다.'],
|
||||||
null, null, null
|
null, null, null
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
1300, self::T_CAVALRY, '기병',
|
1300, self::T_CAVALRY, '기병',
|
||||||
150, 100, 7, 5, 0, 22, 22,
|
150, 100, 7, 5, 0, 22, 22,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8],
|
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8],
|
||||||
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2],
|
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2],
|
||||||
['표준적인 기병입니다.','기병은 공격특화입니다.'],
|
['표준적인 기병입니다.','기병은 공격특화입니다.'],
|
||||||
null, null, null
|
null, null, null
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
1400, self::T_WIZARD, '귀병',
|
1400, self::T_WIZARD, '귀병',
|
||||||
80, 80, 7, 5, 0.5, 18, 18,
|
80, 80, 7, 5, 0.5, 18, 18,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[],
|
[],
|
||||||
[],
|
[],
|
||||||
['계략을 사용하는 병종입니다.'],
|
['계략을 사용하는 병종입니다.'],
|
||||||
@@ -57,17 +62,16 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1405, self::T_WIZARD, '남귀병',
|
1405, self::T_WIZARD, '남귀병',
|
||||||
60, 60, 7, 10, 0.8, 16, 16,
|
60, 60, 7, 10, 0.8, 16, 16,
|
||||||
1000, null, null, 0,
|
[new ReqTech(1000)],
|
||||||
[],
|
[],
|
||||||
[],
|
[],
|
||||||
['전투를 포기하고 계략에 몰두합니다.'],
|
['전투를 포기하고 계략에 몰두합니다.'],
|
||||||
null, null, null
|
null, null, null
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
1500, self::T_SIEGE, '정란',
|
1500, self::T_SIEGE, '정란',
|
||||||
100, 100, 6, 0, 0, 7, 3,
|
100, 100, 6, 0, 0, 7, 3,
|
||||||
0, null, null, 0,
|
[],
|
||||||
[self::T_CASTLE=>1.8],
|
[self::T_CASTLE=>1.8],
|
||||||
[],
|
[],
|
||||||
['높은 구조물 위에서 공격합니다.'],
|
['높은 구조물 위에서 공격합니다.'],
|
||||||
@@ -76,7 +80,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1501, self::T_SIEGE, '충차',
|
1501, self::T_SIEGE, '충차',
|
||||||
150, 100, 6, 0, 0, 10, 3,
|
150, 100, 6, 0, 0, 10, 3,
|
||||||
1000, null, null, 3,
|
[new ReqTech(1000), new ReqMinRelYear(3)],
|
||||||
[self::T_CASTLE=>2.4],
|
[self::T_CASTLE=>2.4],
|
||||||
[],
|
[],
|
||||||
['엄청난 위력으로 성벽을 부수어버립니다.'],
|
['엄청난 위력으로 성벽을 부수어버립니다.'],
|
||||||
@@ -85,7 +89,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1502, self::T_SIEGE, '벽력거',
|
1502, self::T_SIEGE, '벽력거',
|
||||||
200, 100, 6, 0, 0, 20, 4,
|
200, 100, 6, 0, 0, 20, 4,
|
||||||
3000, ['업'], null, 0,
|
[new ReqTech(3000), new ReqCities('업')],
|
||||||
[self::T_CASTLE=>1.8],
|
[self::T_CASTLE=>1.8],
|
||||||
[],
|
[],
|
||||||
['상대에게 돌덩이를 날립니다.'],
|
['상대에게 돌덩이를 날립니다.'],
|
||||||
@@ -94,7 +98,7 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
[
|
[
|
||||||
1503, self::T_SIEGE, '목우',
|
1503, self::T_SIEGE, '목우',
|
||||||
50, 200, 5, 0, 0, 15, 3,
|
50, 200, 5, 0, 0, 15, 3,
|
||||||
3000, ['성도'], null, 0,
|
[new ReqTech(3000), new ReqCities('성도')],
|
||||||
[],
|
[],
|
||||||
[],
|
[],
|
||||||
['상대를 저지하는 특수병기입니다.'],
|
['상대를 저지하는 특수병기입니다.'],
|
||||||
@@ -102,3 +106,4 @@ class GameUnitConst extends GameUnitConstBase
|
|||||||
]
|
]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
@@ -31,29 +31,6 @@
|
|||||||
font-size: 0;
|
font-size: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.compensatePositive {
|
|
||||||
color: $cyan;
|
|
||||||
display: inline-block;
|
|
||||||
width: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.compensateNegative {
|
|
||||||
color: $red;
|
|
||||||
display: inline-block;
|
|
||||||
width: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.compensateNeutral{
|
|
||||||
display: inline-block;
|
|
||||||
width: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.commandImpossible {
|
|
||||||
color: $red;
|
|
||||||
text-decoration: line-through $red;
|
|
||||||
}
|
|
||||||
|
|
||||||
.t_date {
|
.t_date {
|
||||||
font-size: 0.75em;
|
font-size: 0.75em;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -583,6 +583,20 @@ CREATE TABLE IF NOT EXISTS `nation_env` (
|
|||||||
UNIQUE INDEX `key` (`namespace`, `key`),
|
UNIQUE INDEX `key` (`namespace`, `key`),
|
||||||
CONSTRAINT `json` CHECK (json_valid(`value`))
|
CONSTRAINT `json` CHECK (json_valid(`value`))
|
||||||
) COLLATE = 'utf8mb4_bin' ENGINE = Aria;
|
) COLLATE = 'utf8mb4_bin' ENGINE = Aria;
|
||||||
|
CREATE TABLE IF NOT EXISTS `inheritance_result` (
|
||||||
|
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`server_id` CHAR(20) NOT NULL COLLATE 'utf8mb4_general_ci',
|
||||||
|
`owner` INT(11) NOT NULL,
|
||||||
|
`general_id` INT(11) NOT NULL,
|
||||||
|
`year` INT(11) NOT NULL,
|
||||||
|
`month` INT(11) NOT NULL,
|
||||||
|
`value` LONGTEXT NOT NULL COLLATE 'utf8mb4_bin',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
INDEX `by_owner` (`server_id`, `owner`, `general_id`, `year`, `month`)
|
||||||
|
)
|
||||||
|
COLLATE='utf8mb4_general_ci'
|
||||||
|
ENGINE=Aria
|
||||||
|
;
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
## 명장일람
|
## 명장일람
|
||||||
|
|||||||
@@ -510,7 +510,7 @@ async function reloadCommandList() {
|
|||||||
const turnTime = parseTime(result.turnTime);
|
const turnTime = parseTime(result.turnTime);
|
||||||
let nextTurnTime = new Date(turnTime);
|
let nextTurnTime = new Date(turnTime);
|
||||||
|
|
||||||
const autorunLimitYearMonth = result.autorun_limit ?? yearMonth - 1;
|
const autorunLimitYearMonth = (result.autorun_limit ?? yearMonth) - 1;
|
||||||
const [autorunLimitYear, autorunLimitMonth] = parseYearMonth(autorunLimitYearMonth);
|
const [autorunLimitYear, autorunLimitMonth] = parseYearMonth(autorunLimitYearMonth);
|
||||||
|
|
||||||
reservedCommandList.value = [];
|
reservedCommandList.value = [];
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { AutoLoginFailed, AutoLoginNonceResponse, AutoLoginResponse, LoginFailed, LoginResponse } from "./defs/API/Login";
|
import type { AutoLoginFailed, AutoLoginNonceResponse, AutoLoginResponse, LoginFailed, LoginResponse } from "./defs/API/Login";
|
||||||
import { APIPathGen } from "./util/APIPathGen";
|
import { APIPathGen } from "./util/APIPathGen";
|
||||||
import { callSammoAPI, extractHttpMethod, GET, POST, type APICallT, type APITail, type InvalidResponse, type RawArgType, type ValidResponse } from "./util/callSammoAPI";
|
import { callSammoAPI, extractHttpMethod, POST, type APICallT, type APITail, type InvalidResponse, type RawArgType, type ValidResponse } from "./util/callSammoAPI";
|
||||||
export type { ValidResponse, InvalidResponse };
|
export type { ValidResponse, InvalidResponse };
|
||||||
|
|
||||||
const apiRealPath = {
|
const apiRealPath = {
|
||||||
@@ -18,7 +18,7 @@ const apiRealPath = {
|
|||||||
hashedToken: string,
|
hashedToken: string,
|
||||||
token_id: number,
|
token_id: number,
|
||||||
}, AutoLoginResponse, AutoLoginFailed>,
|
}, AutoLoginResponse, AutoLoginFailed>,
|
||||||
ReqNonce: GET as APICallT<undefined, AutoLoginNonceResponse, AutoLoginFailed>
|
ReqNonce: POST as APICallT<undefined, AutoLoginNonceResponse, AutoLoginFailed>
|
||||||
},
|
},
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
|
|||||||
@@ -509,7 +509,7 @@ function updateCommandList() {
|
|||||||
const turnTime = parseTime(props.turnTime);
|
const turnTime = parseTime(props.turnTime);
|
||||||
let nextTurnTime = new Date(turnTime);
|
let nextTurnTime = new Date(turnTime);
|
||||||
|
|
||||||
const autorunLimitYearMonth = autorun_limit.value ?? yearMonth - 1;
|
const autorunLimitYearMonth = (autorun_limit.value ?? yearMonth) - 1;
|
||||||
const [autorunLimitYear, autorunLimitMonth] = parseYearMonth(autorunLimitYearMonth);
|
const [autorunLimitYear, autorunLimitMonth] = parseYearMonth(autorunLimitYearMonth);
|
||||||
|
|
||||||
for (const obj of props.turn) {
|
for (const obj of props.turn) {
|
||||||
|
|||||||
@@ -205,7 +205,10 @@ defineExpose({
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped lang="scss">
|
||||||
|
@import "@scss/common/variables.scss";
|
||||||
|
@import "@scss/common/bootswatch_custom_variables.scss";
|
||||||
|
|
||||||
.commandItem {
|
.commandItem {
|
||||||
border: gray 1px solid;
|
border: gray 1px solid;
|
||||||
border-radius: 0.5em;
|
border-radius: 0.5em;
|
||||||
@@ -219,4 +222,28 @@ defineExpose({
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.compensatePositive {
|
||||||
|
color: $cyan;
|
||||||
|
display: inline-block;
|
||||||
|
width: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.compensateNegative {
|
||||||
|
color: $red;
|
||||||
|
display: inline-block;
|
||||||
|
width: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.compensateNeutral{
|
||||||
|
display: inline-block;
|
||||||
|
width: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.commandImpossible {
|
||||||
|
color: $red;
|
||||||
|
text-decoration: line-through $red;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user