Compare commits

..
115 changed files with 385 additions and 6324 deletions
+1
View File
@@ -12,6 +12,7 @@
}
},
"require": {
"brandonwamboldt/utilphp": "^1.1",
"sergeytsalkov/meekrodb": "^2.5",
"league/plates": "^3.5",
"vlucas/valitron": "^1.4",
Generated
+52 -2
View File
@@ -4,8 +4,58 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "7edae9b6be35e66ffd0d180f5fac6679",
"content-hash": "deed9afdc95bc42f84784df67d295223",
"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",
"version": "0.12.1",
@@ -5671,5 +5721,5 @@
"platform-overrides": {
"php": "8.3"
},
"plugin-api-version": "2.6.0"
"plugin-api-version": "2.3.0"
}
+1 -4
View File
@@ -99,10 +99,7 @@ function logError(string $err, string $errstr, string $errpath, array $trace)
$err = str_replace(ROOT, '{ROOT}', $err);
$errstr = str_replace(ROOT, '{ROOT}', $errstr);
$errpath = str_replace(ROOT, '{ROOT}', $errpath);
$trace = array_map(function (string|array $text) {
if (is_array($text)) {
$text = Json::encode($text);
}
$trace = array_map(function (string $text) {
return str_replace(ROOT, '{ROOT}', $text);
}, $trace);
+1 -1
View File
@@ -31,7 +31,7 @@ $queryMap = [
];
if ($reqQueryType === null || !key_exists($reqQueryType, $queryMap)) {
$reqQueryType = array_key_first($queryMap);
$reqQueryType = Util::array_first_key($queryMap);
}
//로그인 검사
+2 -5
View File
@@ -243,14 +243,11 @@ $templates = new \League\Plates\Engine(__DIR__ . '/templates');
"SELECT nation,no,name,owner_name as ownerName, owner, picture, imgsvr,
experience, dedication,
dex1, dex2, dex3, dex4, dex5,
horse, weapon, book, item, aux
horse, weapon, book, item
FROM general WHERE %l",
$btn == "NPC 보기" ? "npc>=2" : "npc<2"
) as $general) {
$generalID = $general['no'];
foreach (['dex1', 'dex2', 'dex3', 'dex4', 'dex5'] as $dexKey) {
$general[$dexKey] = CentennialAllStarGrowthService::recordableRawValue($general, $dexKey);
}
$general['bgColor'] = $nationColor[$general['nation']] ?? GameConst::$basecolor4;
$general['fgColor'] = newColor($general['bgColor']);
$general['nationName'] = $nationName[$general['nation']];
@@ -430,4 +427,4 @@ $templates = new \League\Plates\Engine(__DIR__ . '/templates');
</div>
</body>
</html>
</html>
+3 -6
View File
@@ -1047,7 +1047,7 @@ function increaseRefresh($type = "", $cnt = 1)
$logDB = FileDB::db($logPath, $serverPath . '/../f_install/sql/api_log.sql');
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'] ?? $_SERVER['REMOTE_ADDR'] ?? 'local';
$ip = $_SERVER['REMOTE_ADDR'] ?? 'local';
$date = date('Y-m-d H:i:s');
$logDB->insert('api_log', [
@@ -1401,11 +1401,8 @@ function CheckHall($no)
foreach ($types as [$typeName, $valueType]) {
if ($valueType === 'natural') {
$value = $generalObj->getVar($typeName);
if (in_array($typeName, ['dex1', 'dex2', 'dex3', 'dex4', 'dex5'], true)) {
$value = CentennialAllStarGrowthService::recordableValue($generalObj, $typeName);
}
if ($valueType === 'natural') {
$value = $generalObj->getVar($typeName);
} else if ($valueType === 'rank') {
$value = $generalObj->getRankVar(RankColumn::from($typeName));
} else if ($valueType === 'calc') {
+1 -1
View File
@@ -686,7 +686,7 @@ function TechLimit($startYear, $year, $tech) : bool {
$relYear = $year - $startYear;
$relMaxTech = Util::valueFit(
floor($relYear / GameConst::$techLevelIncYear) + GameConst::$initialAllowedTechLevel,
floor($relYear / 5) + 1,
1,
GameConst::$maxTechLevel
);
+1 -1
View File
@@ -559,7 +559,7 @@ function checkStatistic()
$nationHist = '';
foreach (GameConst::$availableNationType as $nationType) {
if (!($nationHists[$nationType] ?? null)) {
if (!Util::array_get($nationHists[$nationType])) {
$nationHists[$nationType] = '-';
}
$nationHist .= getNationType($nationType) . "({$nationHists[$nationType]}), ";
+2 -2
View File
@@ -138,7 +138,7 @@ function JSCitiesBasedOnDistance(int $cityNo, int $maxDistance = 1): array{
$distanceList = searchDistance($cityNo, $maxDistance, true);
$result = [];
for ($dist = 1; $dist <= $maxDistance; $dist++) {
$result[$dist] = $distanceList[$dist] ?? [];
$result[$dist] = Util::array_get($distanceList[$dist], []);
}
return $result;
}
@@ -152,7 +152,7 @@ function printCitiesBasedOnDistance(int $cityNo, int $maxDistance = 1): string
for ($dist = 1; $dist <= $maxDistance; $dist++) {
$cityList = array_map(function ($cityID) {
return CityConst::byID($cityID)->name;
}, $distanceList[$dist] ?? []);
}, Util::array_get($distanceList[$dist], []));
$cityStr = join(', ', $cityList);
+3 -7
View File
@@ -1153,25 +1153,21 @@ function fight($tnmt_type, $tnmt, $phs, $group, $g1, $g2, $type)
];
//막판 분노
$factor1 = 1.0;
$factor2 = 1.0;
$ratio = rand() % 300;
if ($e1 / 5 > $energy1 && $damage1 > $damage2 && $gen1[$tp] >= $ratio) {
$factor2 = Util::round((rand() % 301 + 200) / 100); // 200 ~ 500%
$damage2 *= Util::round((rand() % 301 + 200) / 100); // 200 ~ 500%
$critical1 = 1;
$str = Util::choiceRandom($crticialSkillMap[$tnmt_type]);
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 분노의 <M>{$str}</> 공격!";
}
$ratio = rand() % 300;
if ($e2 / 5 > $energy2 && $damage2 > $damage1 && $gen2[$tp] >= $ratio) {
$factor1 = Util::round((rand() % 301 + 200) / 100); // 200 ~ 500%
$damage1 *= Util::round((rand() % 301 + 200) / 100); // 200 ~ 500%
$critical2 = 1;
$str = Util::choiceRandom($crticialSkillMap[$tnmt_type]);
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 분노의 <M>{$str}</> 공격!";
}
$damage1 *= $factor1;
$damage2 *= $factor2;
//1합 승부
if ($phase == 1) {
+1 -1
View File
@@ -144,7 +144,7 @@ function do도시임명(General $general, int $cityID, int $targetOfficerLevel):
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 '수뇌인 장수를 변경할 수 없는 상태입니다.';
}
+1 -1
View File
@@ -41,7 +41,7 @@ $penaltyInfo = array_merge($memberPenalty['any'] ?? [], $memberPenalty[DB::prefi
$penalty = [];
foreach($penaltyInfo as $penaltyKey => $penaltyValue){
if(($penaltyValue['expire'] ?? 0) > TimeUtil::now()){
if($penaltyValue['expire'] ?? 0 > TimeUtil::now()){
$penalty[$penaltyKey] = $penaltyValue['value'];
}
}
+9 -31
View File
@@ -6,19 +6,10 @@ include "func.php";
WebUtil::requireAJAX();
$pick = Util::getPost('pick');
$leadership = Util::getPost('leadership', 'int', GameConst::$defaultStatMin);
$isCentennialAllStar = CentennialAllStarGrowthService::isActive();
$strength = Util::getPost(
$isCentennialAllStar ? 'strength' : 'leadership',
'int',
GameConst::$defaultStatMin
);
$intel = Util::getPost(
$isCentennialAllStar ? 'intel' : 'leadership',
'int',
GameConst::$defaultStatMin
);
$pick = Util::getPost('pick');
$leadership = Util::getPost('leadership', 'int', GameConst::$defaultStatMin);
$strength = Util::getPost('leadership', 'int', GameConst::$defaultStatMin);
$intel = Util::getPost('leadership', 'int', GameConst::$defaultStatMin);
$personal = Util::getPost('personal', 'string', null);
$use_own_picture = Util::getPost('use_own_picture', 'bool', false);
@@ -87,19 +78,9 @@ if ($gencount >= $maxgeneral) {
]);
}
$poolClass = getGeneralPoolClass(GameConst::$targetGeneralPool);
/** @var AbsGeneralPool */
if ($isCentennialAllStar) {
$rng = new RandUtil(new LiteHashDRBG(Util::simpleSerialize(
UniqueConst::$hiddenSeed,
'selectPickedGeneral',
$userID,
$pick
)));
$pickedGeneral = new $poolClass($db, $rng, $selectInfo, $now);
} else {
$pickedGeneral = new $poolClass($db, $selectInfo, $now);
}
$poolClass = getGeneralPoolClass(GameConst::$targetGeneralPool);
/** @var AbsGeneralPool */
$pickedGeneral = new $poolClass($db, $selectInfo, $now);
$builder = $pickedGeneral->getGeneralBuilder();
@@ -124,10 +105,7 @@ foreach(GameConst::$generalPoolAllowOption as $allowOption){
if(!$personal || $personal == 'Random'){
$personal = Util::choiceRandom(GameConst::$availablePersonality);
}
$invalidPersonal = $isCentennialAllStar
? !in_array($personal, GameConst::$availablePersonality, true)
: !array_search($personal, GameConst::$availablePersonality);
if($invalidPersonal){
if(!array_search($personal, GameConst::$availablePersonality)){
Json::die([
'result'=>false,
'reason'=>'올바르지 않은 성격입니다.'
@@ -189,4 +167,4 @@ $rootDB->insert('member_log', [
Json::die([
'result'=>true,
'reason'=>'success'
]);
]);
+1 -1
View File
@@ -88,7 +88,7 @@ $penaltyInfo = array_merge($memberPenalty['any'] ?? [], $memberPenalty[DB::prefi
$penalty = [];
foreach ($penaltyInfo as $penaltyKey => $penaltyValue) {
if (($penaltyValue['expire'] ?? 0) > TimeUtil::now()) {
if ($penaltyValue['expire'] ?? 0 > TimeUtil::now()) {
$penalty[$penaltyKey] = $penaltyValue['value'];
}
}
+28 -38
View File
@@ -33,13 +33,12 @@ if(!$generalID){
}
list(
$year,
$month,
$startYear,
$maxgeneral,
$npcmode,
$turnterm
) = $gameStor->getValuesAsArray(['year', 'month', 'startyear', 'maxgeneral', 'npcmode', 'turnterm']);
$year,
$month,
$maxgeneral,
$npcmode,
$turnterm
) = $gameStor->getValuesAsArray(['year', 'month', 'maxgeneral', 'npcmode', 'turnterm']);
if($npcmode!=2){
Json::die([
@@ -102,36 +101,11 @@ $db->update('select_pool',[
'reserved_until'=>null,
], '(owner=%i or reserved_until < %s) AND general_id is NULL', $userID, $now);
$isCentennialAllStar = CentennialAllStarGrowthService::isActive();
if ($isCentennialAllStar) {
CentennialAllStarGrowthService::applyTarget($generalObj, $info, [
'startyear' => $startYear,
'year' => $year,
'month' => $month,
]);
} else {
if(key_exists('leadership', $info)){
$generalObj->updateVar('leadership', $info['leadership']);
$generalObj->updateVar('strength', $info['strength']);
$generalObj->updateVar('intel', $info['intel']);
}
if(key_exists('dex', $info)){
$generalObj->updateVar('dex1', $info['dex'][0]);
$generalObj->updateVar('dex2', $info['dex'][1]);
$generalObj->updateVar('dex3', $info['dex'][2]);
$generalObj->updateVar('dex4', $info['dex'][3]);
$generalObj->updateVar('dex5', $info['dex'][4]);
}
if(key_exists('ego', $info)){
$generalObj->updateVar('personal', $info['ego']);
}
if(key_exists('specialDomestic', $info)){
$generalObj->updateVar('special', $info['specialDomestic']);
}
if(key_exists('specialWar', $info)){
$generalObj->updateVar('special2', $info['specialWar']);
}
}
if(key_exists('leadership', $info)){
$generalObj->updateVar('leadership', $info['leadership']);
$generalObj->updateVar('strength', $info['strength']);
$generalObj->updateVar('intel', $info['intel']);
}
if(key_exists('picture', $info)){
$generalObj->updateVar('imgsvr', $info['imgsvr']);
$generalObj->updateVar('picture', $info['picture']);
@@ -139,6 +113,22 @@ if(key_exists('picture', $info)){
if(key_exists('generalName', $info)){
$generalObj->updateVar('name', $info['generalName']);
}
if(key_exists('dex', $info)){
$generalObj->updateVar('dex1', $info['dex'][0]);
$generalObj->updateVar('dex2', $info['dex'][1]);
$generalObj->updateVar('dex3', $info['dex'][2]);
$generalObj->updateVar('dex4', $info['dex'][3]);
$generalObj->updateVar('dex5', $info['dex'][4]);
}
if(key_exists('ego', $info)){
$generalObj->updateVar('personal', $info['ego']);
}
if(key_exists('specialDomestic', $info)){
$generalObj->updateVar('special', $info['specialDomestic']);
}
if(key_exists('specialWar', $info)){
$generalObj->updateVar('special2', $info['specialWar']);
}
$generalObj->setAuxVar('next_change', TimeUtil::nowAddMinutes(12 * $turnterm));
$userNick = $ownerInfo['name'];
@@ -158,4 +148,4 @@ $generalObj->applyDB($db);
Json::die([
'result'=>true,
'reason'=>'success'
]);
]);
+2 -3
View File
@@ -51,9 +51,8 @@ function MessageBox($str)
function LogText($prefix, $variable)
{
return;
//$text = sprintf('%s : %s'."\r\n", $prefix, TVarDumper::dump($variable));
//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{
+1 -9
View File
@@ -8,12 +8,4 @@ $session = Session::getInstance()->setReadOnly();
$db = DB::db();
$updated = false;
$locked = false;
$lastExecuted = TurnExecutionHelper::executeAllCommand($updated, $locked);
Json::die([
'result' => true,
'updated' => $updated,
'locked' => $locked,
'lastExecuted' => $lastExecuted,
]);
TurnExecutionHelper::executeAllCommand();
+3 -3
View File
@@ -526,7 +526,7 @@ function DeleteConflict($nation)
function getConquerNation($city): int
{
$conflict = Json::decode($city['conflict']);
return array_key_first($conflict);
return Util::array_first_key($conflict);
}
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,
];
if ($city['level'] > 3) {
$query['def'] = GameConst::$defaultCityWall;
$query['wall'] = GameConst::$defaultCityWall;
$query['def'] = 1000;
$query['wall'] = 1000;
} else {
$query['def'] = $db->sqleval('def_max/2');
$query['wall'] = $db->sqleval('wall_max/2');
+2 -2
View File
@@ -99,7 +99,7 @@ class Join extends \sammo\BaseAPI
}
$gameID = UniqueConst::$serverID;
$alreadyJoined = $db->queryFirstField('SELECT COUNT(*) FROM `inheritance_result` WHERE `server_id` = %s AND `owner` = %i', $gameID, $userID);
$alreadyJoined = $db->queryFirstField('SELECT count(*) FROM `storage` WHERE `namespace` = %s AND `key` LIKE %s', 'inheritance_result', "{$gameID}_{$userID}_%");
if ($alreadyJoined) {
//이미 받았음
return 0;
@@ -157,7 +157,7 @@ class Join extends \sammo\BaseAPI
$penalty = [];
foreach($penaltyInfo as $penaltyKey => $penaltyValue){
if(($penaltyValue['expire'] ?? 0) > TimeUtil::now()){
if($penaltyValue['expire'] ?? 0 > TimeUtil::now()){
$penalty[$penaltyKey] = $penaltyValue['value'];
}
}
@@ -15,7 +15,7 @@ class che_척사_오악진형도 extends \sammo\BaseItem{
public function getWarPowerMultiplier(WarUnit $unit):array{
$opposeCrewType = $unit->getOppose()->getCrewType();
if($opposeCrewType->reqCities() || $opposeCrewType->reqRegions()){
if($opposeCrewType->reqCities || $opposeCrewType->reqRegions){
return [1.15, 0.85];
}
return [1, 1];
@@ -33,7 +33,7 @@ class event_전투특기_공성 extends \sammo\BaseItem{
}
public function onCalcStat(General $general, string $statName, $value, $aux=null){
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_SIEGE;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
if($aux['isAttacker'] && $opposeArmType === $statName){
@@ -28,7 +28,7 @@ class event_전투특기_궁병 extends \sammo\BaseItem{
if($statName === 'warAvoidRatio'){
return $value + 0.2;
}
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_ARCHER;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
if($aux['isAttacker'] && $opposeArmType === $statName){
@@ -28,7 +28,7 @@ class event_전투특기_귀병 extends \sammo\BaseItem{
if($statName === 'warMagicSuccessProb'){
return $value + 0.2;
}
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_WIZARD;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
if($aux['isAttacker'] && $opposeArmType === $statName){
@@ -32,7 +32,7 @@ class event_전투특기_기병 extends \sammo\BaseItem{
}
public function onCalcStat(General $general, string $statName, $value, $aux=null){
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_CAVALRY;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
if($aux['isAttacker'] && $opposeArmType === $statName){
@@ -33,7 +33,7 @@ class event_전투특기_보병 extends \sammo\BaseItem{
}
public function onCalcStat(General $general, string $statName, $value, $aux=null){
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_FOOTMAN;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
if($aux['isAttacker'] && $opposeArmType === $statName){
@@ -17,7 +17,7 @@ class event_전투특기_척사 extends \sammo\BaseItem{
public function getWarPowerMultiplier(WarUnit $unit):array{
$opposeCrewType = $unit->getOppose()->getCrewType();
if($opposeCrewType->reqCities() || $opposeCrewType->reqRegions()){
if($opposeCrewType->reqCities || $opposeCrewType->reqRegions){
return [1.2, 0.8];
}
return [1, 1];
@@ -1,68 +0,0 @@
<?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){
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_SIEGE;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
if($aux['isAttacker'] && $opposeArmType === $statName){
@@ -31,7 +31,7 @@ class che_event_궁병 extends \sammo\BaseSpecial{
if($statName === 'warAvoidRatio'){
return $value + 0.2;
}
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_ARCHER;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
if($aux['isAttacker'] && $opposeArmType === $statName){
@@ -30,7 +30,7 @@ class che_event_귀병 extends \sammo\BaseSpecial{
if($statName === 'warMagicSuccessProb'){
return $value + 0.2;
}
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_WIZARD;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
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){
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_CAVALRY;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
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){
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_FOOTMAN;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
if($aux['isAttacker'] && $opposeArmType === $statName){
@@ -21,7 +21,7 @@ class che_event_척사 extends \sammo\BaseSpecial{
public function getWarPowerMultiplier(WarUnit $unit):array{
$opposeCrewType = $unit->getOppose()->getCrewType();
if($opposeCrewType->reqCities() || $opposeCrewType->reqRegions()){
if($opposeCrewType->reqCities || $opposeCrewType->reqRegions){
return [1.2, 0.8];
}
return [1, 1];
+1 -1
View File
@@ -35,7 +35,7 @@ class che_공성 extends \sammo\BaseSpecial{
}
public function onCalcStat(General $general, string $statName, $value, $aux=null){
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_SIEGE;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
if($aux['isAttacker'] && $opposeArmType === $statName){
+1 -1
View File
@@ -31,7 +31,7 @@ class che_궁병 extends \sammo\BaseSpecial{
if($statName === 'warAvoidRatio'){
return $value + 0.2;
}
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_ARCHER;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
if($aux['isAttacker'] && $opposeArmType === $statName){
+1 -1
View File
@@ -30,7 +30,7 @@ class che_귀병 extends \sammo\BaseSpecial{
if($statName === 'warMagicSuccessProb'){
return $value + 0.2;
}
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_WIZARD;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
if($aux['isAttacker'] && $opposeArmType === $statName){
+1 -1
View File
@@ -35,7 +35,7 @@ class che_기병 extends \sammo\BaseSpecial{
}
public function onCalcStat(General $general, string $statName, $value, $aux=null){
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_CAVALRY;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
if($aux['isAttacker'] && $opposeArmType === $statName){
+1 -1
View File
@@ -35,7 +35,7 @@ class che_보병 extends \sammo\BaseSpecial{
}
public function onCalcStat(General $general, string $statName, $value, $aux=null){
if(str_starts_with($statName, 'dex')){
if(\sammo\Util::starts_with($statName, 'dex')){
$myArmType = 'dex'.GameUnitConst::T_FOOTMAN;
$opposeArmType = 'dex'.$aux['opposeType']->armType;;
if($aux['isAttacker'] && $opposeArmType === $statName){
+1 -1
View File
@@ -21,7 +21,7 @@ class che_척사 extends \sammo\BaseSpecial{
public function getWarPowerMultiplier(WarUnit $unit):array{
$opposeCrewType = $unit->getOppose()->getCrewType();
if($opposeCrewType->reqCities() || $opposeCrewType->reqRegions()){
if($opposeCrewType->reqCities || $opposeCrewType->reqRegions){
return [1.2, 0.8];
}
return [1, 1];
@@ -1,180 +0,0 @@
<?php
namespace sammo;
use sammo\Scenario\GeneralBuilder;
final class CentennialAllStarGrowthService
{
public const POOL_CLASS = 'SPoolUnderU100';
public const AUX_KEY = 'event100_allstar';
public const TRAIT_UNLOCK_PROGRESS = 0.4;
private const STAT_KEYS = ['leadership', 'strength', 'intel'];
private const DEX_KEYS = ['dex1', 'dex2', 'dex3', 'dex4', 'dex5'];
public static function isActive(): bool
{
return GameConst::$targetGeneralPool === self::POOL_CLASS;
}
public static function initialAux(array $targetInfo): array
{
return [
'targetId' => (string) ($targetInfo['uniqueName'] ?? ''),
'granted' => array_fill_keys(array_merge(self::STAT_KEYS, self::DEX_KEYS), 0),
'progressMonth' => -1,
'milestone' => 0,
'naturalSpecialDomestic' => null,
'eventSpecialDomestic' => null,
];
}
public static function attachInitialTarget(GeneralBuilder $builder, array $targetInfo): void
{
$builder->setAuxVar(self::AUX_KEY, self::initialAux($targetInfo));
}
/**
* Mutates the General object but leaves persistence to the caller.
*
* @return array{progress:float,milestone:int,previousMilestone:int,targetChanged:bool,changed:bool}
*/
public static function applyTarget(General $general, array $targetInfo, array $env): array
{
$startYear = (int) $env['startyear'];
$year = (int) $env['year'];
$month = (int) $env['month'];
$progress = CentennialAllStarGrowth::progress($startYear, $year, $month);
$progressMonth = max(0, ($year - $startYear) * 12 + $month - 1);
$targetId = (string) ($targetInfo['uniqueName'] ?? '');
$aux = $general->getAuxVar(self::AUX_KEY);
if (!is_array($aux)) {
$aux = self::initialAux($targetInfo);
}
$granted = is_array($aux['granted'] ?? null)
? $aux['granted']
: array_fill_keys(array_merge(self::STAT_KEYS, self::DEX_KEYS), 0);
$targetChanged = ($aux['targetId'] ?? '') !== $targetId;
$changed = false;
foreach (self::STAT_KEYS as $key) {
if (!array_key_exists($key, $targetInfo)) {
continue;
}
$target = min(GameConst::$maxLevel, max(0, (int) $targetInfo[$key]));
$floor = CentennialAllStarGrowth::statFloor(
$target,
GameConst::$defaultStatMin,
$progress
);
$current = (int) $general->getVar($key);
if ($targetChanged) {
$result = CentennialAllStarGrowth::replaceTarget(
$current,
(int) ($granted[$key] ?? 0),
$floor
);
} else {
$result = CentennialAllStarGrowth::advance(
$current,
(int) ($granted[$key] ?? 0),
$floor
);
}
if ($result['value'] !== $current) {
$general->updateVar($key, $result['value']);
$changed = true;
}
$granted[$key] = $result['granted'];
}
$targetDex = $targetInfo['dex'] ?? [];
foreach (self::DEX_KEYS as $idx => $key) {
if (!array_key_exists($idx, $targetDex)) {
continue;
}
$target = min(GameConst::$dexLimit, max(0, (int) $targetDex[$idx]));
$floor = CentennialAllStarGrowth::dexFloor($target, $progress);
$current = (int) $general->getVar($key);
if ($targetChanged) {
$result = CentennialAllStarGrowth::replaceTarget(
$current,
(int) ($granted[$key] ?? 0),
$floor
);
} else {
$result = CentennialAllStarGrowth::advance(
$current,
(int) ($granted[$key] ?? 0),
$floor
);
}
if ($result['value'] !== $current) {
$general->updateVar($key, $result['value']);
$changed = true;
}
$granted[$key] = $result['granted'];
}
$oldEventSpecial = $aux['eventSpecialDomestic'] ?? null;
if ($targetChanged && $oldEventSpecial !== null
&& $general->getVar('special') === $oldEventSpecial
) {
$general->updateVar(
'special',
$aux['naturalSpecialDomestic'] ?? GameConst::$defaultSpecialDomestic
);
$changed = true;
$aux['eventSpecialDomestic'] = null;
}
$targetSpecial = $targetInfo['specialDomestic'] ?? null;
if ($progress >= self::TRAIT_UNLOCK_PROGRESS && is_string($targetSpecial) && $targetSpecial !== '') {
if (($aux['naturalSpecialDomestic'] ?? null) === null) {
$aux['naturalSpecialDomestic'] = $general->getVar('special');
}
if ($general->getVar('special') !== $targetSpecial) {
$general->updateVar('special', $targetSpecial);
$changed = true;
}
$aux['eventSpecialDomestic'] = $targetSpecial;
}
$previousMilestone = (int) ($aux['milestone'] ?? 0);
$milestone = min(5, (int) floor($progress * 5 + 0.0000001));
$aux['targetId'] = $targetId;
$aux['granted'] = $granted;
$aux['progressMonth'] = max((int) ($aux['progressMonth'] ?? -1), $progressMonth);
$aux['milestone'] = max($previousMilestone, $milestone);
$general->setAuxVar(self::AUX_KEY, $aux);
return [
'progress' => $progress,
'milestone' => $milestone,
'previousMilestone' => $previousMilestone,
'targetChanged' => $targetChanged,
'changed' => $changed || $targetChanged || $milestone > $previousMilestone,
];
}
public static function recordableValue(General $general, string $key): int
{
$aux = $general->getAuxVar(self::AUX_KEY);
$granted = is_array($aux) && is_array($aux['granted'] ?? null)
? (int) ($aux['granted'][$key] ?? 0)
: 0;
return CentennialAllStarGrowth::recordableValue((int) $general->getVar($key), $granted);
}
public static function recordableRawValue(array $general, string $key): int
{
$aux = Json::decode($general['aux'] ?? '{}');
$eventAux = is_array($aux[self::AUX_KEY] ?? null) ? $aux[self::AUX_KEY] : [];
$granted = is_array($eventAux['granted'] ?? null)
? (int) ($eventAux['granted'][$key] ?? 0)
: 0;
return CentennialAllStarGrowth::recordableValue((int) ($general[$key] ?? 0), $granted);
}
}
+7 -14
View File
@@ -5,7 +5,6 @@ use \sammo\{
Util, JosaUtil, DB,
General, GameConst,
ActionLogger,
Json,
LastTurn,
NotInheritedMethodException,
RandUtil
@@ -119,7 +118,6 @@ abstract class BaseCommand{
$nationID = $this->generalObj->getNationID();
if($nationID == 0){
$this->nation = $this->generalObj->getStaticNation();
$this->nation['aux'] = [];
return;
}
@@ -140,8 +138,7 @@ abstract class BaseCommand{
'gold'=>0,
'rice'=>2000,
'tech'=>0,
'gennum'=>1,
'aux'=>'{}',
'gennum'=>1
];
if($this->nation && $this->nation['nation'] === $nationID){
@@ -173,10 +170,6 @@ abstract class BaseCommand{
else{
$this->nation = $nation;
}
if(is_string($this->nation['aux'] ?? null)){
$this->nation['aux'] = Json::decode($this->nation['aux']);
}
}
protected function setDestGeneral(General $destGeneralObj){
@@ -319,12 +312,12 @@ abstract class BaseCommand{
$this->generalObj->unpackAux();
$constraintInput = [
'general'=>$this->generalObj,
'general'=>$this->generalObj->getRaw(),
'city'=>$this->city,
'nation'=>$this->nation,
'cmd_arg'=>$this->arg,
'destGeneral'=>$this->destGeneralObj??null,
'destGeneral'=>$this->destGeneralObj?$this->destGeneralObj->getRaw():null,
'destCity'=>$this->destCity,
'destNation'=>$this->destNation,
];
@@ -353,12 +346,12 @@ abstract class BaseCommand{
$this->generalObj->unpackAux();
$constraintInput = [
'general'=>$this->generalObj,
'general'=>$this->generalObj->getRaw(),
'city'=>$this->city,
'nation'=>$this->nation,
'cmd_arg'=>$this->arg,
'destGeneral'=>$this->destGeneralObj??null,
'destGeneral'=>$this->destGeneralObj?$this->destGeneralObj->getRaw():null,
'destCity'=>$this->destCity,
'destNation'=>$this->destNation,
];
@@ -391,12 +384,12 @@ abstract class BaseCommand{
$this->generalObj->unpackAux();
$constraintInput = [
'general'=>$this->generalObj,
'general'=>$this->generalObj->getRaw(),
'city'=>$this->city,
'nation'=>$this->nation,
'cmd_arg'=>$this->arg,
'destGeneral'=>$this->destGeneralObj??null,
'destGeneral'=>$this->destGeneralObj?$this->destGeneralObj->getRaw():null,
'destCity'=>$this->destCity,
'destNation'=>$this->destNation,
];
+1 -1
View File
@@ -183,7 +183,7 @@ class che_건국 extends Command\GeneralCommand
$general->addExperience($exp);
$general->addDedication($ded);
$aux = $this->nation['aux'];
$aux = Json::decode($this->nation['aux']) ?? [];
$aux['can_국기변경'] = 1;
$db->update('city', [
@@ -181,7 +181,7 @@ class che_랜덤임관 extends Command\GeneralCommand
if ($notIn) {
$rawGeneralsCnt = $db->query(
"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
"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
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 rb ON g.`no` = rb.general_id AND rb.`type` = 'deathcrew_person'
@@ -193,7 +193,7 @@ class che_랜덤임관 extends Command\GeneralCommand
);
} else {
$rawGeneralsCnt = $db->query(
"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
"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
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 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) {
$calcCnt = $nation['warpower'] + $nation['develpower'];
if ($general->getNPCType() < 2 && str_starts_with($nation['name'], 'ⓤ')) {
if ($general->getNPCType() < 2 && Util::starts_with($nation['name'], 'ⓤ')) {
$calcCnt *= 100;
}
@@ -194,7 +194,7 @@ class che_무작위건국 extends Command\GeneralCommand
$general->addExperience($exp);
$general->addDedication($ded);
$aux = $this->nation['aux'];
$aux = Json::decode($this->nation['aux']) ?? [];
$aux['can_국기변경'] = 1;
$aux['can_무작위수도이전'] = 1;
+3 -3
View File
@@ -79,7 +79,7 @@ class che_징병 extends Command\GeneralCommand
protected function init()
{
$this->setCity();
$this->setNation(['tech', 'aux']);
$this->setNation(['tech']);
$this->minConditionConstraints = [
ConstraintHelper::NotBeNeutral(),
@@ -281,14 +281,14 @@ class che_징병 extends Command\GeneralCommand
$crewObj->id = $unit->id;
/** @var ?\sammo\GameUnitConstraints\ReqTech */
$reqTechObj = $unit->reqConstraints['ReqTech'] ?? null;
$reqTechObj = $unit->reqConstraints['reqTech'] ?? null;
$crewObj->reqTech = $reqTechObj ? $reqTechObj->reqTech : 0;
/** @var ?\sammo\GameUnitConstraint\ReqMinRelYear */
$reqMinRelYearObj = $unit->reqConstraints['reqMinRelYear'] ?? null;
$crewObj->reqYear = $reqMinRelYearObj ? $reqMinRelYearObj->reqMinRelYear : 0;
$crewObj->notAvailable = !$unit->isValid($general, $ownCities, $ownRegions, $relativeYear, $tech, $this->nation['aux']);
$crewObj->notAvailable = !$unit->isValid($general, $ownCities, $ownRegions, $relativeYear, $tech);
$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]);
+1 -1
View File
@@ -164,7 +164,7 @@ class che_출병 extends Command\GeneralCommand
$currDist = 999;
$minDist = array_key_first($distanceList);
$minDist = Util::array_first_key($distanceList);
do {
//1: 최단 거리 도시 중 공격 대상이 있는가 확인
//2: 최단 거리 + 1 도시 중 공격 대상이 있는가 확인
+1 -1
View File
@@ -180,7 +180,7 @@ class cr_건국 extends Command\GeneralCommand
$general->addExperience($exp);
$general->addDedication($ded);
$aux = $this->nation['aux'];
$aux = Json::decode($this->nation['aux']) ?? [];
$aux['can_국기변경'] = 1;
$db->update('city', [
@@ -122,7 +122,7 @@ class che_국기변경 extends Command\NationCommand
$josaYi = JosaUtil::pick($generalName, '이');
$josaYiNation = JosaUtil::pick($nationName, '이');
$aux = $this->nation['aux'];
$aux = Json::decode($this->nation['aux']);
$aux["can_{$actionName}"] = 0;
$db->update('nation', [
@@ -140,7 +140,7 @@ class che_국호변경 extends Command\NationCommand
$josaYi = JosaUtil::pick($generalName, '이');
$josaYiNation = JosaUtil::pick($nationName, '이');
$aux = $this->nation['aux'];
$aux = Json::decode($this->nation['aux']);
$aux["can_{$actionName}"] = 0;
$db->update('nation', [
@@ -119,7 +119,7 @@ class che_무작위수도이전 extends Command\NationCommand
$josaYi = JosaUtil::pick($generalName, '이');
$josaYiNation = JosaUtil::pick($nationName, '이');
$aux = $this->nation['aux'];
$aux = Json::decode($this->nation['aux']);
$aux["can_무작위수도이전"] -= 1;
$db->update('city', [
+1 -9
View File
@@ -13,14 +13,12 @@ use \sammo\{
Message,
CityConst,
CityInitialDetail,
Json,
StaticEventHandler
};
use \sammo\Constraint\Constraint;
use \sammo\Constraint\ConstraintHelper;
use sammo\Enums\InheritanceKey;
use sammo\Enums\NationAuxKey;
use sammo\Event\Action;
class che_초토화 extends Command\NationCommand{
@@ -54,7 +52,7 @@ class che_초토화 extends Command\NationCommand{
$env = $this->env;
$this->setCity();
$this->setNation(['surlimit', 'gold', 'rice', 'capital', 'aux']);
$this->setNation(['surlimit', 'gold', 'rice', 'capital']);
$this->minConditionConstraints=[
ConstraintHelper::OccupiedCity(),
@@ -159,11 +157,6 @@ class che_초토화 extends Command\NationCommand{
$josaYiNation = JosaUtil::pick($nationName, '이');
$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', [
'experience'=>$db->sqleval('experience * 0.9')
@@ -191,7 +184,6 @@ class che_초토화 extends Command\NationCommand{
'gold' => $db->sqleval('gold + %i', $amount),
'rice' => $db->sqleval('rice + %i', $amount),
'surlimit' => $db->sqleval('surlimit + %i', $this->getPostReqTurn()),
'aux' => Json::encode($aux),
], 'nation=%i', $nationID);
\sammo\refreshNationStaticInfo();
@@ -1,108 +0,0 @@
<?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;
}
}
@@ -1,107 +0,0 @@
<?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;
}
}
@@ -1,107 +0,0 @@
<?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;
}
}
@@ -1,107 +0,0 @@
<?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;
}
}
@@ -1,107 +0,0 @@
<?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;
}
}
@@ -1,107 +0,0 @@
<?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;
}
}
@@ -1,107 +0,0 @@
<?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;
}
}
@@ -1,107 +0,0 @@
<?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;
}
}
@@ -1,107 +0,0 @@
<?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;
}
}
+1 -1
View File
@@ -50,7 +50,7 @@ class AllowJoinDestNation extends Constraint{
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 = "유저장은 태수국에 임관할 수 없습니다.";
return false;
}
@@ -6,10 +6,9 @@ use \sammo\GameUnitConst;
use \sammo\DB;
use \sammo\KVStorage;
use \sammo\CityConst;
use sammo\Json;
class AvailableRecruitCrewType extends Constraint{
const REQ_VALUES = Constraint::REQ_GENERAL|Constraint::REQ_NATION|Constraint::REQ_INT_ARG;
const REQ_VALUES = Constraint::REQ_NATION|Constraint::REQ_INT_ARG;
public function checkInputValues(bool $throwExeception=true):bool{
if(!parent::checkInputValues($throwExeception) && !$throwExeception){
@@ -48,22 +47,13 @@ class AvailableRecruitCrewType extends Constraint{
$ownCities = [];
$ownRegions = [];
foreach($db->query('SELECT city, region, secu, level FROM city WHERE nation = %i', $nationID) as $ownCity){
$ownCityID = $ownCity['city'];
$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) ?? "{}");
foreach($db->queryFirstColumn('SELECT city FROM city WHERE nation = %i', $nationID) as $ownCity){
$ownCities[$ownCity] = 1;
$ownRegions[CityConst::byId($ownCity)->region] = 1;
}
$crewType = GameUnitConst::byID($this->arg);
if($crewType->isValid($this->generalObj, $ownCities, $ownRegions, $year - $startyear, $tech, $nationAux)){
if($crewType->isValid($ownCities, $ownRegions, $year - $startyear, $tech)){
return true;
}
+4 -12
View File
@@ -2,8 +2,6 @@
namespace sammo\Constraint;
use sammo\General;
abstract class Constraint
{
private function __construct()
@@ -26,8 +24,6 @@ abstract class Constraint
const REQ_VALUES = 0;
/** @var ?General */
protected $generalObj = null;
protected $general = null;
protected $city = null;
protected $nation = null;
@@ -37,8 +33,6 @@ abstract class Constraint
protected $cmd_arg = null;
/** @var ?General */
protected $destGeneralObj = null;
protected $destGeneral = null;
protected $destCity = null;
protected $destNation = null;
@@ -54,10 +48,9 @@ abstract class Constraint
return static::REQ_VALUES;
}
public function setGeneral(General $general)
public function setGeneral(array $general)
{
$this->generalObj = $general;
$this->general = $general->getRaw();
$this->general = $general;
$this->tested = false;
$this->reason = null;
}
@@ -92,10 +85,9 @@ abstract class Constraint
$this->reason = null;
}
public function setDestGeneral(General $general)
public function setDestGeneral(array $general)
{
$this->destGeneralObj = $general;
$this->destGeneral = $general->getRaw();
$this->destGeneral = $general;
$this->tested = false;
$this->reason = null;
}
-26
View File
@@ -1,26 +0,0 @@
<?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_화륜차사용';
}
@@ -1,47 +0,0 @@
<?php
namespace sammo\Event\Action;
use sammo\ActionLogger;
use sammo\CentennialAllStarGrowthService;
use sammo\DB;
use sammo\General;
use sammo\Json;
class AdvanceCentennialAllStar extends \sammo\Event\Action
{
public function run(array $env)
{
if (!CentennialAllStarGrowthService::isActive()) {
return [__CLASS__, 0];
}
$db = DB::db();
$updated = 0;
foreach ($db->query(
'SELECT general.no, select_pool.info
FROM general
JOIN select_pool ON select_pool.general_id = general.no'
) as $row) {
$general = General::createObjFromDB((int) $row['no']);
$targetInfo = Json::decode($row['info']);
$result = CentennialAllStarGrowthService::applyTarget($general, $targetInfo, $env);
if ($result['milestone'] > $result['previousMilestone']) {
$percent = $result['milestone'] * 20;
$general->getLogger()->pushGeneralActionLog(
"<L>올스타 동조율</>이 <C>{$percent}%</>에 도달했습니다!",
ActionLogger::PLAIN
);
$general->getLogger()->pushGeneralHistoryLog(
"<L>올스타 동조율 {$percent}% 달성</>"
);
}
if ($general->applyDB($db)) {
$updated++;
}
}
return [__CLASS__, $updated];
}
}
-17
View File
@@ -14,13 +14,6 @@ class ChangeCity extends \sammo\Event\Action{
'def'=>true,
'wall'=>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_MATH = '/^([\+\-\/\*])(\d+(\.\d+)?)$/'; //+30 [1]=기호, [2]=float
@@ -127,16 +120,6 @@ class ChangeCity extends \sammo\Event\Action{
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)){
$op = $matches[1];
$value = $matches[2];
-8
View File
@@ -94,11 +94,6 @@ class GameConstBase
/** @var int 최대 레벨 */
public static $maxLevel = 255;
/** @var int 기술등급 허용 증가 단위 년 */
public static $techLevelIncYear = 5;
/** @var int 초기 기술등급 */
public static $initialAllowedTechLevel = 1;
/** @var int 최소 인구 증가량 */
public static $basePopIncreaseAmount = 5000;
/** @var int 증축시 인구 증가량 */
@@ -114,9 +109,6 @@ class GameConstBase
/** @var int 징병 허용 최소 인구 */
public static $minAvailableRecruitPop = 30000;
/** @var int 점령 후 일반 도시 성벽 */
public static $defaultCityWall = 1000;
/** @var int 초기 제한시 장수 제한 */
public static $initialNationGenLimit = 10;
-26
View File
@@ -1,26 +0,0 @@
<?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 "군주 및 수뇌부만 가능";
}
}
@@ -1,51 +0,0 @@
<?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}성 소유시 가능";
}
}
@@ -1,39 +0,0 @@
<?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}개 이상 소유시 가능";
}
}
@@ -1,122 +0,0 @@
<?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} 일 때";
}
}
}
@@ -1,26 +0,0 @@
<?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 "군주 및 수뇌부는 불가";
}
}
+2 -34
View File
@@ -59,12 +59,7 @@ class GameUnitDetail implements iAction
$this->reqConstraints = [];
foreach($reqConstraints as $constraint){
$className = Util::getClassNameFromObj($constraint);
if(!key_exists($className, $this->reqConstraints)){
$this->reqConstraints[$className] = $constraint;
}
else{
$this->reqConstraints[] = $constraint;
}
$this->reqConstraints[$className] = $constraint;
}
$this->attackCoef = $attackCoef;
$this->defenceCoef = $defenceCoef;
@@ -80,33 +75,6 @@ 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
{
return join("\n<br>", $this->info);
@@ -221,7 +189,7 @@ class GameUnitDetail implements iAction
return $defaultWar;
}
public function isValid(General $general, $ownCities, $ownRegions, $relativeYear, $tech, $nationAux)
public function isValid(General $general, $ownCities, $ownRegions, $relativeYear, $tech, $nationAux = [])
{
//음수 없음
$relativeYear = max(0, $relativeYear);
+7 -13
View File
@@ -2084,7 +2084,7 @@ class GeneralAI
}
}
$finalCityID = array_key_first($cityScoreList);
$finalCityID = Util::array_first_key($cityScoreList);
$dist = $distanceList[$capital][$finalCityID];
$targetCityID = $finalCityID;
if ($dist > 1) {
@@ -2570,7 +2570,7 @@ class GeneralAI
$types = [];
foreach (GameUnitConst::byType($armType) as $crewtype) {
if ($crewtype->isValid($general, $cities, $regions, $relYear, $tech, $this->nation['aux'])) {
if ($crewtype->isValid($general, $cities, $regions, $relYear, $tech)) {
$score = $crewtype->pickScore($tech);
$types[$crewtype->id] = $score;
}
@@ -2584,10 +2584,10 @@ class GeneralAI
if ($this->generalPolicy->can고급병종) {
$currCrewType = $general->getCrewTypeObj();
if ($currCrewType->isValid($general, $cities, $regions, $relYear, $tech, $this->nation['aux'])) {
$reqTechObj = $currCrewType->reqConstraints['ReqTech'] ?? null;
if ($currCrewType->isValid($general, $cities, $regions, $relYear, $tech)) {
$reqTechObj = $currCrewType->reqConstraints['reqTech'] ?? null;
if($reqTechObj){
$reqTech = $reqTechObj->reqTech;
$reqTech = $reqTechObj->getValue($tech);
if ($reqTech >= 2000) {
$type = $currCrewType->id;
} else if ($currCrewType->armType != $armType && $reqTech >= 1000) {
@@ -3129,14 +3129,8 @@ class GeneralAI
$db = DB::db();
$dupLord = $db->queryFirstField('SELECT COUNT(*) FROM general WHERE officer_level = 12 AND city = %i', $this->general->getCityID());
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;
}
if($dupLord <= 1 && !in_array($this->general->getRawCity()['level'], [5, 6])) {
return null;
}
$general = $this->general;
-61
View File
@@ -1,61 +0,0 @@
<?php
namespace sammo\GeneralPool;
use sammo\AbsFromUserPool;
use sammo\CentennialAllStarGrowthService;
use sammo\Json;
use sammo\RandUtil;
class SPoolUnderU100 extends AbsFromUserPool
{
public function __construct(\MeekroDB $db, RandUtil $rng, array $info, string $validUntil)
{
$targetInfo = $info;
$initialInfo = $info;
foreach ([
'leadership',
'strength',
'intel',
'experience',
'dedication',
'dex',
'specialDomestic',
'specialWar',
] as $targetKey) {
unset($initialInfo[$targetKey]);
}
parent::__construct($db, $rng, $initialInfo, $validUntil);
$this->info = $targetInfo;
CentennialAllStarGrowthService::attachInitialTarget($this->builder, $targetInfo);
}
public static function getPoolName(): string
{
return '100기 올스타 클래식';
}
public static function initPool(\MeekroDB $db)
{
// 현재 ref 저장소에 보존된 공식 클래식 명장 자료는 1~29기 자료다.
// 풀 형식과 event100Unique는 이후 30~99기 자료를 같은 형태로 합칠 수 있다.
$jsonData = Json::decode(file_get_contents(__DIR__ . '/Pool/UnderS30.json'));
$columns = $jsonData['columns'];
$sqlValues = [];
foreach ($jsonData['data'] as $idx => $rawItem) {
if (count($rawItem) !== count($columns)) {
throw new \RuntimeException(($rawItem[0] ?? (string) $idx) . ' Error');
}
$item = array_combine($columns, $rawItem);
$uniqueName = sprintf('A100%04d', $idx + 1);
$item['uniqueName'] = $uniqueName;
$item['event100Growth'] = true;
$sqlValues[] = [
'unique_name' => $uniqueName,
'info' => Json::encode($item),
];
}
$db->insert('select_pool', $sqlValues);
}
}
+2 -10
View File
@@ -334,19 +334,11 @@ class InheritancePointManager
$inheritStor->setValue($key, [$point, $aux]);
}
$db = DB::db();
$oldInheritStor = KVStorage::getStorage(DB::db(), "inheritance_result");
$serverID = UniqueConst::$serverID;
$year = $gameStor->year;
$month = $gameStor->month;
$db->insert('inheritance_result', [
'server_id'=>$serverID,
'owner'=>$ownerID,
'general_id'=>$general->getID(),
'year'=>$year,
'month'=>$month,
'value'=>Json::encode($inheritStor->getAll(true))
]);
$oldInheritStor->setValue("{$serverID}_{$ownerID}_{$general->getID()}_{$year}_{$month}", $inheritStor->getAll(true));
}
+1 -1
View File
@@ -62,7 +62,7 @@ abstract class TriggerCaller{
return $this;
}
$lastKey = array_key_last($this->triggerListByPriority);
$lastKey = Util::array_last_key($this->triggerListByPriority);
if($lastKey < $priority){
$this->triggerListByPriority[$priority] = [$uniqueID=>$trigger];
return $this;
+8 -1
View File
@@ -422,7 +422,7 @@ class TurnExecutionHelper
$date = TimeUtil::now(true);
// 최종 처리 월턴의 다음 월턴시간 구함
//$lastExecuted = $gameStor->turntime;
$lastExecuted = $gameStor->turntime;
$prevTurn = cutTurn($gameStor->turntime, $gameStor->turnterm);
$nextTurn = addTurn($prevTurn, $gameStor->turnterm);
@@ -455,6 +455,9 @@ class TurnExecutionHelper
$gameStor->turntime = $currentTurn;
}
unlock();
if($lastExecuted !== $currentTurn){
$executed = true;
}
return $gameStor->turntime;
}
@@ -513,6 +516,10 @@ class TurnExecutionHelper
$gameStor->resetCache();
unlock();
if($lastExecuted !== $currentTurn){
$executed = true;
}
return $turntime;
}
}
-974
View File
@@ -1,974 +0,0 @@
{
"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"]
]
]
}
+1 -1
View File
@@ -31,7 +31,7 @@
["여포", "#A9A9A9", 100000, 100000, "조조의 본거지를 빼앗은 당대 최고의 맹장 여포", 1000, "병가", 2, [
"복양"
]],
["손", "#FF0000", 100000, 100000, "손견의 뒤를 이은 소패왕 손책", 1000, "병가", 2, [
["손", "#FF0000", 100000, 100000, "손견의 뒤를 이은 소패왕 손책", 1000, "병가", 2, [
"여강"
]],
["공손찬", "#FF00FF", 100000, 100000, "북평 태수 공손찬", 1000, "병가", 3, [
-766
View File
@@ -1,766 +0,0 @@
{
"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"]
]
]
}
-764
View File
@@ -1,764 +0,0 @@
{
"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"]
]
]
}
+3 -3
View File
@@ -1,9 +1,9 @@
{
"title": "【가상모드28】 강서유서 월드",
"title": "【가상모드28】 강서유서 소설 월드",
"startYear": 180,
"history": [
"<C>●</>180년 1월:<L><b>【가상모드28】</b>강서유서 월드</>",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>강서유서의 세계 속 캐릭터들이 날뛰는곳"
"<C>●</>180년 1월:<L><b>【가상모드28】</b>강서유서 소설 월드</>",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>강서유서의 소설 캐릭터들이 날뛰는곳"
],
"stat": {
"total": 210,
+69 -71
View File
@@ -1,9 +1,9 @@
{
"title": "【가상모드28-b】 강서유서 월드(비세력)",
"title": "【가상모드28-b】 강서유서 소설 월드(비세력)",
"startYear": 180,
"history": [
"<C>●</>180년 1월:<L><b>【가상모드28】</b>강서유서 월드</>",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>강서유서의 세계 속 캐릭터들이 날뛰는곳"
"<C>●</>180년 1월:<L><b>【가상모드28】</b>강서유서 소설 월드</>",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>강서유서의 소설 캐릭터들이 날뛰는곳"
],
"stat": {
"total": 210,
@@ -18,10 +18,10 @@
"general":[
[1, "키타노 유키코", null, 0, null, 95, 31, 95, 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, 77, 93, 72, 0, 160, 300, "의협", "저격", "모두와 함께 그녀를 지키며 혁명을!"],
[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, 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, 86, 79, 55, 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, "저격"],
[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, 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, 64, 88, 72, 0, 160, 300, null, 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, 64, 88, 72, 0, 160, 300, null, 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, 71, 95, 64, 0, 160, 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],
@@ -41,13 +41,13 @@
[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, 89, 80, 67, 0, 160, 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, 64, 88, 80, 0, 115, 300, null, 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, 73, 70, 55, 0, 160, 300, null, null, "우리들은 디지털 월드와 현실세계를 잇는 아이들"],
[0, "리아", null, 0, null, 99, 34, 100, 0, 132, 300, 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, 64, 88, 80, 0, 115, 300, null, 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, 73, 70, 55, 0, 160, 300, null, null],
[999, "리아", 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, 84, 97, 92, 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, 54, 80, 12, 0, 149, 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, 80, 55, 78, 0, 160, 300, null, null],
[0, "이시다 야마토", null, 0, null, 72, 77, 60, 0, 153, 300, null, null],
@@ -70,15 +70,14 @@
[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, 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, 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, 86, 31, 88, 0, 160, 300, 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, 85, 44, 92, 0, 160, 300, 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, 85, 92, 78, 0, 160, 300, null, "무쌍"],
@@ -97,7 +96,7 @@
[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, 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, 66, 54, 39, 0, 160, 300, null, null],
[0, "카케이 쿄코", null, 0, null, 77, 55, 81, 0, 160, 300, null, null],
@@ -110,20 +109,20 @@
[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, 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, 91, 92, 99, 0, 160, 300, "패권", "위압", "뒷면이 나오면…이 게임을 받아들이기로…!"],
[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, 78, 33, 78, 0, 160, 300, null, null, "나도 널 좋아해 히로키…."],
[0, "스기무라 히로키", null, 0, null, 67, 90, 45, 0, 160, 300, "유지", 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, 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, 72, 74, 56, 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, 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, 84, 56, 66, 0, 160, 300, null, null],
[1, "아오조야 하나코", null, 0, null, 89, 66, 94, 0, 160, 300, null, null],
@@ -132,7 +131,7 @@
[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, 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, 85, 63, 88, 0, 160, 300, null, null, "난 국민의 편이오. 아버지의 죄는 용서받을 수 없다는 걸 알고 있소. 권좌에서… 내려오셔야 한다는 것도."],
[10, "호러스 워필드", null, 0, null, 95, 83, 82, 0, 160, 300, "대의", "인덕", "캐리건... 잘 들어라. 지금 왕복선 3엔 부상병들만 타고 있다. 다들 누군가의... 남편이자, 아버지야. 들은 그냥 보내다오. 알겠나? 독한 것. 넌 인간도 아니야. 넌 우릴 배신했어. 뭣 때문에? 그깟 복수 때문에?\n무고한 사람들을 얼마나 죽인 거야? 또 얼마나 더 죽일 셈이야?\n레이너가 널 보면 뭐라고 할까?"],
@@ -149,11 +148,11 @@
[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, 61, 85, 40, 0, 160, 300, null, null],
[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, 99, 88, 72, 0, 160, 300, "대의", "돌격", "피닉스! 안돼!!"],
[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, 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, 81, 93, 44, 0, 160, 300, null, null],
[0, "케이트 록웰", null, 0, null, 43, 10, 78, 0, 160, 300, null, null],
@@ -162,7 +161,7 @@
[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, 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, "케리건님이 죽다니…근데 왜 내가 그 중임을 이어받아야 하는거야?"],
[0, "에레니카", null, 0, null, 78, 38, 91, 0, 160, 300, null, null, "곧있으면 위하신 아몬님이 완전히 부활할거야 드랄리스카 언니 후후후…."],
[0, "세페니아", null, 0, null, 75, 81, 51, 0, 160, 300, null, null, "에레니카 언니 뭔가 이상해"],
@@ -171,24 +170,24 @@
[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, 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, 95, 55, 99, 0, 160, 300, null, null, "일어나라, 내 아이야, 일어나 네 생득의 영광을 보듬어라.\n나는 초월체, 군단의 영원한 의지이며 넌 날 섬기기 위해 창조되었다.\n군락을 섬겨라. 나는 리듬을 지배한다. 군락을 섬겨라. 나는 리듬을 지배한다. 군락을 섬겨라.난 너의 행동을 지배한다. 내 리듬이 어떠한가, 다고스?"],
[0, "초월체", null, 0, null, 95, 55, 99, 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, 80, 55, 69, 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, "다시는 나를 볼 수 없을 거요, 헬레나.\n아이들에게 사랑한다고 전해 주시오. 아버지가 너희들의 미래를 지키다가 죽었다고도 말해 주시오.\n그럼, 안녕히...(Au revoir)."],
[0, "맘스틴 령", null, 0, null, 80, 51, 66, 0, 160, 300, null, null],
[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, 85, 90, 82, 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, 80, 51, 77, 0, 160, 300, null, null, "집행관, 태사다르, 소식이 늦어서 미안하군. 대의회는 그대들이 정신체를 쓰러뜨리는 것을 지켜보았소. 그리고, 그 용감한 행위가 헛되지 않았음을 깨달았지. 그대들을 심판하려 했으나, 그릇된 생각을 한 것은 우리였소. 그대들은 우리의 내면에 존재하는 위대함의 상징이니, 우리 모두의 희망을 걸겠소. 엔 타로 아둔! 용감한 아이어의 후예들이여!"],
[0, "제라드 듀갈", null, 0, null, 87, 51, 80, 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, 66, 31, 90, 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, "피닉스", 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, 84, 66, 80, 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, 80, 71, 84, 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, 80, 80, 67, 0, 160, 300, null, null],
[0, "보라준", null, 0, null, 87, 51, 91, 0, 160, 300, null, null],
@@ -196,7 +195,7 @@
[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, 75, 90, 55, 0, 160, 300, null, null],
[0, "아리샤", null, 0, null, 51, 81, 50, 0, 160, 300, null, null],
[0, "아리샤", null, 0, null, 51, 81, 50, 0, 160, 300, null, null, "난 XX부르드의 울트라 표 아리샤다!"],
[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, 80, 79, 55, 0, 160, 300, null, null],
@@ -207,14 +206,14 @@
[0, "유당찬", null, 0, null, 83, 69, 55, 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, 55, 78, 64, 0, 160, 300, null, null, "나는 레플리카, 적의 기술을 베껴서 사용 가능하지."],
[0, "유혜선", null, 0, null, 78, 89, 55, 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, 85, 71, 66, 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, 65, 80, 52, 0, 160, 300, null, null, "…. 이번에야말로…"],
[0, "스노우 슬러스", null, 0, null, 69, 75, 53, 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, 79, 70, 65, 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, "룰러가 그랫어 마법소녀는 본모습을 남에게 보여주면 안된다고"],
@@ -222,22 +221,22 @@
[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, 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, 44, 40, 55, 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, 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, 75, 69, 71, 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, 32, 8, 69, 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, 33, 15, 90, 0, 160, 300, null, null],
[0, "프흐레", null, 0, null, 69, 24, 100, 0, 160, 300, null, null, "마법나라'원하는 마법소녀다운 마법소녀란 건 말이지. 여차할 때 주저없이 자기 ​​자신을 희생할 수 있는 성인이야. 제대로 돼먹은 정신머리로는 못 해먹을 짓거리지."],
[0, "크로노스 신", null, 0, null, 50, 15, 90, 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, 51, 63, 44, 0, 160, 300, null, null],
[0, "카와다 소교", null, 0, null, 49, 70, 85, 0, 160, 300, null, null],
@@ -247,12 +246,12 @@
[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, 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, 73, 91, 80, 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, 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, 74, 63, 41, 0, 160, 300, null, null, "목을 쳐라!!"],
[0, "루다", null, 0, null, 62, 66, 62, 0, 160, 300, null, null, "널 좋아해 미우."],
@@ -273,7 +272,7 @@
[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, 59, 68, 33, 0, 160, 300, null, null],
[0, "타카이시 타케루", null, 0, null, 80, 92, 65, 0, 160, 300, null, null],
[0, "타카이시 타케루", null, 0, null, 80, 92, 65, 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, 85, 51, 71, 0, 160, 300, null, null, "이 나라가 왜이리 망가져 버린걸까"],
@@ -281,7 +280,7 @@
[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, 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, 55, 64, 88, 0, 160, 300, null, null, "아니 나를 별명으로 부르지 말라고!"],
[0, "도미니크 헥터", null, 0, null, 57, 69, 41, 0, 160, 300, null, null],
@@ -297,7 +296,7 @@
[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, 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, 86, 85, 41, 0, 160, 300, null, null, "살려달라고 외치면 그 누구든 구할거야, 설사 적이라 할지라도"],
[0, "니얀다 카렌", null, 0, null, 73, 88, 60, 0, 160, 300, null, null],
@@ -319,9 +318,9 @@
[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, 84, 72, 80, 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, 67, 81, 55, 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, 67, 81, 55, 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, 92, 55, 91, 0, 160, 300, null, null],
@@ -334,12 +333,12 @@
[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, 43, 63, 77, 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, 43, 10, 88, 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, 43, 10, 88, 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, 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, 73, 89, 53, 0, 160, 300, null, null, "난 스윔스윔, 잘부탁해"],
[0, "사카나기 이즈카", null, 0, null, 77, 82, 60, 0, 160, 300, null, null, "난 사야코야"],
@@ -360,8 +359,8 @@
[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, 56, 69, 40, 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, 82, 77, 90, 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, 63, 55, 89, 0, 160, 300, null, null],
[0, "이소긴&야도간", null, 0, null, 58, 77, 39, 0, 160, 300, null, null],
@@ -378,8 +377,7 @@
[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, 86, 83, 77, 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]
[0, "큐어 릴리안", null, 0, null, 87, 82, 80, 0, 160, 300, null, null]
],
"general_ex":[
-182
View File
@@ -1,182 +0,0 @@
{
"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"]
]
]
}
-211
View File
@@ -1,211 +0,0 @@
{
"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"]
]
]
}
-92
View File
@@ -1,92 +0,0 @@
{
"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
}]
]
]
}
-46
View File
@@ -1,46 +0,0 @@
{
"title": "【공백지】 100기 올스타 클래식",
"startYear": 180,
"map": {
"mapName": "miniche",
"targetGeneralPool": "SPoolUnderU100",
"generalPoolAllowOption": ["stat", "ego", "picture"]
},
"history": [
"<C>●</>180년 1월:<L><b>【100기 이벤트】</b></> 역대 장수들이 평범한 능력으로 다시 모여, 지난 전성기의 힘과 서서히 동조하기 시작했다!"
],
"const": {
"npcBanMessageProb": 1
},
"events": [
[
"month", 8000,
true,
["AdvanceCentennialAllStar"]
],
[
"month", 1000,
["Date", "==", null, 12],
["CreateManyNPC", 100, 0],
["DeleteEvent"]
],
[
"month", 1000,
["Date", "==", 181, 12],
["ChangeCity", "occupied", {
"pop": "+60000",
"agri": "+1200",
"comm": "+1200"
}]
],
[
"destroy_nation", 1000,
["and",
["Date", ">=", 183, 1],
["RemainNation", "==", 1]
],
["BlockScoutAction"],
["DeleteEvent"]
]
]
}
-451
View File
@@ -1,451 +0,0 @@
<?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
]
];
}
}
+23
View File
@@ -31,6 +31,29 @@
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 {
font-size: 0.75em;
}
-14
View File
@@ -583,20 +583,6 @@ CREATE TABLE IF NOT EXISTS `nation_env` (
UNIQUE INDEX `key` (`namespace`, `key`),
CONSTRAINT `json` CHECK (json_valid(`value`))
) 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
;
##############################
##
+1 -1
View File
@@ -510,7 +510,7 @@ async function reloadCommandList() {
const turnTime = parseTime(result.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);
reservedCommandList.value = [];
+3 -3
View File
@@ -1,6 +1,6 @@
import type { AutoLoginFailed, AutoLoginNonceResponse, AutoLoginResponse, LoginFailed, LoginResponse } from "./defs/API/Login";
import { APIPathGen } from "./util/APIPathGen";
import { callSammoAPI, extractHttpMethod, POST, type APICallT, type APITail, type InvalidResponse, type RawArgType, type ValidResponse } from "./util/callSammoAPI";
import { callSammoAPI, extractHttpMethod, GET, POST, type APICallT, type APITail, type InvalidResponse, type RawArgType, type ValidResponse } from "./util/callSammoAPI";
export type { ValidResponse, InvalidResponse };
const apiRealPath = {
@@ -18,7 +18,7 @@ const apiRealPath = {
hashedToken: string,
token_id: number,
}, AutoLoginResponse, AutoLoginFailed>,
ReqNonce: POST as APICallT<undefined, AutoLoginNonceResponse, AutoLoginFailed>
ReqNonce: GET as APICallT<undefined, AutoLoginNonceResponse, AutoLoginFailed>
},
} as const;
@@ -30,4 +30,4 @@ export const SammoRootAPI = APIPathGen(apiRealPath, (path: string[], tail: APITa
}
return callSammoAPI(method, path.join('/'), args, pathParam);
};
});
});
+1 -1
View File
@@ -509,7 +509,7 @@ function updateCommandList() {
const turnTime = parseTime(props.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);
for (const obj of props.turn) {
+1 -28
View File
@@ -205,10 +205,7 @@ defineExpose({
});
</script>
<style scoped lang="scss">
@import "@scss/common/variables.scss";
@import "@scss/common/bootswatch_custom_variables.scss";
<style scoped>
.commandItem {
border: gray 1px solid;
border-radius: 0.5em;
@@ -222,28 +219,4 @@ defineExpose({
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>
+3 -5
View File
@@ -170,7 +170,7 @@ import { joinYearMonth } from "@/util/joinYearMonth";
import { parseYearMonth } from "@/util/parseYearMonth";
import type { GameConstStore } from "@/GameConstStore";
import { unwrap_err } from "@/util/unwrap_err";
import { getMaxRelativeTechLevel } from "@/utilGame/techLevel";
import { getMaxRelativeTechLevel, TECH_LEVEL_YEAR_GAP } from "@/utilGame/techLevel";
import { deviceType } from "detect-it";
import MapCityBasic from "./MapCityBasic.vue";
import MapCityDetail from "./MapCityDetail.vue";
@@ -289,14 +289,12 @@ const titleTooltip = computed(()=>{
const { startYear, year } = mapData.value;
const maxTechLevel = gameConstStore.value.gameConst.maxTechLevel;
const initialAllowedTechLevel = gameConstStore.value.gameConst.initialAllowedTechLevel;
const techLevelIncYear = gameConstStore.value.gameConst.techLevelIncYear;
const currentTechLimit = getMaxRelativeTechLevel(startYear, year, maxTechLevel, initialAllowedTechLevel, techLevelIncYear);
const currentTechLimit = getMaxRelativeTechLevel(startYear, year, maxTechLevel);
if (currentTechLimit == maxTechLevel) {
result.push(`기술등급 제한 : ${currentTechLimit}등급 (최종)`);
} else {
const nextTechLimitYear = currentTechLimit * techLevelIncYear + startYear;
const nextTechLimitYear = currentTechLimit * TECH_LEVEL_YEAR_GAP + startYear;
result.push(`기술등급 제한 : ${currentTechLimit}등급 (${nextTechLimitYear}년 해제)`);
}
+2 -5
View File
@@ -124,12 +124,9 @@ watch(
(nation) => {
const { startyear, year } = global.value;
console.log(gameConstStore);
const initialAllowedTechLevel = gameConstStore.value.gameConst.initialAllowedTechLevel;
const techLevelIncYear = gameConstStore.value.gameConst.techLevelIncYear;
maxTechLevel.value = getMaxRelativeTechLevel(startyear, year, gameConstStore.value.gameConst.maxTechLevel, initialAllowedTechLevel, techLevelIncYear);
maxTechLevel.value = getMaxRelativeTechLevel(startyear, year, gameConstStore.value.gameConst.maxTechLevel);
currentTechLevel.value = convTechLevel(nation.tech, maxTechLevel.value);
onTechLimit.value = isTechLimited(startyear, year, nation.tech, gameConstStore.value.gameConst.maxTechLevel, initialAllowedTechLevel, techLevelIncYear);
onTechLimit.value = isTechLimited(startyear, year, nation.tech, gameConstStore.value.gameConst.maxTechLevel);
},
{ immediate: true }
);
-3
View File
@@ -57,9 +57,6 @@ export type GameConstType = {
maxTechLevel: number;
maxBetrayCnt: number;
techLevelIncYear: number;
initialAllowedTechLevel: number;
basePopIncreaseAmount: number;
expandCityPopIncreaseAmount: number;
expandCityDevelIncreaseAmount: number;
+55 -70
View File
@@ -37,16 +37,14 @@ function regNextToken(tokenInfo: [number, string]) {
function getToken(): [number, string] | undefined {
const trialToken = localStorage.getItem(LOGIN_TOKEN_KEY);
if (!trialToken) {
console.log('no token');
return;
}
const tokenItems = JSON.parse(trialToken) as [number, [number, string], number];
const tokenItems = JSON.parse(trialToken) as [number, [number, string], string];
if (tokenItems[0] != TOKEN_VERSION) {
console.log(tokenItems);
resetToken();
return;
}
console.debug(localStorage.getItem(LOGIN_TOKEN_KEY));
const [, token,] = tokenItems;
return token;
}
@@ -55,73 +53,60 @@ function resetToken() {
localStorage.removeItem(LOGIN_TOKEN_KEY);
}
async function tryAutoLogin() {
try {
const tokenInfo = getToken();
if (!tokenInfo) {
return;
}
const [tokenID, token] = tokenInfo;
for (let attempt = 0; attempt < 2; attempt++) {
const reqNonceStartAt = Date.now();
const nonceResult = await SammoRootAPI.Login.ReqNonce(undefined, true);
if (!nonceResult) {
//api 에러.
return;
}
if (!nonceResult.result) {
resetToken();
return;
}
const nonce = nonceResult.loginNonce;
console.debug(
'try auto login with token',
tokenID,
`attempt:${attempt + 1}`,
`reqNonceElapsed:${Date.now() - reqNonceStartAt}ms`
);
const hashedToken = sha512(token + nonce);
const loginResult = await SammoRootAPI.Login.LoginByToken({
'hashedToken': hashedToken,
'token_id': tokenID,
}, true);
if (!loginResult.result) {
if (loginResult.reason === '자동 로그인: 절차 오류' && attempt === 0) {
console.warn('auto login failed by procedure error. retrying once.');
await delay(150);
continue;
}
if (!loginResult.silent) {
alert(loginResult.reason);
}
console.error(loginResult.reason);
return;
}
if (loginResult.nextToken) {
regNextToken(loginResult.nextToken);
}
window.location.href = "./";
return;
}
}
catch (e) {
if (isString(e)) {
alert(e);
}
console.error(e);
return;
}
}
async function tryAutoLogin() {
try {
const tokenInfo = getToken();
if (!tokenInfo) {
return;
}
const [tokenID, token] = tokenInfo;
const result = await SammoRootAPI.Login.ReqNonce(undefined, true);
if (!result) {
//api 에러.
return;
}
if (!result.result) {
resetToken();
return;
}
const nonce = result.loginNonce;
const hashedToken = sha512(token + nonce);
const loginResult = await SammoRootAPI.Login.LoginByToken({
'hashedToken': hashedToken,
'token_id': tokenID,
}, true);
if (!loginResult.result) {
if (!loginResult.silent) {
alert(loginResult.reason);
}
console.error(loginResult.reason);
return;
}
if (loginResult.nextToken) {
regNextToken(loginResult.nextToken);
}
window.location.href = "./";
}
catch (e) {
if (isString(e)) {
alert(e);
}
console.error(e);
return;
}
}
function getOAuthToken(mode: string, scope_list?: string[] | string) {
if (mode === undefined) {
mode = 'login';
+14 -24
View File
@@ -10,7 +10,7 @@ import { unwrap } from '@util/unwrap';
import { TemplateEngine } from '@util/TemplateEngine';
import { Tooltip } from 'bootstrap';
import { trim } from 'lodash-es';
type CardItem = {
type CardItem = {
uniqueName: string,
imgsvr: 0|1,
@@ -26,14 +26,9 @@ type CardItem = {
specialWarInfo?: string,
specialWarText?: string,
personal?: string,
personalText?: string,
event100Growth?: boolean,
leadership?: number,
strength?: number,
intel?: number,
dex?: number[],
}
personal?: string,
personalText?: string,
}
type GeneralPoolResponse = {
result: true,
@@ -47,10 +42,9 @@ declare let currentGeneralInfo: CardItem | undefined;
declare const cards: Record<string, CardItem>;
declare const validCustomOption: string[];
const templateGeneralCard = '<div class="general_card">\
<h4 class="bg1 with_border"><%generalName%></h4>\
<h4><img src="<%iconPath%>" height=64 width=64></h4><p>\
<%if(event100Growth){%><b>195 </b><br><%}%>\
const templateGeneralCard = '<div class="general_card">\
<h4 class="bg1 with_border"><%generalName%></h4>\
<h4><img src="<%iconPath%>" height=64 width=64></h4><p>\
<%if(leadership){%>\
<%leadership%> / <%strength%> / <%intel%><br>\
<%}%>\
@@ -143,16 +137,12 @@ async function buildGeneral(e: JQuery.Event) {
method: 'post',
responseType: 'json',
data: convertFormData({
pick: unwrap(currentGeneralInfo).uniqueName,
use_own_picture: $('#use_own_picture').is(':checked'),
leadership: parseInt(unwrap_any<string>($('#leadership').val())),
strength: parseInt(unwrap_any<string>(
$(unwrap(currentGeneralInfo).event100Growth ? '#strength' : '#leadership').val()
)),
intel: parseInt(unwrap_any<string>(
$(unwrap(currentGeneralInfo).event100Growth ? '#intel' : '#leadership').val()
)),
personal: unwrap_any<string>($('#selChar').val())
pick: unwrap(currentGeneralInfo).uniqueName,
use_own_picture: $('#use_own_picture').is(':checked'),
leadership: parseInt(unwrap_any<string>($('#leadership').val())),
strength: parseInt(unwrap_any<string>($('#leadership').val())),
intel: parseInt(unwrap_any<string>($('#leadership').val())),
personal: unwrap_any<string>($('#selChar').val())
})
})
result = response.data;
@@ -297,4 +287,4 @@ $(async function ($) {
$('.custom_stat').show();
}
}
});
});

Some files were not shown because too many files have changed in this diff Show More