Compare commits

...
116 Commits
Author SHA1 Message Date
Hide_D ccbef236d3 업데이트 기능 추가 2018-06-19 02:11:17 +09:00
Hide_D d7b9e8b2e0 투표 동작 방식 변경 2018-06-19 01:49:16 +09:00
Hide_D deaf77d3d0 Merge branch 'devel' of ssh://storage.hided.net:2525/devsam/core into devel 2018-06-19 01:42:46 +09:00
Hide_D 5c738f97ed 투표 권한 추가 2018-06-19 01:42:40 +09:00
Hide_D c9f7f7ab08 공지 수정 불가능한 버그 수정 2018-06-18 10:11:56 +09:00
Hide_D 746977d5d0 서버 열단, 리셋 부분 권한 추가 2018-06-18 03:21:52 +09:00
Hide_D acb09bfe71 시나리오 생성시 잘못된 도시를 입력한 경우에도 정상 빌드되도록 수정 2018-06-18 02:23:30 +09:00
Hide_D e2a1203b43 시나리오 두개 수정 2018-06-18 02:01:45 +09:00
Hide_D 124036cea6 npc 생성시 전콘이 있는지 확인하는 코드 추가. 걸그룹 대전 변경 2018-06-16 11:01:12 +09:00
Hide_D 2ac1d82826 buildScoutMessage에서 null 반환 가능하던 문제 수정 2018-06-16 00:42:48 +09:00
Hide_D fa4e0c1948 이미지 주소 기반 자동 NPC 전콘 설정 기능 추가. 루드라사움 추가 2018-06-15 03:32:37 +09:00
Hide_D 735427ead0 기본 iconPath 설정 2018-06-15 02:18:44 +09:00
Hide_D 4fa99a7e1b 변환 코드를 v3에 맞게 변경 2018-06-15 02:17:07 +09:00
Hide_D 2f963a205a 등용장 안 받아지는 버그 수정 2018-06-14 02:41:36 +09:00
Hide_D 1f03f7e7c3 빙의 모드에서 장수 칸 여유있게 2018-06-14 02:00:09 +09:00
Hide_D 31689fb6ba processCommand에 affinity 없는 버그 수정, 등용장 못받는 버그 수정 2018-06-14 01:57:28 +09:00
Hide_D cf7ebbd314 Merge branch 'devel' of ssh://storage.hided.net:2525/devsam/core into devel 2018-06-14 01:49:22 +09:00
Hide_D 40a953aed5 storage의 isunited 변수 문제 2018-06-14 01:49:15 +09:00
revofpla c4d999ada7 가상시나리오 16(애니집결) 추가 2018-06-13 17:46:34 +09:00
Hide_D fff6b4e155 개전시 조사 버그 2018-06-13 10:20:48 +09:00
Hide_D 380e08d89f 랜임시 장수수를 셀 때 유저장, 빙의장, n장만 카운트하도록 변경 2018-06-13 04:17:18 +09:00
Hide_D 96c8199092 거병 확률 최종 수정 2018-06-13 03:50:51 +09:00
Hide_D 54870cf067 거병 확률 재 수정 2018-06-13 03:29:09 +09:00
Hide_D 8654447aac 추방 기준을 3년 이내로 재 변경 2018-06-13 03:28:11 +09:00
Hide_D 28a690cbba 추방 후 임관 확률 재 조정 2018-06-13 03:27:08 +09:00
Hide_D 52d1a48c0b 거병 확률 변경. NPC 임관 확률 추가 변경 2018-06-13 03:21:55 +09:00
Hide_D f45333db5e 임관 속도 조정 2018-06-13 03:06:30 +09:00
Hide_D c920e45934 임관 시도 확률 변경, NPC 랜임시 부상 패널티 약화 2018-06-13 02:51:39 +09:00
Hide_D dd86ef4591 걸그룹 시나리오 수정, NPC 임관 확률 대폭 감소 2018-06-13 02:45:00 +09:00
Hide_D b9fb00f042 npc 거병 확률 수정 2018-06-13 02:29:37 +09:00
Hide_D 355d9fd995 거병 확률 계수 변경 2018-06-13 02:24:52 +09:00
Hide_D b68c13c4f2 임관시 $general['nations'] 를 Json Array로 변경 2018-06-13 02:21:31 +09:00
Hide_D f2803291ab 일부 브라우저에서 명령창 줄 넘어감 방지 2018-06-13 00:53:31 +09:00
Hide_D 54df034c77 Merge branch 'devel' of ssh://storage.hided.net:2525/devsam/core into devel 2018-06-12 22:28:10 +09:00
Hide_D 7317b8bc18 JosaUtil 응급 대응 2018-06-12 13:05:22 +09:00
Hide_D 2f030a6dd6 NPC 임관 로직 변경 2018-06-12 02:47:33 +09:00
Hide_D ef0dec32ee 임관 제한을 하드코딩 10에서 Const로 전환 2018-06-12 01:32:34 +09:00
Hide_D e7f5850c31 Session 클래스 구조 살짝 수정. 호출 구조 살짝 수정.
환상향 시나리오 전콘 반영(임시)
2018-06-11 22:55:32 +09:00
Hide_D d1d81e03d1 makenation 텍스트에 null이 들어가는경우(??)에도 우회 동작.
변환 스크립트에서 숫자 장수명 대응
2018-06-11 20:27:55 +09:00
Hide_D c65d6565df checkSupply를 검출하기 쉬도록 변경 2018-06-11 03:20:18 +09:00
Hide_D a2d40ecf4a 재야가 아닌 NPC 시나리오 생성시 버그 수정 2018-06-11 03:19:47 +09:00
Hide_D 7291c828c0 isGameLoggedIn 추가 2018-06-11 02:16:07 +09:00
revofpla 01caa625bd 환상향 시나리오 및 소울소드(8글자 신규) 업데이트 2018-06-10 16:55:34 +09:00
Hide_D 6cad6f45fe 전투 로그 숫자를 최악의 조건에도 표현 가능하도록 수정 2018-06-04 03:05:30 +09:00
Hide_D a6936ac8d7 연감 표기 수정 2018-06-04 02:28:33 +09:00
Hide_D eb9ae00d24 명예의 전당 글자수 반영 2018-06-04 01:52:33 +09:00
Hide_D b8c8321757 명장일람 글자 반영 2018-06-04 01:51:10 +09:00
Hide_D 41235bed5d 닉네임 길이 9자 2018-06-04 01:11:02 +09:00
Hide_D 7367eb1c45 메시지 시스템에 9자 닉네임 적용 2018-06-04 01:03:05 +09:00
Hide_D f9d90c38ef 전투 로그 길이 축소 2018-06-01 03:11:46 +09:00
Hide_D 275d9b1c25 한자 케이스 우회 2018-06-01 03:01:06 +09:00
Hide_D 663c24b31f 나머지 조사 변경 2018-06-01 02:49:21 +09:00
Hide_D beb501354d (이)가 조사 적용 2018-06-01 02:37:32 +09:00
Hide_D ba165239c3 (으)로 조사 반영 2018-06-01 01:59:19 +09:00
Hide_D e64ef5de84 (을)를 에 조사 적용 2018-06-01 01:43:40 +09:00
Hide_D c6bbbe081d 조사 유틸 한자 포함 2018-06-01 00:34:33 +09:00
Hide_D 66dcefc844 JosaUtil 버그 수정. 알파벳+숫자 형태 수정 2018-05-31 23:58:49 +09:00
Hide_D 93d580e74e 조사 처리 클래스 추가 2018-05-31 02:50:58 +09:00
Hide_D 9eb35b55c6 설문조사 너비 반영 2018-05-31 02:49:48 +09:00
Hide_D d2e052dfa3 회의실, 기밀실 너비 수정 2018-05-31 01:20:26 +09:00
Hide_D ddd889c42c 중원정보 너비 수정 2018-05-31 00:59:27 +09:00
Hide_D 70da3909a9 cacheValue 버그 수정 2018-05-31 00:52:43 +09:00
Hide_D c398b55f3c 턴 밀림 버그 수정 2018-05-31 00:46:40 +09:00
Hide_D 317c42b384 장수명을 9글자까지 반영할 수 있도록 수정하고. 레이아웃 틀어지지 않도록 수정 진행중 2018-05-30 02:47:33 +09:00
revofpla a95903ceff 소울소드 시나리오(가상14번) 추가 2018-05-29 14:40:49 +09:00
Hide_D 98c386622a 버그 수정 2018-05-29 01:50:50 +09:00
Hide_D 398f54cced 군주가 지정되지 않더라도 안전하게 동작 2018-05-29 01:49:06 +09:00
Hide_D c337ff2f67 변환 스크립트 동작 변경, 환상향 시나리오 적용 2018-05-29 01:28:03 +09:00
Hide_D d9f6f7956e 시나리오 json 파일에서 받아오는 규격 확장
국가를 'string'으로 표기 가능하도록 변경
전콘 번호를 'string'으로 표기 가능하도록 변경
2018-05-28 23:08:59 +09:00
revofpla 30e2432fc3 걸그룹대전 스텟 변경 2018-05-28 18:50:02 +09:00
Hide_D 8238f27dfa 환상향 스탯 2018-05-26 22:32:46 +09:00
Hide_D b00d8f2ebd 하드리셋 버그 수정 2018-05-26 17:51:46 +09:00
Hide_D 98168c61b3 서버 2개 추가. 냐. 퍄. 2018-05-26 17:47:54 +09:00
Hide_D 6627797cc6 Merge branch 'devel' of https://storage.hided.net/gogs/devsam/core into devel 2018-05-26 17:36:36 +09:00
Hide_D 30e54c3d0e 34번 시나리오 중복 장수 제거 2018-05-25 23:12:33 +09:00
Hide_D ee3764f5f5 걸그룹 시나리오 추가 2018-05-25 22:50:59 +09:00
Hide_D a86e4cf64b 전콘 사이즈 확장 2018-05-25 00:51:03 +09:00
Hide_D 78ea405e40 영웅난무 스탯 변경 2018-05-24 23:41:38 +09:00
Hide_D f99583dc99 시나리오 능력치 수정. 영웅난무2 수정 2018-05-24 23:39:42 +09:00
Hide_D b9e5ddce94 c_myBossInfo 수정. RegNPC nullable 변경 2018-05-24 23:33:07 +09:00
Hide_D 1d28f22577 도시 정보, 장수 목록 2018-05-22 02:36:00 +09:00
Hide_D 90235660db 세력 도시 너비 조절 2018-05-22 02:25:53 +09:00
Hide_D 8e12aea3ff 오타 수정 2018-05-22 01:51:19 +09:00
Hide_D 280ff18526 세력 일람에서 장수명 너비 확보 2018-05-22 01:50:47 +09:00
Hide_D 9e88b03438 autoreset 버그 수정 2018-05-21 23:52:13 +09:00
Hide_D 14213ea3cd 토너먼트 인자 실수 체크 2018-05-21 23:22:49 +09:00
Hide_D 5352a507b2 삼11 시나리오 유저 스탯캡 조절 2018-05-21 22:54:25 +09:00
Hide_D 3b382199fc 리셋 시 최대 스탯 보여주도록 변경 2018-05-21 22:51:03 +09:00
Hide_D 67dea49a9b 삼국지11 시나리오 스탯 재 변경 2018-05-21 22:33:06 +09:00
Hide_D 8bdca87bf9 확장 장수 안되는 버그 해결. 환상향 시나리오 추가 2018-05-21 16:17:33 +09:00
Hide_D 8085e96fdd gameStor 대소문자 마저 수정 2018-05-21 16:05:17 +09:00
Hide_D 86b40695e6 외교 서신 안 받아지는 버그 수정. 의병, m장 스탯 버그 해결 2018-05-21 12:16:02 +09:00
Hide_D 676f98659a storage 테이블 생성 문제 해결 2018-05-21 05:38:43 +09:00
Hide_D 2fbf8bc2e2 누락된 GameCustomConst 추가 2018-05-21 05:30:38 +09:00
Hide_D bf233f7552 시나리오마다 별도로 스탯 제한치를 설정 가능하도록 변경 2018-05-21 05:10:44 +09:00
Hide_D 2c3e577c4e 설문조사 수정 2018-05-21 03:54:43 +09:00
Hide_D 7270de6775 Merge branch 'devel' into kvstorage_game 2018-05-21 03:54:16 +09:00
Hide_D e45f3a7d03 턴 지연 버그 수정. 설문조사 % 막대 2018-05-21 03:51:04 +09:00
Hide_D 742e2e8003 설문조사 offset 버그 2018-05-21 03:42:04 +09:00
Hide_D 4cdec6c393 투표 버그 수정 2018-05-21 03:39:42 +09:00
Hide_D a2d273bdc9 설문조사 보이도록 2018-05-21 03:37:59 +09:00
Hide_D a163fbef7f 설문조사 동작 2018-05-21 03:35:53 +09:00
Hide_D ec226ede65 스탯 31 생몰년 2018-05-21 03:20:15 +09:00
Hide_D 771fcbec6a 장수 생성 버그 수정 2018-05-21 03:16:06 +09:00
Hide_D ae62669fe8 KBO 중복 장수 제거, 삼국지 11 스탯 시나리오 추가 2018-05-21 03:11:26 +09:00
Hide_D 4823795c50 토너먼트 '투입' 버그 수정 2018-05-21 01:47:36 +09:00
Hide_D a80442399d KVStorage를 무조건 소문자만 받도록 설정 2018-05-21 01:32:30 +09:00
Hide_D 913b308892 $game_env -> $admin 2018-05-21 01:05:59 +09:00
Hide_D 21837d0869 getDBValues 쓴 부분 수정 2018-05-21 00:58:28 +09:00
Hide_D 5706fcfb7d DateInterval namespace버그 수정 2018-05-21 00:51:38 +09:00
Hide_D 5bc3b55400 turnterm 대소문자 버그 수정 2018-05-21 00:49:24 +09:00
Hide_D ffbe2844e4 npcmode 대소문자 버그 수정 2018-05-21 00:47:42 +09:00
Hide_D c39794c086 scneraio_frame을 올바르게 서술 2018-05-20 23:04:22 +09:00
Hide_D 6aaa50364b 인사부에 스탯, 삭턴 보이도록 2018-05-20 22:37:18 +09:00
Hide_DandGogs 95a22f228c Merge branch 'devel' of devsam/core into master 2018-04-29 03:17:12 +09:00
Hide_DandGogs eac92293fc Merge branch 'devel' of devsam/core into master 2018-04-29 02:01:54 +09:00
119 changed files with 7648 additions and 1666 deletions
+2
View File
@@ -38,6 +38,8 @@ test.php
/che /che
/kwe /kwe
/pwe /pwe
/nya
/pya
/twe /twe
phpinfo.php phpinfo.php
+4
View File
@@ -10,6 +10,8 @@
"/che":true, "/che":true,
"/kwe":true, "/kwe":true,
"/pwe":true, "/pwe":true,
"/nya":true,
"/pya":true,
"/twe":true, "/twe":true,
}, },
@@ -19,6 +21,8 @@
"/che":true, "/che":true,
"/kwe":true, "/kwe":true,
"/pwe":true, "/pwe":true,
"/nya":true,
"/pya":true,
"/twe":true, "/twe":true,
}, },
} }
+8
View File
@@ -128,6 +128,14 @@ body{
color: magenta; font-size: 15px; font-weight: bold; color: magenta; font-size: 15px; font-weight: bold;
} }
.Entrance_Nya {
color: #e67e22; font-size: 15px; font-weight: bold;
}
.Entrance_Pya {
color: #9b59b6; font-size: 15px; font-weight: bold;
}
.Entrance_Hwe { .Entrance_Hwe {
color: red; font-size: 15px; font-weight: bold; color: red; font-size: 15px; font-weight: bold;
} }
+1
View File
File diff suppressed because one or more lines are too long
+1
View File
File diff suppressed because one or more lines are too long
+1
View File
@@ -2,6 +2,7 @@
namespace sammo; namespace sammo;
define('ROOT', realpath(__dir__.'/..')); define('ROOT', realpath(__dir__.'/..'));
setlocale(LC_ALL, 'ko_KR.UTF-8');
date_default_timezone_set('Asia/Seoul'); date_default_timezone_set('Asia/Seoul');
mb_internal_encoding("UTF-8"); mb_internal_encoding("UTF-8");
mb_http_output('UTF-8'); mb_http_output('UTF-8');
+2 -1
View File
@@ -29,6 +29,7 @@ CREATE TABLE `member` (
`NAME` VARCHAR(64) NOT NULL, `NAME` VARCHAR(64) NOT NULL,
`PICTURE` VARCHAR(64) NULL DEFAULT 'default.jpg', `PICTURE` VARCHAR(64) NULL DEFAULT 'default.jpg',
`IMGSVR` INT(1) NULL DEFAULT '0', `IMGSVR` INT(1) NULL DEFAULT '0',
`acl` text NOT NULL DEFAULT '{}' COMMENT 'json',
`GRADE` INT(1) NULL DEFAULT '1', `GRADE` INT(1) NULL DEFAULT '1',
`REG_NUM` INT(3) NULL DEFAULT '0', `REG_NUM` INT(3) NULL DEFAULT '0',
`REG_DATE` DATETIME NOT NULL, `REG_DATE` DATETIME NOT NULL,
@@ -59,7 +60,7 @@ ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
################### ###################
# KV storage # KV storage
################### ###################
CREATE TABLE `storage` ( CREATE TABLE if not exists `storage` (
`id` INT(11) NOT NULL AUTO_INCREMENT, `id` INT(11) NOT NULL AUTO_INCREMENT,
`namespace` VARCHAR(40) NOT NULL, `namespace` VARCHAR(40) NOT NULL,
`key` VARCHAR(40) NOT NULL, `key` VARCHAR(40) NOT NULL,
+2 -2
View File
@@ -30,7 +30,7 @@ $db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor = KVStorage::getStorage($db, 'game_env');
switch($btn) { switch($btn) {
case "분당김": case "분당김":
$gameStor->cacheValues('turntime', 'starttime', 'tnmt_time'); $gameStor->cacheValues(['turntime', 'starttime', 'tnmt_time']);
$turntime = (new \DateTimeImmutable($gameStor->turntime))->sub(new \DateInterval("PT{$minute}M")); $turntime = (new \DateTimeImmutable($gameStor->turntime))->sub(new \DateInterval("PT{$minute}M"));
$starttime = (new \DateTimeImmutable($gameStor->starttime))->sub(new \DateInterval("PT{$minute}M")); $starttime = (new \DateTimeImmutable($gameStor->starttime))->sub(new \DateInterval("PT{$minute}M"));
$tnmt_time = (new \DateTimeImmutable($gameStor->tnmt_time))->sub(new \DateInterval("PT{$minute}M")); $tnmt_time = (new \DateTimeImmutable($gameStor->tnmt_time))->sub(new \DateInterval("PT{$minute}M"));
@@ -47,7 +47,7 @@ case "분당김":
], true); ], true);
break; break;
case "분지연": case "분지연":
$gameStor->cacheValues('turntime', 'starttime', 'tnmt_time'); $gameStor->cacheValues(['turntime', 'starttime', 'tnmt_time']);
$turntime = (new \DateTimeImmutable($gameStor->turntime))->add(new \DateInterval("PT{$minute}M")); $turntime = (new \DateTimeImmutable($gameStor->turntime))->add(new \DateInterval("PT{$minute}M"));
$starttime = (new \DateTimeImmutable($gameStor->starttime))->add(new \DateInterval("PT{$minute}M")); $starttime = (new \DateTimeImmutable($gameStor->starttime))->add(new \DateInterval("PT{$minute}M"));
$tnmt_time = (new \DateTimeImmutable($gameStor->tnmt_time))->add(new \DateInterval("PT{$minute}M")); $tnmt_time = (new \DateTimeImmutable($gameStor->tnmt_time))->add(new \DateInterval("PT{$minute}M"));
+4 -2
View File
@@ -19,6 +19,7 @@ if($session->userGrade < 5) {
$generalID = $session->generalID; $generalID = $session->generalID;
if(!$generalID){ if(!$generalID){
header('location:_admin2.php'); header('location:_admin2.php');
die();
} }
$db = DB::db(); $db = DB::db();
@@ -111,8 +112,9 @@ switch($btn) {
'special2'=>$specialWar 'special2'=>$specialWar
], 'no=%i', $general['no']); ], 'no=%i', $general['no']);
$specialWarName = SpecialityConst::WAR[$specialWar][0]; $specialWarName = SpecialityConst::WAR[$specialWar][0];
pushGeneralHistory($general, "<C>●</>{$year}{$month}월:특기 【<b><C>{$specialWarName}</></b>】(을)를 습득"); $josaUl = JosaUtil::pick($specialWarName, '을');
pushGenLog($general, ["<C>●</>특기 【<b><L>{$specialWarName}</></b>】(을)를 익혔습니다!"]); pushGeneralHistory($general, "<C>●</>{$year}{$month}월:특기 【<b><C>{$specialWarName}</></b>】{$josaUl} 습득");
pushGenLog($general, ["<C>●</>특기 【<b><L>{$specialWarName}</></b>】{$josaUl} 익혔습니다!"]);
} }
break; break;
+2 -2
View File
@@ -65,8 +65,8 @@ $sel[$type] = "selected";
<table width=1000 align=center class='tb_layout bg0'> <table width=1000 align=center class='tb_layout bg0'>
<tr><td colspan=9 align=center bgcolor=blue>외 교 관 계</td></tr> <tr><td colspan=9 align=center bgcolor=blue>외 교 관 계</td></tr>
<tr> <tr>
<td width=100 align=center id=bg1>국 가 명</td> <td width=130 align=center id=bg1>국 가 명</td>
<td width=100 align=center id=bg1>국 가 명</td> <td width=130 align=center id=bg1>국 가 명</td>
<td width=80 align=center id=bg1>상 태</td> <td width=80 align=center id=bg1>상 태</td>
<td width=60 align=center id=bg1>기 간</td> <td width=60 align=center id=bg1>기 간</td>
<td align=center id=bg1>비 고</td> <td align=center id=bg1>비 고</td>
+24 -21
View File
@@ -82,7 +82,7 @@ $query = "select no,tournament,con,turntime from general where owner='{$userID}'
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$me = MYDB_fetch_array($result); $me = MYDB_fetch_array($result);
$game_env = $gameStor->getAll(); $admin = $gameStor->getAll();
$con = checkLimit($me['con']); $con = checkLimit($me['con']);
if($con >= 2) { printLimitMsg($me['turntime']); exit(); } if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
@@ -172,7 +172,7 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
$opposecount = 0; $opposecount = 0;
} }
$warphase = getRate($game_env, $general['crewtype'], "spd"); //병종간 페이즈 수 얻기 $warphase = getRate($admin, $general['crewtype'], "spd"); //병종간 페이즈 수 얻기
// 우선 스케일링 // 우선 스케일링
$city['def'] *= 10; $city['def'] *= 10;
@@ -188,7 +188,8 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
while($phase < $warphase) { while($phase < $warphase) {
// 장수가 없어서 도시 공격 // 장수가 없어서 도시 공격
if($opposecount == 0) { if($opposecount == 0) {
$msg .= "<C>●</>".GameUnitConst::byID($general['crewtype'])->name."(으)로 성을 <M>공격</>합니다.<br>"; $josaRo = JosaUtil::pick(GameUnitConst::byID($general['crewtype'])->name, '로');
$msg .= "<C>●</>".GameUnitConst::byID($general['crewtype'])->name."{$josaRo} 성을 <M>공격</>합니다.<br>";
$mykillnum = 0; $mydeathnum = 0; $mykillnum = 0; $mydeathnum = 0;
while($phase < $warphase) { while($phase < $warphase) {
@@ -300,7 +301,7 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
} }
//회피 //회피
$ratio = rand() % 100; // 0 ~ 99 $ratio = rand() % 100; // 0 ~ 99
$ratio2 = getRate($game_env, $general['crewtype'], "avd"); //회피율 $ratio2 = getRate($admin, $general['crewtype'], "avd"); //회피율
if($ratio < $ratio2 && $avoid == 1) { if($ratio < $ratio2 && $avoid == 1) {
$msg .= "<C>●</><C>회피</>했다!</><br>"; $msg .= "<C>●</><C>회피</>했다!</><br>";
$myCrew /= 10; // 10%만 소모 $myCrew /= 10; // 10%만 소모
@@ -378,7 +379,9 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
} }
// 장수 대결 // 장수 대결
} else { } else {
$msg .= "<C>●</>".GameUnitConst::byID($general['crewtype'])->name."(으)로 <Y>수비장수</>의 ".GameUnitConst::byID($oppose['crewtype'])->name."(을)를 공격합니다.<br>"; $josaUl = JosaUtil::pick(GameUnitConst::byID($oppose['crewtype'])->name, '을');
$josaRo = JosaUtil::pick(GameUnitConst::byID($general['crewtype'])->name, '로');
$msg .= "<C>●</>".GameUnitConst::byID($general['crewtype'])->name."{$josaRo} <Y>수비장수</>의 ".GameUnitConst::byID($oppose['crewtype'])->name."{$josaUl} 공격합니다.<br>";
$mykillnum = 0; $mydeathnum = 0; $mykillnum = 0; $mydeathnum = 0;
while($phase < $warphase) { while($phase < $warphase) {
@@ -664,7 +667,7 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
} }
//회피 //회피
$ratio = rand() % 100; // 0 ~ 99 $ratio = rand() % 100; // 0 ~ 99
$ratio2 = getRate($game_env, $general['crewtype'], "avd"); //회피율 $ratio2 = getRate($admin, $general['crewtype'], "avd"); //회피율
if($ratio < $ratio2 && $myAvoid == 1) { if($ratio < $ratio2 && $myAvoid == 1) {
$msg .= "<C>●</><C>회피</>했다!</><br>"; $msg .= "<C>●</><C>회피</>했다!</><br>";
$myCrew /= 10; // 10%만 소모 $myCrew /= 10; // 10%만 소모
@@ -672,7 +675,7 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
} }
//회피 //회피
$ratio = rand() % 100; // 0 ~ 99 $ratio = rand() % 100; // 0 ~ 99
$ratio2 = getRate($game_env, $oppose['crewtype'], "avd"); //회피율 $ratio2 = getRate($admin, $oppose['crewtype'], "avd"); //회피율
if($ratio < $ratio2 && $opAvoid == 1) { if($ratio < $ratio2 && $opAvoid == 1) {
$msg .= "<C>●</>상대가 <R>회피</>했다!</><br>"; $msg .= "<C>●</>상대가 <R>회피</>했다!</><br>";
$opCrew /= 10; // 10%만 소모 $opCrew /= 10; // 10%만 소모
@@ -801,8 +804,8 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
$def = 7000; $def = 7000;
$wall = 7000; $wall = 7000;
$train3 = $game_env['city_rate']; $train3 = $admin['city_rate'];
$atmos3 = $game_env['city_rate']; $atmos3 = $admin['city_rate'];
} }
switch($level1) { switch($level1) {
@@ -1597,31 +1600,31 @@ if($isgen == "장수공격" || $isgen == "성벽공격") {
<?php <?php
for($i=0; $i <= 5; $i++) { for($i=0; $i <= 5; $i++) {
printSimul($game_env, $i); printSimul($admin, $i);
} }
echo " echo "
<tr><td height=5 colspan=8 id=bg1></td></tr>"; <tr><td height=5 colspan=8 id=bg1></td></tr>";
for($i=10; $i <= 14; $i++) { for($i=10; $i <= 14; $i++) {
printSimul($game_env, $i); printSimul($admin, $i);
} }
echo " echo "
<tr><td height=5 colspan=8 id=bg1></td></tr>"; <tr><td height=5 colspan=8 id=bg1></td></tr>";
for($i=20; $i <= 27; $i++) { for($i=20; $i <= 27; $i++) {
printSimul($game_env, $i); printSimul($admin, $i);
} }
echo " echo "
<tr><td height=5 colspan=8 id=bg1></td></tr>"; <tr><td height=5 colspan=8 id=bg1></td></tr>";
for($i=30; $i <= 38; $i++) { for($i=30; $i <= 38; $i++) {
printSimul($game_env, $i); printSimul($admin, $i);
} }
echo " echo "
<tr><td height=5 colspan=8 id=bg1></td></tr>"; <tr><td height=5 colspan=8 id=bg1></td></tr>";
for($i=40; $i <= 43; $i++) { for($i=40; $i <= 43; $i++) {
printSimul($game_env, $i); printSimul($admin, $i);
} }
echo " echo "
<tr><td height=5 colspan=8 id=bg1></td></tr>"; <tr><td height=5 colspan=8 id=bg1></td></tr>";
@@ -1632,13 +1635,13 @@ if($isgen == "장수공격" || $isgen == "성벽공격") {
</html> </html>
<?php <?php
function printSimul($game_env, $i) { function printSimul($admin, $i) {
$att = $game_env["att{$i}"]; $att = $admin["att{$i}"];
$def = $game_env["def{$i}"]; $def = $admin["def{$i}"];
$spd = $game_env["spd{$i}"]; $spd = $admin["spd{$i}"];
$avd = $game_env["avd{$i}"]; $avd = $admin["avd{$i}"];
$cst = $game_env["cst{$i}"]; $cst = $admin["cst{$i}"];
$ric = $game_env["ric{$i}"]; $ric = $admin["ric{$i}"];
echo " echo "
<tr> <tr>
<td align=right>".GameUnitConst::byId($i)->name."</td> <td align=right>".GameUnitConst::byId($i)->name."</td>
+6 -6
View File
@@ -171,13 +171,13 @@ for ($i=0; $i < 21; $i++) {
echo "</tr><tr>"; echo "</tr><tr>";
for ($k=0; $k < 10; $k++) { for ($k=0; $k < 10; $k++) {
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$nation[$k]}</td>"; echo "<td align=center style=background-color:{$color[$k]};font-size:80%;color:".newColor($color[$k]).">{$nation[$k]}</td>";
} }
echo "</tr><tr>"; echo "</tr><tr>";
for ($k=0; $k < 10; $k++) { for ($k=0; $k < 10; $k++) {
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$name[$k]}</td>"; echo "<td align=center style=background-color:{$color[$k]};font-size:80%;color:".newColor($color[$k]).">{$name[$k]}</td>";
} }
echo "</tr><tr>"; echo "</tr><tr>";
@@ -272,13 +272,13 @@ for ($i=0; $i < 4; $i++) {
echo "</tr><tr>"; echo "</tr><tr>";
for ($k=26; $k > 16; $k--) { for ($k=26; $k > 16; $k--) {
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$nation[$k]}</td>"; echo "<td align=center style=background-color:{$color[$k]};font-size:80%;color:".newColor($color[$k]).">{$nation[$k]}</td>";
} }
echo "</tr><tr>"; echo "</tr><tr>";
for ($k=26; $k > 16; $k--) { for ($k=26; $k > 16; $k--) {
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$name[$k]}</td>"; echo "<td align=center style=background-color:{$color[$k]};font-size:80%;color:".newColor($color[$k]).">{$name[$k]}</td>";
} }
echo "</tr><tr><td colspan=10 height=5 id=bg1></td></tr>"; echo "</tr><tr><td colspan=10 height=5 id=bg1></td></tr>";
@@ -324,13 +324,13 @@ for ($i=0; $i < 4; $i++) {
echo "</tr><tr>"; echo "</tr><tr>";
for ($k=16; $k > 6; $k--) { for ($k=16; $k > 6; $k--) {
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$nation[$k]}</td>"; echo "<td align=center style=background-color:{$color[$k]};font-size:80%;color:".newColor($color[$k]).">{$nation[$k]}</td>";
} }
echo "</tr><tr>"; echo "</tr><tr>";
for ($k=16; $k > 6; $k--) { for ($k=16; $k > 6; $k--) {
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$name[$k]}</td>"; echo "<td align=center style=background-color:{$color[$k]};font-size:80%;color:".newColor($color[$k]).">{$name[$k]}</td>";
} }
echo "</tr><tr><td colspan=10 height=5 id=bg1></td></tr>"; echo "</tr><tr><td colspan=10 height=5 id=bg1></td></tr>";
+16 -16
View File
@@ -57,24 +57,24 @@ if ($select == 0) {
</td> </td>
</tr> </tr>
<tr> <tr>
<td id=bg1 align=center width=123>국 력</td> <td id=bg1 align=center width=80>국 력</td>
<td align=center width=123>{$emperior['power']}</td> <td align=center width=170>{$emperior['power']}</td>
<td id=bg1 align=center width=123>장 수</td> <td id=bg1 align=center width=80>장 수</td>
<td align=center width=123>{$emperior['gennum']}</td> <td align=center width=170>{$emperior['gennum']}</td>
<td id=bg1 align=center width=123>속 령</td> <td id=bg1 align=center width=80>속 령</td>
<td align=center width=123>{$emperior['citynum']}</td> <td align=center width=170>{$emperior['citynum']}</td>
<td id=bg1 align=center width=123>성 향</td> <td id=bg1 align=center width=80>성 향</td>
<td align=center width=123>{$emperior['type']}</td> <td align=center width=170>{$emperior['type']}</td>
</tr> </tr>
<tr> <tr>
<td id=bg1 width=123 align=center>황 제</td> <td id=bg1 align=center>황 제</td>
<td width=123 align=center>{$emperior['l12name']}</td> <td align=center>{$emperior['l12name']}</td>
<td id=bg1 width=123 align=center>승 상</td> <td id=bg1 align=center>승 상</td>
<td width=123 align=center>{$emperior['l11name']}</td> <td align=center>{$emperior['l11name']}</td>
<td id=bg1 width=123 align=center>위 장 군</td> <td id=bg1 align=center>위 장 군</td>
<td width=123 align=center>{$emperior['l10name']}</td> <td align=center>{$emperior['l10name']}</td>
<td id=bg1 width=123 align=center>사 공</td> <td id=bg1 align=center>사 공</td>
<td width=123 align=center>{$emperior['l9name']}</td> <td align=center>{$emperior['l9name']}</td>
</tr> </tr>
</table> </table>
</form>"; </form>";
+16 -16
View File
@@ -57,24 +57,24 @@ if ($select == 0) {
</td> </td>
</tr> </tr>
<tr> <tr>
<td id=bg1 align=center width=123>국 력</td> <td id=bg1 align=center width=80>국 력</td>
<td align=center width=123>{$emperior['power']}</td> <td align=center width=170>{$emperior['power']}</td>
<td id=bg1 align=center width=123>장 수</td> <td id=bg1 align=center width=80>장 수</td>
<td align=center width=123>{$emperior['gennum']}</td> <td align=center width=170>{$emperior['gennum']}</td>
<td id=bg1 align=center width=123>속 령</td> <td id=bg1 align=center width=80>속 령</td>
<td align=center width=123>{$emperior['citynum']}</td> <td align=center width=170>{$emperior['citynum']}</td>
<td id=bg1 align=center width=123>성 향</td> <td id=bg1 align=center width=80>성 향</td>
<td align=center width=123>{$emperior['type']}</td> <td align=center width=170>{$emperior['type']}</td>
</tr> </tr>
<tr> <tr>
<td id=bg1 width=123 align=center>황 제</td> <td id=bg1 align=center>황 제</td>
<td width=123 align=center>{$emperior['l12name']}</td> <td align=center>{$emperior['l12name']}</td>
<td id=bg1 width=123 align=center>승 상</td> <td id=bg1 align=center>승 상</td>
<td width=123 align=center>{$emperior['l11name']}</td> <td align=center>{$emperior['l11name']}</td>
<td id=bg1 width=123 align=center>위 장 군</td> <td id=bg1 align=center>위 장 군</td>
<td width=123 align=center>{$emperior['l10name']}</td> <td align=center>{$emperior['l10name']}</td>
<td id=bg1 width=123 align=center>사 공</td> <td id=bg1 align=center>사 공</td>
<td width=123 align=center>{$emperior['l9name']}</td> <td align=center>{$emperior['l9name']}</td>
</tr> </tr>
</table> </table>
</form>"; </form>";
+10 -10
View File
@@ -104,20 +104,20 @@ echo"
<table align=center width=1000 class='tb_layout bg0'> <table align=center width=1000 class='tb_layout bg0'>
<tr> <tr>
<td width=64 align=center id=bg1>얼 굴</td> <td width=64 align=center id=bg1>얼 굴</td>
<td width=100 align=center id=bg1>이 름</td> <td width=140 align=center id=bg1>이 름</td>
<td width=50 align=center id=bg1>연령</td> <td width=45 align=center id=bg1>연령</td>
<td width=50 align=center id=bg1>성격</td> <td width=45 align=center id=bg1>성격</td>
<td width=90 align=center id=bg1>특기</td> <td width=80 align=center id=bg1>특기</td>
<td width=50 align=center id=bg1>레 벨</td> <td width=45 align=center id=bg1>레 벨</td>
<td width=100 align=center id=bg1>국 가</td> <td width=140 align=center id=bg1>국 가</td>
<td width=60 align=center id=bg1>명 성</td> <td width=55 align=center id=bg1>명 성</td>
<td width=60 align=center id=bg1>계 급</td> <td width=55 align=center id=bg1>계 급</td>
<td width=80 align=center id=bg1>관 직</td> <td width=75 align=center id=bg1>관 직</td>
<td width=45 align=center id=bg1>통솔</td> <td width=45 align=center id=bg1>통솔</td>
<td width=45 align=center id=bg1>무력</td> <td width=45 align=center id=bg1>무력</td>
<td width=45 align=center id=bg1>지력</td> <td width=45 align=center id=bg1>지력</td>
<td width=45 align=center id=bg1>삭턴</td> <td width=45 align=center id=bg1>삭턴</td>
<td width=84 align=center id=bg1>벌점</td> <td width=70 align=center id=bg1>벌점</td>
</tr>"; </tr>";
for ($j=0; $j < $gencount; $j++) { for ($j=0; $j < $gencount; $j++) {
$general = MYDB_fetch_array($genresult); $general = MYDB_fetch_array($genresult);
+2 -2
View File
@@ -90,13 +90,13 @@ for ($i=0; $i < 21; $i++) {
// echo "</tr><tr>"; // echo "</tr><tr>";
for ($k=0; $k < 10; $k++) { for ($k=0; $k < 10; $k++) {
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$nation[$k]}</td>"; echo "<td align=center style=background-color:{$color[$k]};font-size:80%;color:".newColor($color[$k]).">{$nation[$k]}</td>";
} }
echo "</tr><tr>"; echo "</tr><tr>";
for ($k=0; $k < 10; $k++) { for ($k=0; $k < 10; $k++) {
echo "<td align=center style=background-color:{$color[$k]};color:".newColor($color[$k]).">{$name[$k]}</td>"; echo "<td align=center style=background-color:{$color[$k]};font-size:80%;color:".newColor($color[$k]).">{$name[$k]}</td>";
} }
echo "</tr><tr>"; echo "</tr><tr>";
+4 -4
View File
@@ -129,10 +129,10 @@ $history = MYDB_fetch_array($result);
<td width=698> <td width=698>
<?=getMapHtml();?> <?=getMapHtml();?>
<td width=98 valign=top><?=$history['nation']?></td> <td width=139 valign=top><div style='background-color:#cccccc;color:black;text-align:center'>국명</div><?=$history['nation']?></td>
<td width=78 valign=top><?=$history['power']?></td> <td width=70 valign=top style='text-align:center'><div style='background-color:#cccccc;color:black;'>국력</div><?=$history['power']?></td>
<td width=58 valign=top><?=$history['gen']?></td> <td width=43 valign=top style='text-align:center'><div style='background-color:#cccccc;color:black;'>장수</div><?=$history['gen']?></td>
<td width=58 valign=top><?=$history['city']?></td> <td width=40 valign=top style='text-align:center'><div style='background-color:#cccccc;color:black;'>속령</div><?=$history['city']?></td>
</tr> </tr>
<tr><td colspan=5 align=center id=bg1>중 원 정 세</td></tr> <tr><td colspan=5 align=center id=bg1>중 원 정 세</td></tr>
<tr> <tr>
+8 -8
View File
@@ -129,14 +129,14 @@ for($i=1; $i <= $count; $i++) {
<td colspan=8 align=center style=color:".newColor($nation['color'])."; bgcolor={$nation['color']}>【 {$nation['name']} 】</td> <td colspan=8 align=center style=color:".newColor($nation['color'])."; bgcolor={$nation['color']}>【 {$nation['name']} 】</td>
</tr> </tr>
<tr> <tr>
<td width=123 align=center id=bg1>성 향</td> <td width=80 align=center id=bg1>성 향</td>
<td width=123 align=center><font color=yellow>".getNationType($nation['type'])."</font></td> <td width=170 align=center><font color=yellow>".getNationType($nation['type'])."</font></td>
<td width=123 align=center id=bg1>작 위</td> <td width=80 align=center id=bg1>작 위</td>
<td width=123 align=center>".getNationLevel($nation['level'])."</td> <td width=170 align=center>".getNationLevel($nation['level'])."</td>
<td width=123 align=center id=bg1>국 력</td> <td width=80 align=center id=bg1>국 력</td>
<td width=123 align=center>{$nation['power']}</td> <td width=170 align=center>{$nation['power']}</td>
<td width=123 align=center id=bg1>장수 / 속령</td> <td width=80 align=center id=bg1>장수 / 속령</td>
<td width=123 align=center>{$gencount} / {$citycount}</td> <td width=170 align=center>{$gencount} / {$citycount}</td>
</tr> </tr>
<tr> <tr>
<td align=center id=bg1>".getLevel(12, $nation['level'])."</td> <td align=center id=bg1>".getLevel(12, $nation['level'])."</td>
+16 -16
View File
@@ -10,7 +10,7 @@ $connect=$db->get();
increaseRefresh("갱신정보", 2); increaseRefresh("갱신정보", 2);
$game_env = $gameStor->getValues(['year','month','refresh','maxrefresh','maxonline']); $admin = $gameStor->getValues(['year','month','refresh','maxrefresh','maxonline']);
$log = getRawFileLogRecent(__dir__.'/logs/_traffic.txt', 11, 100); $log = getRawFileLogRecent(__dir__.'/logs/_traffic.txt', 11, 100);
@@ -29,21 +29,21 @@ foreach($log as $i=>$value){
$refresh[$i] = $parse[3]; $refresh[$i] = $parse[3];
$online[$i] = $parse[4]; $online[$i] = $parse[4];
} }
$year[] = $game_env['year']; $year[] = $admin['year'];
$month[] = $game_env['month']; $month[] = $admin['month'];
$date[] = date('Y-m-d H:i:s'); $date[] = date('Y-m-d H:i:s');
if ($game_env['maxrefresh'] == 0) { if ($admin['maxrefresh'] == 0) {
$game_env['maxrefresh'] = 1; $admin['maxrefresh'] = 1;
} }
if ($game_env['maxrefresh'] < $game_env['refresh']) { if ($admin['maxrefresh'] < $admin['refresh']) {
$game_env['maxrefresh'] = $game_env['refresh']; $admin['maxrefresh'] = $admin['refresh'];
} }
if ($game_env['maxonline'] == 0) { if ($admin['maxonline'] == 0) {
$game_env['maxonline'] = 1; $admin['maxonline'] = 1;
} }
if ($game_env['maxonline'] < $curonline) { if ($admin['maxonline'] < $curonline) {
$game_env['maxonline'] = $curonline; $admin['maxonline'] = $curonline;
} }
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
@@ -89,9 +89,9 @@ span.out_bar{
<table align=center class='tb_layout bg0'> <table align=center class='tb_layout bg0'>
<tr><td colspan=4 align=center id=bg2><font size=5>접 속 량</font></td></tr> <tr><td colspan=4 align=center id=bg2><font size=5>접 속 량</font></td></tr>
<?php <?php
$refresh[] = $game_env['refresh']; $refresh[] = $admin['refresh'];
foreach($refresh as $i=>$value){ foreach($refresh as $i=>$value){
$w = round($value / $game_env['maxrefresh'] * 100, 1); $w = round($value / $admin['maxrefresh'] * 100, 1);
$color = getTrafficColor($w); $color = getTrafficColor($w);
$dt = substr($date[$i], 11, 5); ?> $dt = substr($date[$i], 11, 5); ?>
<tr height=30> <tr height=30>
@@ -114,7 +114,7 @@ foreach($refresh as $i=>$value){
?> ?>
<tr><td colspan=4 height=5 align=center id=bg1></td></tr> <tr><td colspan=4 height=5 align=center id=bg1></td></tr>
<tr> <tr>
<td colspan=4 height=30 align=center id=bg0>최고기록: <?=$game_env['maxrefresh']?></td> <td colspan=4 height=30 align=center id=bg0>최고기록: <?=$admin['maxrefresh']?></td>
</tr> </tr>
@@ -126,7 +126,7 @@ foreach($refresh as $i=>$value){
<?php <?php
$online[] = $curonline; $online[] = $curonline;
foreach($online as $i=>$value){ foreach($online as $i=>$value){
$w = round($value / $game_env['maxonline'] * 100, 1); $w = round($value / $admin['maxonline'] * 100, 1);
$color = getTrafficColor($w); $color = getTrafficColor($w);
$dt = substr($date[$i], 11, 5); ?> $dt = substr($date[$i], 11, 5); ?>
<tr height=30> <tr height=30>
@@ -149,7 +149,7 @@ foreach($online as $i=>$value){
?> ?>
<tr><td colspan=4 height=5 align=center id=bg1></td></tr> <tr><td colspan=4 height=5 align=center id=bg1></td></tr>
<tr> <tr>
<td colspan=4 height=30 align=center id=bg0>최고기록: <?=$game_env['maxonline']?></td> <td colspan=4 height=30 align=center id=bg0>최고기록: <?=$admin['maxonline']?></td>
</tr> </tr>
</table> </table>
</td></tr> </td></tr>
+54 -24
View File
@@ -12,16 +12,16 @@ $connect=$db->get();
increaseRefresh("설문조사", 1); increaseRefresh("설문조사", 1);
$isVoteAdmin = in_array('vote', $session->acl[DB::prefix()]??[]);
$isVoteAdmin |= $session->userGrade >= 5;
$query = "select no,vote from general where owner='{$userID}'"; $query = "select no,vote from general where owner='{$userID}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
$me = MYDB_fetch_array($result); $me = MYDB_fetch_array($result);
$admin = $gameStor->getValues(['develcost','voteopen','vote','votecomment']); $admin = $gameStor->getValues(['develcost','voteopen','vote_title','vote','votecomment']);
$vote_title = $admin['vote_title']??'-';
$vote = explode("|", $admin['vote']); $vote = $admin['vote']?:['-'];
if ($vote[0] == "") {
$vote[0] = "-";
}
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
@@ -60,7 +60,7 @@ function captureKey(e) {
<tr><td colspan=3 align=center id=bg2><font size=5>설 문 조 사 (<?=$admin['develcost']*5?>금과 추첨으로 유니크템 증정!)</font></td></tr> <tr><td colspan=3 align=center id=bg2><font size=5>설 문 조 사 (<?=$admin['develcost']*5?>금과 추첨으로 유니크템 증정!)</font></td></tr>
<?php <?php
if ($session->userGrade >= 5) { if ($isVoteAdmin) {
echo " echo "
<tr> <tr>
<td width=48 align=center><input type=submit name=btn value='알림'></td> <td width=48 align=center><input type=submit name=btn value='알림'></td>
@@ -70,11 +70,11 @@ if ($session->userGrade >= 5) {
"; ";
} }
$vote[0] = Tag2Code($vote[0]); $vote_title = Tag2Code($vote_title);
echo " echo "
<tr> <tr>
<td colspan=2 width=148 align=center id=bg1>제 목</td> <td colspan=2 width=148 align=center id=bg1>제 목</td>
<td width=848 align=left>&nbsp;{$vote[0]}</td> <td width=848 align=left>&nbsp;{$vote_title}</td>
</tr> </tr>
"; ";
@@ -99,7 +99,7 @@ for ($i=1; $i < $voteTypeCount; $i++) {
echo " echo "
<input type=radio name=sel value={$i}> <input type=radio name=sel value={$i}>
"; ";
} elseif ($admin['voteopen'] >= 1 || $session->userGrade >= 5) { } elseif ($admin['voteopen'] >= 1 || $isVoteAdmin) {
$query = "select no from general where vote='{$i}'"; $query = "select no from general where vote='{$i}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
$vCount = MYDB_num_rows($result); $vCount = MYDB_num_rows($result);
@@ -135,7 +135,7 @@ echo "
</tr> </tr>
"; ";
if ($session->userGrade >= 5) { if ($isVoteAdmin) {
echo " echo "
<tr> <tr>
<td align=center><input type=submit name=btn value='리셋'></td> <td align=center><input type=submit name=btn value='리셋'></td>
@@ -165,18 +165,18 @@ for ($i=0; $i < $commentCount; $i++) {
echo " echo "
<tr> <tr>
<td width=28 align=center>{$j}.</td> <td width=28 align=center>{$j}.</td>
<td width=83 align=center>{$cmt[0]}</td> <td width=130 align=center>{$cmt[0]}</td>
<td width=83 align=center>{$cmt[1]}</td> <td width=130 align=center>{$cmt[1]}</td>
<td width=788 align=left>&nbsp;{$cmt[2]}</td> <td width=712 align=left>&nbsp;{$cmt[2]}</td>
</tr> </tr>
"; ";
} }
if ($me['no'] > 0) { if ($me['no'] > 0) {
echo " echo "
<tr> <tr>
<td width=108 colspan=2 align=center>-</td> <td width=158 colspan=2 align=center>-</td>
<td width=83 align=center><input type=submit name=btn value='댓글'></td> <td width=130 align=center><input type=submit name=btn value='댓글'></td>
<td align=left><input type=text name=comment maxlength=60 style=width:798px; onkeydown='return captureKey(event)'></td> <td align=left><input type=text name=comment maxlength=60 style=width:700px; onkeydown='return captureKey(event)'></td>
</tr> </tr>
"; ";
} }
@@ -187,7 +187,7 @@ if ($me['no'] > 0) {
<tr><td colspan=3 align=center id=bg2><font size=5> <tr><td colspan=3 align=center id=bg2><font size=5>
전 체 통 계 전 체 통 계
<?php <?php
if ($session->userGrade >= 5) { if ($isVoteAdmin) {
echo " echo "
<input type=submit name=btn value='숨김'> <input type=submit name=btn value='숨김'>
<input type=submit name=btn value='전체통계만'> <input type=submit name=btn value='전체통계만'>
@@ -196,12 +196,12 @@ if ($session->userGrade >= 5) {
echo " echo "
</font></td></tr>"; </font></td></tr>";
if ($admin['voteopen'] >= 1 || $session->userGrade >= 5) { if ($admin['voteopen'] >= 1 || $isVoteAdmin) {
echo " echo "
<tr> <tr>
<td width=98 align=center>전 체</td> <td width=130 align=center>전 체</td>
<td width=128 align=center>{$voteCount} / {$allCount} ({$percentage} %)</td> <td width=128 align=center>{$voteCount} / {$allCount} ({$percentage} %)</td>
<td width=768> <td width=742>
"; ";
$memCount = max(1, $db->queryFirstField('SELECT count(`no`) FROM general WHERE npc<2')); $memCount = max(1, $db->queryFirstField('SELECT count(`no`) FROM general WHERE npc<2'));
@@ -233,8 +233,17 @@ if ($admin['voteopen'] >= 1 || $session->userGrade >= 5) {
$nationVote[$nation][$ownVote] += $cnt; $nationVote[$nation][$ownVote] += $cnt;
} }
$totalPer = 0;
for ($i=0; $i < $voteTypeCount; $i++) { for ($i=0; $i < $voteTypeCount; $i++) {
$per = round(($totalVote[$i]??0) * 100 / $memCount, 1); $per = round(($totalVote[$i]??0) * 100 / $memCount, 1);
if($i == $voteTypeCount-1){
$per = 100-$totalPer;
}
else{
$totalPer += $per;
}
// if($per < 5) { $vote['cnt'] = "&nbsp;"; } // if($per < 5) { $vote['cnt'] = "&nbsp;"; }
?> ?>
<?php if($per == 0): ?> <?php if($per == 0): ?>
@@ -252,7 +261,7 @@ if ($admin['voteopen'] >= 1 || $session->userGrade >= 5) {
"; ";
} }
if ($admin['voteopen'] >= 2 || $session->userGrade >= 5) { if ($admin['voteopen'] >= 2 || $isVoteAdmin) {
$query = "select no from general where nation=0 and npc<2"; $query = "select no from general where nation=0 and npc<2";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
$memCount = MYDB_num_rows($result); $memCount = MYDB_num_rows($result);
@@ -272,8 +281,15 @@ if ($admin['voteopen'] >= 2 || $session->userGrade >= 5) {
<td> <td>
"; ";
$totalPer = 0;
for ($i=0; $i < $voteTypeCount; $i++) { for ($i=0; $i < $voteTypeCount; $i++) {
$per = round(Util::array_get($nationVote[0][$i], 0) / $memCount * 100, 1); $per = round(Util::array_get($nationVote[0][$i], 0) / $memCount * 100, 1);
if($i == $voteTypeCount-1){
$per = 100-$totalPer;
}
else{
$totalPer += $per;
}
// if($per < 5) { $vote['cnt'] = "&nbsp;"; } // if($per < 5) { $vote['cnt'] = "&nbsp;"; }
?> ?>
<?php if($per == 0): ?> <?php if($per == 0): ?>
@@ -318,15 +334,29 @@ if ($admin['voteopen'] >= 2 || $session->userGrade >= 5) {
<td align=center> <td align=center>
"; ";
$totalPer = 0;
for ($k=0; $k < $voteTypeCount; $k++) { for ($k=0; $k < $voteTypeCount; $k++) {
$per = round($nationVote[$nation['nation']][$k] / $memCount * 100, 1); if($memCount == 0){
$per = 0;
continue;
}
$per = round($nationVote[$nation['nation']][$k]??0 / $memCount * 100, 1);
if($i == $voteTypeCount-1){
$per = 100-$totalPer;
}
else{
$totalPer += $per;
}
// if($per < 5) { $vote['cnt'] = "&nbsp;"; } // if($per < 5) { $vote['cnt'] = "&nbsp;"; }
?> ?>
<?php if($per == 0): ?> <?php if($per == 0): ?>
<?php elseif($per < 10): ?> <?php elseif($per < 10): ?>
<div class='little_bar' style='width:<?=$per?>%;color:<?=getNewColor($k)?>;background-color:<?=getVoteColor($k)?>;'></div> <div class='little_bar' style='width:<?=$per?>%;color:<?=getNewColor($k)?>;background-color:<?=getVoteColor($k)?>;'></div>
<?php else:?> <?php else:?>
<div class='little_bar' style='width:<?=$per?>%;color:<?=getNewColor($k)?>;background-color:<?=getVoteColor($k)?>;'><?=$nationVote[$nation['nation']][$k]?></div> <div class='little_bar' style='width:<?=$per?>%;color:<?=getNewColor($k)?>;background-color:<?=getVoteColor($k)?>;'><?=$nationVote[$nation['nation']][$k]??0?></div>
<?php endif;?> <?php endif;?>
<?php <?php
} }
+3 -1
View File
@@ -33,6 +33,7 @@ if($me['level'] < 5) {
</head> </head>
<body> <body>
<div style='width:1000px;margin:auto'>
<table align=center width=1000 class='tb_layout bg0'> <table align=center width=1000 class='tb_layout bg0'>
<tr><td>기 밀 실<br><?=backButton()?></td></tr> <tr><td>기 밀 실<br><?=backButton()?></td></tr>
<form name=form1 method=post action=c_chiefboard.php> <form name=form1 method=post action=c_chiefboard.php>
@@ -65,10 +66,11 @@ for($i=0; $i < 20; $i++) {
?> ?>
<table align=center width=1000 class='tb_layout bg0'> <table width=1000 class='tb_layout bg0'>
<tr><td><?=backButton()?></td></tr> <tr><td><?=backButton()?></td></tr>
<tr><td><?=banner()?></td></tr> <tr><td><?=banner()?></td></tr>
</table> </table>
</div>
</body> </body>
</html> </html>
+10 -10
View File
@@ -152,16 +152,16 @@ for($k=0; $k < 2; $k++) {
$tn1 = $turn[$l1][$i]??"-"; $tn1 = $turn[$l1][$i]??"-";
echo " echo "
<tr> <tr>
<td width=28 align=center id=bg0><b>$j</b></td> <td width=20 align=center id=bg0><b>$j</b></td>
<td width=58 align=center bgcolor=black><b>$td4</b></td> <td width=43 align=center bgcolor=black><b>$td4</b></td>
<td width=173 align=center height=24 style=table-layout:fixed; id=bg2>$tn4</td> <td width=192 align=center height=24 style=table-layout:fixed; id=bg2>$tn4</td>
<td width=58 align=center bgcolor=black><b>$td3</b></td> <td width=43 align=center bgcolor=black><b>$td3</b></td>
<td width=173 align=center height=24 style=table-layout:fixed; id=bg2>$tn3</td> <td width=192 align=center height=24 style=table-layout:fixed; id=bg2>$tn3</td>
<td width=58 align=center bgcolor=black><b>$td2</b></td> <td width=43 align=center bgcolor=black><b>$td2</b></td>
<td width=173 align=center height=24 style=table-layout:fixed; id=bg2>$tn2</td> <td width=192 align=center height=24 style=table-layout:fixed; id=bg2>$tn2</td>
<td width=58 align=center bgcolor=black><b>$td1</b></td> <td width=43 align=center bgcolor=black><b>$td1</b></td>
<td width=173 align=center height=24 style=table-layout:fixed; id=bg2>$tn1</td> <td width=192 align=center height=24 style=table-layout:fixed; id=bg2>$tn1</td>
<td width=28 align=center id=bg0><b>$j</b></td> <td width=20 align=center id=bg0><b>$j</b></td>
</tr> </tr>
"; ";
if($totaldate[$l4]??'') { $totaldate[$l4] = addTurn($totaldate[$l4], $admin['turnterm']); } if($totaldate[$l4]??'') { $totaldate[$l4] = addTurn($totaldate[$l4], $admin['turnterm']); }
+14 -14
View File
@@ -184,18 +184,18 @@ if($city['trade'] == 0) {
<td colspan=12 align=center style=color:"<?=newColor($nation['color'])?>"; bgcolor=<?=$nation['color']?>>【 <?=CityConst::$regionMap[$city['region']]?> | <?=CityConst::$levelMap[$city['level']]?> 】 <?=$city['name']?></td> <td colspan=12 align=center style=color:"<?=newColor($nation['color'])?>"; bgcolor=<?=$nation['color']?>>【 <?=CityConst::$regionMap[$city['region']]?> | <?=CityConst::$levelMap[$city['level']]?> 】 <?=$city['name']?></td>
</tr> </tr>
<tr> <tr>
<td align=center width=48 class=bg1>주민</td> <td align=center width=46 class=bg1>주민</td>
<td align=center width=112><?=$city['pop']?>/<?=$city['pop2']?></td> <td align=center width=140><?=$city['pop']?>/<?=$city['pop2']?></td>
<td align=center width=48 class=bg1>농업</td> <td align=center width=46 class=bg1>농업</td>
<td align=center width=108><?=$city['agri']?>/<?=$city['agri2']?></td> <td align=center width=140><?=$city['agri']?>/<?=$city['agri2']?></td>
<td align=center width=48 class=bg1>상업</td> <td align=center width=46 class=bg1>상업</td>
<td align=center width=108><?=$city['comm']?>/<?=$city['comm2']?></td> <td align=center width=140><?=$city['comm']?>/<?=$city['comm2']?></td>
<td align=center width=48 class=bg1>치안</td> <td align=center width=46 class=bg1>치안</td>
<td align=center width=108><?=$city['secu']?>/<?=$city['secu2']?></td> <td align=center width=140><?=$city['secu']?>/<?=$city['secu2']?></td>
<td align=center width=48 class=bg1>수비</td> <td align=center width=46 class=bg1>수비</td>
<td align=center width=108><?=$city['def']?>/<?=$city['def2']?></td> <td align=center width=140><?=$city['def']?>/<?=$city['def2']?></td>
<td align=center width=48 class=bg1>성벽</td> <td align=center width=46 class=bg1>성벽</td>
<td align=center width=108><?=$city['wall']?>/<?=$city['wall2']?></td> <td align=center width=140><?=$city['wall']?>/<?=$city['wall2']?></td>
</tr> </tr>
<tr> <tr>
<td align=center class=bg1>민심</td> <td align=center class=bg1>민심</td>
@@ -234,7 +234,7 @@ if($city['trade'] == 0) {
<thead> <thead>
<tr> <tr>
<td width=64 align=center class=bg1>얼 굴</td> <td width=64 align=center class=bg1>얼 굴</td>
<td width=98 align=center class=bg1>이 름</td> <td width=128 align=center class=bg1>이 름</td>
<td width=48 align=center class=bg1>통솔</td> <td width=48 align=center class=bg1>통솔</td>
<td width=48 align=center class=bg1>무력</td> <td width=48 align=center class=bg1>무력</td>
<td width=48 align=center class=bg1>지력</td> <td width=48 align=center class=bg1>지력</td>
@@ -244,7 +244,7 @@ if($city['trade'] == 0) {
<td width=78 align=center class=bg1>병 사</td> <td width=78 align=center class=bg1>병 사</td>
<td width=48 align=center class=bg1>훈련</td> <td width=48 align=center class=bg1>훈련</td>
<td width=48 align=center class=bg1>사기</td> <td width=48 align=center class=bg1>사기</td>
<td width=310 align=center class=bg1>명 령</td> <td width=280 align=center class=bg1>명 령</td>
</tr></thead><tbody class='bg0' id='general_list'> </tr></thead><tbody class='bg0' id='general_list'>
<?php <?php
+2 -2
View File
@@ -58,7 +58,7 @@ if ($me['level'] >= 5) {
<table align=center width=1000 class='tb_layout bg0'> <table align=center width=1000 class='tb_layout bg0'>
<tr><td colspan=9 align=center bgcolor=blue>외 교 관 계</td></tr> <tr><td colspan=9 align=center bgcolor=blue>외 교 관 계</td></tr>
<tr> <tr>
<td width=100 align=center class=bg1>국 가 명</td> <td width=130 align=center class=bg1>국 가 명</td>
<td width=50 align=center class=bg1>국력</td> <td width=50 align=center class=bg1>국력</td>
<td width=40 align=center class=bg1>장수</td> <td width=40 align=center class=bg1>장수</td>
<td width=40 align=center class=bg1>속령</td> <td width=40 align=center class=bg1>속령</td>
@@ -219,7 +219,7 @@ if ($budgetricediff > 0) {
<tr><td colspan=2 align=center bgcolor=orange>국 가 방 침 &amp; 임관 권유 메세지</td></tr> <tr><td colspan=2 align=center bgcolor=orange>국 가 방 침 &amp; 임관 권유 메세지</td></tr>
<tr><td colspan=2 class=bg1>국가 방침 <textarea <?=$read?> maxlength=1000 rows="5" style="color:white;background-color:black;width:830px;" name=msg><?=$nation['msg']?></textarea><input type=<?=$btn?> name=btn value=국가방침></td></tr> <tr><td colspan=2 class=bg1>국가 방침 <textarea <?=$read?> maxlength=1000 rows="5" style="color:white;background-color:black;width:830px;" name=msg><?=$nation['msg']?></textarea><input type=<?=$btn?> name=btn value=국가방침></td></tr>
<tr><td colspan=2 class=bg1>임관 권유 <input type=text <?=$read?> maxlength=500 style=color:white;background-color:black;width:830px; name=scoutmsg value='<?=$nation['scoutmsg']?>'><input type=<?=$btn?> name=btn value=임관권유></td></tr> <tr><td colspan=2 class=bg1>임관 권유 <input type=text <?=$read?> maxlength=500 style=color:white;background-color:black;width:830px; name=scoutmsg value='<?=$nation['scoutmsg']?>'><input type=<?=$btn?> name=btn value=임관권유></td></tr>
<tr><td colspan=2>900 x 200px 넘는 크기를 점유할 시 통보없이 제한될 수 있습니다.</td></tr> <tr><td colspan=2>870 x 200px 넘는 크기를 점유할 시 통보없이 제한될 수 있습니다.</td></tr>
<tr><td colspan=2 height=10></td></tr> <tr><td colspan=2 height=10></td></tr>
<tr><td colspan=2 align=center bgcolor=green>예 산 &amp; 정 책</td></tr> <tr><td colspan=2 align=center bgcolor=green>예 산 &amp; 정 책</td></tr>
<tr> <tr>
+9 -9
View File
@@ -39,9 +39,9 @@ for($i=0; $i < $nationcount; $i++) {
$nationname[$nation['nation']] = $nation['name']; $nationname[$nation['nation']] = $nation['name'];
$nationStr .= "<font color=cyan>◆</font> <font style=color:".newColor($nation['color']).";background-color:{$nation['color']};>{$nation['name']}</font><br>"; $nationStr .= "<font color=cyan>◆</font> <font style=color:".newColor($nation['color']).";background-color:{$nation['color']};>{$nation['name']}</font><br>";
$powerStr .= "국력 {$nation['power']}<br>"; $powerStr .= "{$nation['power']}<br>";
$genStr .= "장수 {$nation['gennum']}<br>"; $genStr .= "{$nation['gennum']}<br>";
$cityStr .= "속령 $citycount<br>"; $cityStr .= "$citycount<br>";
} }
$realConflict = []; $realConflict = [];
@@ -108,7 +108,7 @@ $(function(){
<?php <?php
echo " echo "
<tr> <tr>
<td align=center width=108 style=background-color:".GameConst::$basecolor2.";>&nbsp;</td>"; <td align=center width=130 style=background-color:".GameConst::$basecolor2.";>&nbsp;</td>";
if($nationcount != 0) { if($nationcount != 0) {
$width = intdiv(888, $nationcount); $width = intdiv(888, $nationcount);
@@ -186,7 +186,7 @@ for($i=0; $i < $nationcount; $i++) {
<?php foreach($conflict as $item): ?> <?php foreach($conflict as $item): ?>
<tr> <tr>
<td <td
width=98 width=130
align=right align=right
style='color:<?=newColor($item['color'])?>;background-color:<?=$item['color']?>;' style='color:<?=newColor($item['color'])?>;background-color:<?=$item['color']?>;'
><?=$item['name']?>&nbsp;</td> ><?=$item['name']?>&nbsp;</td>
@@ -215,10 +215,10 @@ for($i=0; $i < $nationcount; $i++) {
<td width=698 height=420> <td width=698 height=420>
<?=getMapHtml()?> <?=getMapHtml()?>
</td> </td>
<td width=101 valign=top><?=$nationStr?></td> <td width=139 valign=top><div style='background-color:#cccccc;color:black;text-align:center'>국명</div><?=$nationStr?></td>
<td width=78 valign=top><?=$powerStr?></td> <td width=70 valign=top style='text-align:center'><div style='background-color:#cccccc;color:black;'>국력</div><?=$powerStr?></td>
<td width=58 valign=top><?=$genStr?></td> <td width=43 valign=top style='text-align:center'><div style='background-color:#cccccc;color:black;'>장수</div><?=$genStr?></td>
<td width=55 valign=top><?=$cityStr?></td> <td width=40 valign=top style='text-align:center'><div style='background-color:#cccccc;color:black;'>속령</div><?=$cityStr?></td>
</tr> </tr>
</table> </table>
<br> <br>
+10 -10
View File
@@ -144,14 +144,14 @@ if($meLevel >= 5 && $nation["l{$meLevel}set"] == 0) {
echo " echo "
<select name=outlist size=1 style=color:white;background-color:black;>"; <select name=outlist size=1 style=color:white;background-color:black;>";
$query = "select no,name,level from general where nation='{$me['nation']}' and level!='12' and no!='{$me['no']}' order by npc,binary(name)"; $query = "select no,name,level,leader,power,intel,killturn from general where nation='{$me['nation']}' and level!='12' and no!='{$me['no']}' order by npc,binary(name)";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($result); $gencount = MYDB_num_rows($result);
for($i=0; $i < $gencount; $i++) { for($i=0; $i < $gencount; $i++) {
$general = MYDB_fetch_array($result); $general = MYDB_fetch_array($result);
echo " echo "
<option value={$general['no']}>{$general['name']}</option>"; <option value={$general['no']}>{$general['name']} <small>({$general['leader']}/{$general['power']}/{$general['intel']}, {$general['killturn']}턴)</small></option>";
} }
echo " echo "
@@ -217,12 +217,12 @@ echo "
"; ";
$queries = []; $queries = [];
$queries[10] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$goodgenpower."' order by npc,binary(name)"; $queries[10] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
$queries[9] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$goodgenintel."' order by npc,binary(name)"; $queries[9] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
$queries[8] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$goodgenpower."' order by npc,binary(name)"; $queries[8] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
$queries[7] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$goodgenintel."' order by npc,binary(name)"; $queries[7] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
$queries[6] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$goodgenpower."' order by npc,binary(name)"; $queries[6] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
$queries[5] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$goodgenintel."' order by npc,binary(name)"; $queries[5] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
for($i=10; $i >= $lv; $i--) { for($i=10; $i >= $lv; $i--) {
if($i % 2 == 0) { echo "<tr>"; } if($i % 2 == 0) { echo "<tr>"; }
@@ -309,7 +309,7 @@ if($meLevel >= 5) {
<option value=0>____공석____</option> <option value=0>____공석____</option>
"; ";
$query = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$goodgenpower."' order by npc,binary(name)"; $query = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$count = MYDB_num_rows($result); $count = MYDB_num_rows($result);
for($i=0; $i < $count; $i++) { for($i=0; $i < $count; $i++) {
@@ -363,7 +363,7 @@ if($meLevel >= 5) {
<option value=0>____공석____</option> <option value=0>____공석____</option>
"; ";
$query = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$goodgenintel."' order by npc,binary(name)"; $query = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$count = MYDB_num_rows($result); $count = MYDB_num_rows($result);
for($i=0; $i < $count; $i++) { for($i=0; $i < $count; $i++) {
+12 -12
View File
@@ -128,18 +128,18 @@ for ($j=0; $j < $citycount; $j++) {
<td colspan=12 style=color:".newColor($nation['color'])."; bgcolor={$nation['color']}><font size=2>【 ".CityConst::$regionMap[$city['region']]." | ".CityConst::$levelMap[$city['level']]." 】 {$city['name']}</font></td> <td colspan=12 style=color:".newColor($nation['color'])."; bgcolor={$nation['color']}><font size=2>【 ".CityConst::$regionMap[$city['region']]." | ".CityConst::$levelMap[$city['level']]." 】 {$city['name']}</font></td>
</tr> </tr>
<tr> <tr>
<td align=center width=48 id=bg1>주민</td> <td align=center width=46 id=bg1>주민</td>
<td align=center width=112>{$city['pop']}/{$city['pop2']}</td> <td align=center width=140>{$city['pop']}/{$city['pop2']}</td>
<td align=center width=48 id=bg1>농업</td> <td align=center width=46 id=bg1>농업</td>
<td align=center width=108>{$city['agri']}/{$city['agri2']}</td> <td align=center width=140>{$city['agri']}/{$city['agri2']}</td>
<td align=center width=48 id=bg1>상업</td> <td align=center width=46 id=bg1>상업</td>
<td align=center width=108>{$city['comm']}/{$city['comm2']}</td> <td align=center width=140>{$city['comm']}/{$city['comm2']}</td>
<td align=center width=48 id=bg1>치안</td> <td align=center width=46 id=bg1>치안</td>
<td align=center width=108>{$city['secu']}/{$city['secu2']}</td> <td align=center width=140>{$city['secu']}/{$city['secu2']}</td>
<td align=center width=48 id=bg1>수비</td> <td align=center width=46 id=bg1>수비</td>
<td align=center width=108>{$city['def']}/{$city['def2']}</td> <td align=center width=140>{$city['def']}/{$city['def2']}</td>
<td align=center width=48 id=bg1>성벽</td> <td align=center width=46 id=bg1>성벽</td>
<td align=center width=108>{$city['wall']}/{$city['wall2']}</td> <td align=center width=140>{$city['wall']}/{$city['wall2']}</td>
</tr> </tr>
<tr> <tr>
<td align=center id=bg1>민심</td> <td align=center id=bg1>민심</td>
+4 -2
View File
@@ -28,7 +28,8 @@ $me = MYDB_fetch_array($result);
</head> </head>
<body> <body>
<table align=center width=1000 class='tb_layout bg0'> <div style='width:1000px;margin:auto'>
<table width=1000 class='tb_layout bg0'>
<tr><td>회 의 실<br><?=backButton()?></td></tr> <tr><td>회 의 실<br><?=backButton()?></td></tr>
<form name=form1 method=post action=c_nationboard.php> <form name=form1 method=post action=c_nationboard.php>
<tr><td align=center> <tr><td align=center>
@@ -60,10 +61,11 @@ for($i=0; $i < 20; $i++) {
?> ?>
<table align=center width=1000 class='tb_layout bg0'> <table width=1000 class='tb_layout bg0'>
<tr><td><?=backButton()?></td></tr> <tr><td><?=backButton()?></td></tr>
<tr><td><?=banner()?> </td></tr> <tr><td><?=banner()?> </td></tr>
</table> </table>
</div>
</body> </body>
</html> </html>
+13 -11
View File
@@ -31,6 +31,7 @@ $troopcount = MYDB_num_rows($result);
</head> </head>
<body> <body>
<div style="width:1000px;margin:auto;">
<table width=1000 class='tb_layout bg0'> <table width=1000 class='tb_layout bg0'>
<tr><td>부 대 편 성<br><?=backButton()?></td></tr> <tr><td>부 대 편 성<br><?=backButton()?></td></tr>
</table> </table>
@@ -38,10 +39,10 @@ $troopcount = MYDB_num_rows($result);
<table class='tb_layout bg0'> <table class='tb_layout bg0'>
<tr> <tr>
<td width=64 class='bg1 center'>선 택</td> <td width=64 class='bg1 center'>선 택</td>
<td width=98 class='bg1 center'>부 대 정 보</td> <td width=130 class='bg1 center'>부 대 정 보</td>
<td width=64 class='bg1 center'>부 대 장</td> <td width=100 class='bg1 center'>부 대 장</td>
<td width=662 class='bg1 center' style=table-layout:fixed;word-break:break-all;>장 수</td> <td width=576 class='bg1 center' style=table-layout:fixed;word-break:break-all;>장 수</td>
<td width=98 class='bg1 center' style=table-layout:fixed;word-break:break-all;>부대장행동</td> <td width=130 class='bg1 center' style=table-layout:fixed;word-break:break-all;>부대장행동</td>
</tr> </tr>
<?php <?php
for($i=0; $i < $troopcount; $i++) { for($i=0; $i < $troopcount; $i++) {
@@ -82,7 +83,7 @@ for($i=0; $i < $troopcount; $i++) {
<td align=center rowspan=2><input "; echo $i==0?"checked ":""; echo "type=radio name=troop value='{$troop['troop']}'></td> <td align=center rowspan=2><input "; echo $i==0?"checked ":""; echo "type=radio name=troop value='{$troop['troop']}'></td>
<td align=center >{$troop['name']}<br>【 $cityname 】</td> <td align=center >{$troop['name']}<br>【 $cityname 】</td>
<td height=64 style='background:no-repeat center url(\"{$imageTemp}/{$picture}\");background-size:64px;'>&nbsp;</td> <td height=64 style='background:no-repeat center url(\"{$imageTemp}/{$picture}\");background-size:64px;'>&nbsp;</td>
<td rowspan=2 width=662>$genlist</td> <td rowspan=2 width=62>$genlist</td>
<td rowspan=2>$turn</td> <td rowspan=2>$turn</td>
</tr> </tr>
<tr><td align=center><font size=2>【턴】".substr($turntime, 14)."</font></td><td align=center><font size=1>$name</font></td></tr> <tr><td align=center><font size=2>【턴】".substr($turntime, 14)."</font></td><td align=center><font size=1>$name</font></td></tr>
@@ -93,7 +94,7 @@ for($i=0; $i < $troopcount; $i++) {
<td align=center rowspan=2>&nbsp;</td> <td align=center rowspan=2>&nbsp;</td>
<td align=center >{$troop['name']}<br>【 $cityname 】</td> <td align=center >{$troop['name']}<br>【 $cityname 】</td>
<td height=64 style='background:no-repeat center url(\"{$imageTemp}/{$picture}\");background-size:64px;'>&nbsp;</td> <td height=64 style='background:no-repeat center url(\"{$imageTemp}/{$picture}\");background-size:64px;'>&nbsp;</td>
<td rowspan=2 width=662>$genlist</td> <td rowspan=2 width=576>$genlist</td>
<td rowspan=2>"; <td rowspan=2>";
if($troop['no'] == $me['no']) { if($troop['no'] == $me['no']) {
@@ -101,7 +102,7 @@ for($i=0; $i < $troopcount; $i++) {
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$genCount = MYDB_num_rows($genresult); $genCount = MYDB_num_rows($genresult);
echo " echo "
<select name=gen size=3 style=color:white;background-color:black;font-size:13px;width:98px;>"; <select name=gen size=3 style=color:white;background-color:black;font-size:13px;width:128px;>";
for($k=0; $k < $genCount; $k++) { for($k=0; $k < $genCount; $k++) {
$general = MYDB_fetch_array($genresult); $general = MYDB_fetch_array($genresult);
echo " echo "
@@ -109,7 +110,7 @@ for($i=0; $i < $troopcount; $i++) {
} }
echo " echo "
</select><br> </select><br>
<input type=submit name=btn value='부 대 추 방' style=width:100px;height:25px;>"; <input type=submit name=btn value='부 대 추 방' style=width:130px;height:25px;>";
} else { } else {
echo $turn; echo $turn;
} }
@@ -138,10 +139,10 @@ echo "
<br>"; <br>";
echo " echo "
<table align=center width=1000 class='tb_layout bg0'> <table width=1000 class='tb_layout bg0'>
<tr> <tr>
<td width=80 id=bg1>부 대 명</td> <td width=80 id=bg1>부 대 명</td>
<td width=100><input type=text style=color:white;background-color:black; size=12 maxlength=6 name=name></td>"; <td width=130><input type=text style=color:white;background-color:black; size=18 maxlength=9 name=name></td>";
if($me['troop'] == 0) { if($me['troop'] == 0) {
echo " echo "
<td><input type=submit name=btn value='부 대 창 설'></td>"; <td><input type=submit name=btn value='부 대 창 설'></td>";
@@ -154,11 +155,12 @@ echo "
</table>"; </table>";
?> ?>
<table align=center width=1000 class='tb_layout bg0'> <table width=1000 class='tb_layout bg0'>
<tr><td><?=backButton()?></td></tr> <tr><td><?=backButton()?></td></tr>
<tr><td><?=banner()?> </td></tr> <tr><td><?=banner()?> </td></tr>
</table> </table>
</form> </form>
</div>
</body> </body>
</html> </html>
+2 -2
View File
@@ -49,7 +49,7 @@ if($command == 46) {
$name = str_replace(" ", "", $name); $name = str_replace(" ", "", $name);
$name = str_replace(" ", "", $name); $name = str_replace(" ", "", $name);
if($name == "") { $name = "무명"; } if($name == "") { $name = "무명"; }
$name = StringUtil::subStringForWidth($name, 0, 12); $name = StringUtil::subStringForWidth($name, 0, 18);
$db->update('general', [ $db->update('general', [
'makenation'=>$name 'makenation'=>$name
@@ -77,7 +77,7 @@ if($command == 53) {
$nationname = str_replace(" ", "", $nationname); $nationname = str_replace(" ", "", $nationname);
$nationname = str_replace(" ", "", $nationname); $nationname = str_replace(" ", "", $nationname);
if($nationname == "") { $nationname = "무명"; } if($nationname == "") { $nationname = "무명"; }
$nationname = StringUtil::subStringForWidth($nationname, 0, 12); $nationname = StringUtil::subStringForWidth($nationname, 0, 18);
$query = "update general set makenation='{$nationname}' where level>=5 and nation='{$me['nation']}'"; $query = "update general set makenation='{$nationname}' where level>=5 and nation='{$me['nation']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
+30 -22
View File
@@ -38,19 +38,20 @@ if($meLevel < 5){
exit(); exit();
} }
if($btn == "임명") { if($btn == "임명") {
if($genlist !== 0){ if(!$genlist){
$query = "select no,nation,level,leader,power,intel from general where no='$genlist'"; header('location:b_myBossInfo.php');
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); exit();
$general = MYDB_fetch_array($result);
if(!$general){
header('location:b_myBossInfo.php');
exit();
}
} }
$query = "select no,nation,level,leader,power,intel from general where no='$genlist'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
if(!$general){
header('location:b_myBossInfo.php');
exit();
}
//임명할사람이 군주이면 불가, 내가 수뇌부이어야함, 공석아닌때는 국가가 같아야함 //임명할사람이 군주이면 불가, 내가 수뇌부이어야함, 공석아닌때는 국가가 같아야함
if($meLevel < 5 || ($general['nation'] != $me['nation'] && $genlist != 0) || ($general['level'] == 12 && $genlist != 0)) { if($meLevel < 5 || ($general['nation'] != $me['nation'] && $genlist != 0) || ($general['level'] == 12 && $genlist != 0)) {
@@ -59,6 +60,10 @@ if($btn == "임명") {
exit(); exit();
} }
} elseif($btn == "추방") { } elseif($btn == "추방") {
if(!$outlist){
header('location:b_myBossInfo.php');
exit();
}
$query = "select no,name,gold,rice,nation,troop,level,npc,picture,imgsvr from general where no='$outlist'"; $query = "select no,name,gold,rice,nation,troop,level,npc,picture,imgsvr from general where no='$outlist'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result); $general = MYDB_fetch_array($result);
@@ -111,21 +116,24 @@ if($btn == "추방") {
} }
if($dipcount1 > 0) { if($dipcount1 > 0) {
$alllog[] = "<C>●</>{$admin['month']}월:통합에 반대하던 <Y>{$general['name']}</>(이)가 <D><b>{$nation['name']}</b></>에서 <R>숙청</>당했습니다."; $josaYi = JosaUtil::pick($general['name'], '이');
$alllog[] = "<C>●</>{$admin['month']}월:통합에 반대하던 <Y>{$general['name']}</>{$josaYi} <D><b>{$nation['name']}</b></>에서 <R>숙청</>당했습니다.";
$log[] = "<C>●</>통합에 반대하다가 <D><b>{$nation['name']}</b></>에서 <R>숙청</>당했습니다."; $log[] = "<C>●</>통합에 반대하다가 <D><b>{$nation['name']}</b></>에서 <R>숙청</>당했습니다.";
// 재야로, 국가 무소속으로 // 재야로, 국가 무소속으로
$query = "update general set level=0,nation=0,belong=0,makelimit='12',gold='{$general['gold']}',rice='{$general['rice']}' where no='{$general['no']}'"; $query = "update general set level=0,nation=0,belong=0,makelimit='12',gold='{$general['gold']}',rice='{$general['rice']}' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} elseif($dipcount2 > 0) { } elseif($dipcount2 > 0) {
$alllog[] = "<C>●</>{$admin['month']}월:합병에 반대하던 <Y>{$general['name']}</>(이)가 <D><b>{$nation['name']}</b></>에서 <R>숙청</>당했습니다."; $josaYi = JosaUtil::pick($general['name'], '이');
$alllog[] = "<C>●</>{$admin['month']}월:합병에 반대하던 <Y>{$general['name']}</>{$josaYi} <D><b>{$nation['name']}</b></>에서 <R>숙청</>당했습니다.";
$log[] = "<C>●</>합병에 반대하다가 <D><b>{$nation['name']}</b></>에서 <R>숙청</>당했습니다."; $log[] = "<C>●</>합병에 반대하다가 <D><b>{$nation['name']}</b></>에서 <R>숙청</>당했습니다.";
// 재야로, 국가 무소속으로 // 재야로, 국가 무소속으로
$query = "update general set level=0,nation=0,belong=0,makelimit='12',gold='{$general['gold']}',rice='{$general['rice']}' where no='{$general['no']}'"; $query = "update general set level=0,nation=0,belong=0,makelimit='12',gold='{$general['gold']}',rice='{$general['rice']}' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} else { } else {
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <D><b>{$nation['name']}</b></>에서 <R>추방</>당하였습니다."; $josaYi = JosaUtil::pick($general['name'], '이');
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <D><b>{$nation['name']}</b></>에서 <R>추방</>당하였습니다.";
$log[] = "<C>●</><D><b>{$nation['name']}</b></>에서 <R>추방</>당하였습니다."; $log[] = "<C>●</><D><b>{$nation['name']}</b></>에서 <R>추방</>당하였습니다.";
// 재야로, 국가 무소속으로, 명성/공헌 N*10%감소 // 재야로, 국가 무소속으로, 명성/공헌 N*10%감소
@@ -192,7 +200,7 @@ if($btn == "추방") {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($result); $gencount = MYDB_num_rows($result);
$gennum = $gencount; $gennum = $gencount;
if($gencount < 10) $gencount = 10; if($gencount < GameConst::$initialNationGenLimit) $gencount = GameConst::$initialNationGenLimit;
$nation['chemi'] -= 1; $nation['chemi'] -= 1;
if($nation['chemi'] < 0) { $nation['chemi'] = 0; } if($nation['chemi'] < 0) { $nation['chemi'] = 0; }
@@ -242,12 +250,12 @@ if($btn == "임명" && $level >= 5 && $level <= 11) {
if($genlist != 0) { if($genlist != 0) {
$valid = 0; $valid = 0;
switch($level) { switch($level) {
case 10: if($general['power'] >= GameConst::$goodgenpower) { $valid = 1; } break; case 10: if($general['power'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
case 9: if($general['intel'] >= GameConst::$goodgenintel) { $valid = 1; } break; case 9: if($general['intel'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
case 8: if($general['power'] >= GameConst::$goodgenpower) { $valid = 1; } break; case 8: if($general['power'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
case 7: if($general['intel'] >= GameConst::$goodgenintel) { $valid = 1; } break; case 7: if($general['intel'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
case 6: if($general['power'] >= GameConst::$goodgenpower) { $valid = 1; } break; case 6: if($general['power'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
case 5: if($general['intel'] >= GameConst::$goodgenintel) { $valid = 1; } break; case 5: if($general['intel'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
default: $valid = 1; break; default: $valid = 1; break;
} }
if($valid == 1) { if($valid == 1) {
@@ -299,8 +307,8 @@ if($btn == "임명" && $level >= 2 && $level <= 4 && $citylist > 0) {
if($genlist != 0) { if($genlist != 0) {
$valid = 0; $valid = 0;
switch($level) { switch($level) {
case 4: if($general['power'] >= GameConst::$goodgenpower) { $valid = 1; } break; case 4: if($general['power'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
case 3: if($general['intel'] >= GameConst::$goodgenintel) { $valid = 1; } break; case 3: if($general['intel'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
default: $valid = 1; break; default: $valid = 1; break;
} }
+1 -1
View File
@@ -161,7 +161,7 @@ if($btn == "자동개최설정") {
} }
$map = []; $map = [];
for($i=0; $i < 8; $i++) { for($i=0; $i < 8; $i++) {
if($occupied[$i] == 0) { if(!isset($occupied[$i]) || $occupied[$i] == 0) {
$map[] = $i; $map[] = $i;
} }
} }
+13 -12
View File
@@ -16,11 +16,14 @@ extractMissingPostToGlobals();
$session = Session::requireGameLogin()->setReadOnly(); $session = Session::requireGameLogin()->setReadOnly();
$userID = Session::getUserID(); $userID = Session::getUserID();
$isVoteAdmin = in_array('vote', $session->acl[DB::prefix()]??[]);
$isVoteAdmin |= $session->userGrade >= 5;
$db = DB::db(); $db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor = KVStorage::getStorage($db, 'game_env');
$connect=$db->get(); $connect=$db->get();
$admin = $gameStor->getValues(['develcost', 'cost', 'vote', 'votecomment']); $admin = $gameStor->getValues(['develcost', 'cost', 'vote_title', 'vote', 'votecomment']);
$query = "select no,vote,name,nation,horse,weap,book,item,npc from general where owner='{$userID}'"; $query = "select no,vote,name,nation,horse,weap,book,item,npc from general where owner='{$userID}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -35,11 +38,8 @@ if($btn == "투표" && $me['vote'] == 0 && $sel > 0) {
$log = uniqueItem($me, $log, 1); $log = uniqueItem($me, $log, 1);
pushGenLog($me, $log); pushGenLog($me, $log);
} }
else if($btn == "댓글" && $comment != "") { else if($btn == "댓글" && trim($comment) != "") {
$comment = str_replace("|", " ", $comment);
$comment = str_replace(":", " ", $comment);
$comment = trim($comment); $comment = trim($comment);
$comment = addslashes(SQ2DQ($comment));
$nation = getNationStaticInfo($me['nation']); $nation = getNationStaticInfo($me['nation']);
@@ -50,7 +50,7 @@ else if($btn == "댓글" && $comment != "") {
$gameStor->votecomment = $admin['votecomment']; $gameStor->votecomment = $admin['votecomment'];
} }
if($session->userGrade < 5){ if(!$isVoteAdmin){
header('location:a_vote.php'); header('location:a_vote.php');
die(); die();
} }
@@ -58,20 +58,21 @@ if($session->userGrade < 5){
if($btn == "수정") { if($btn == "수정") {
if($title != "") { if($title != "") {
$vote = $admin['vote']; $gameStor->vote_title = $title;
$vote[0] = $title;
$gameStor->vote = $admin['vote'];
} }
} elseif($btn == "추가") { } elseif($btn == "추가") {
if($str != "") { if($str != "") {
//TODO:vote if(!$admin['vote']){
$admin['vote'] = [];
}
$admin['vote'][] = $str; $admin['vote'][] = $str;
$gameStor->vote=$admin['vote']; $gameStor->vote=$admin['vote'];
} }
} elseif($btn == "리셋") { } elseif($btn == "리셋") {
$gameStor->voteopen=1; $gameStor->voteopen=1;
$gameStor->vote=''; $gameStor->vote=['-'];
$gameStor->votecomment=''; $gameStor->vote_title = '-';
$gameStor->votecomment=[];
$query = "update general set vote='0'"; $query = "update general set vote='0'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
+7 -11
View File
@@ -4,10 +4,9 @@ namespace sammo;
include "lib.php"; include "lib.php";
include "func.php"; include "func.php";
//로그인 검사 //로그인 검사
$session = Session::requireGameLogin()->setReadOnly(); $session = Session::getInstance()->setReadOnly();
$db = DB::db(); $db = DB::db();
$connect=$db->get();
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
@@ -19,7 +18,7 @@ $connect=$db->get();
<?=WebUtil::printCSS('css/common.css')?> <?=WebUtil::printCSS('css/common.css')?>
<script type="text/javascript"> <script type="text/javascript">
<?php <?php
if(!$session->isLoggedIn()){ if(!$session->isGameLoggedIn()){
echo 'window.parent.location.href = "../";'; echo 'window.parent.location.href = "../";';
} }
?> ?>
@@ -68,7 +67,6 @@ myCommandList();
function myCommandList() { function myCommandList() {
$db = DB::db(); $db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor = KVStorage::getStorage($db, 'game_env');
$connect=$db->get();
$userID = Session::getUserID(); $userID = Session::getUserID();
$date = date('Y-m-d H:i:s'); $date = date('Y-m-d H:i:s');
@@ -76,9 +74,7 @@ function myCommandList() {
// 명령 목록 // 명령 목록
$admin = $gameStor->getValues(['year','month','turnterm']); $admin = $gameStor->getValues(['year','month','turnterm']);
$query = "select no,turntime,term,turn0,turn1,turn2,turn3,turn4,turn5,turn6,turn7,turn8,turn9,turn10,turn11,turn12,turn13,turn14,turn15,turn16,turn17,turn18,turn19,turn20,turn21,turn22,turn23 from general where owner='{$userID}'"; $me = $db->queryFirstRow("SELECT `no`,turntime,term,turn0,turn1,turn2,turn3,turn4,turn5,turn6,turn7,turn8,turn9,turn10,turn11,turn12,turn13,turn14,turn15,turn16,turn17,turn18,turn19,turn20,turn21,turn22,turn23 FROM general WHERE `owner`=%s", $userID);
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$me = MYDB_fetch_array($result);
if(!$me){ if(!$me){
echo "로그인 되어있지 않습니다."; echo "로그인 되어있지 않습니다.";
return; return;
@@ -108,10 +104,10 @@ function myCommandList() {
$turndate = substr($totaldate,11, 5); $turndate = substr($totaldate,11, 5);
echo " echo "
<tr height=28> <tr height=28>
<td width=30 align=center height=24 id=bg0><b>$j</b></td> <td width=24 align=center height=24 id=bg0><b>$j</b></td>
<td width=75 align=center height=24 id=bg1><b>{$year}年 {$month}月</b></td> <td width=71 align=center height=24 id=bg1><b>{$year}年 {$month}月</b></td>
<td width=45 align=center bgcolor=black><b>$turndate</b></td> <td width=42 align=center bgcolor=black><b>$turndate</b></td>
<td width=137 align=center height=24 style=table-layout:fixed;>$turn[$i]</td> <td width=150 align=center height=24 style=table-layout:fixed;>$turn[$i]</td>
</tr>"; </tr>";
$month++; $month++;
$totaldate = addTurn($totaldate, $admin['turnterm']); $totaldate = addTurn($totaldate, $admin['turnterm']);
+1
View File
@@ -130,6 +130,7 @@ div.bar_out div.bar_in{
.small_war_log .crew_plate{ .small_war_log .crew_plate{
color:orangered; color:orangered;
font-size:90%;
} }
.t_date{ .t_date{
+11
View File
@@ -35,6 +35,10 @@
background-color:#5d1e1a; background-color:#5d1e1a;
} }
.msg_plate_private.msg_plate_dest{
background-color:#5d461a;
}
.msg_plate_public{ .msg_plate_public{
background-color:#141c65; background-color:#141c65;
@@ -42,7 +46,14 @@
.msg_plate_national, .msg_plate_diplomacy{ .msg_plate_national, .msg_plate_diplomacy{
background-color:#00582c; background-color:#00582c;
}
.msg_plate_national.msg_plate_dest, .msg_plate_diplomacy.msg_plate_dest {
background-color:#704615;
}
.msg_plate_national.msg_plate_src, .msg_plate_diplomacy.msg_plate_src {
background-color:#70153b;
} }
.public_message{ .public_message{
+1 -1
View File
@@ -7,7 +7,7 @@
text-align:center; text-align:center;
} }
.general_card{ .general_card{
width:100px; width:125px;
display:inline-block; display:inline-block;
} }
+12
View File
@@ -0,0 +1,12 @@
<?php
namespace sammo;
class GameCustomConst
{
/** @var int 유저 스탯 총합 */
public static $defaultStatTotal = _tK_statTotal_;
public static $defaultStatMin = _tK_statMin_;
public static $defaultStatMax = _tK_statMax_;
public static $defaultStatNPCMax = _tK_statNPCMax_;
public static $chiefStatMin = _tK_statChiefMin_;
}
+149 -126
View File
@@ -1145,13 +1145,13 @@ function msgprint($msg, $name, $picture, $imgsvr, $when, $num, $type) {
echo " echo "
<table style='text-align:center;' width=1000 class='tb_layout bg0'> <table style='text-align:center;' width=1000 class='tb_layout bg0'>
<tr> <tr>
<td width=64 style='text-align:center;' class='bg1'><font size=1>$name</font></td> <td width=90 style='text-align:center;' class='bg1'><font size=1>$name</font></td>
<td width=772 style='text-align:center;' class='bg1'><font size=4><b>$message[0]</b></font></td> <td width=746 style='text-align:center;' class='bg1'><font size=4><b>$message[0]</b></font></td>
<td width=148 style='text-align:center;' class='bg1'>$when</td> <td width=148 style='text-align:center;' class='bg1'>$when</td>
</tr> </tr>
<tr> <tr>
<td width=64 height=64 valign=top><img width='64' height='64' src={$imageTemp}/{$picture} border='0'></td> <td width=90 height=64 valign=top><img width='64' height='64' src={$imageTemp}/{$picture} border='0'></td>
<td width=932 colspan=2>$message[1]</td> <td width=906 colspan=2>$message[1]</td>
</tr>"; </tr>";
for($i=0; $i < $count; $i++) { for($i=0; $i < $count; $i++) {
$who = Tag2Code($message[2+$i*2]); $who = Tag2Code($message[2+$i*2]);
@@ -1161,16 +1161,16 @@ function msgprint($msg, $name, $picture, $imgsvr, $when, $num, $type) {
$regen = MYDB_fetch_array($result); $regen = MYDB_fetch_array($result);
echo " echo "
<tr> <tr>
<td width=64 style='text-align:center;'><font size=1>{$regen['name']}</font></td> <td width=90 style='text-align:center;'><font size=1>{$regen['name']}</font></td>
<td width=932 colspan=2>$reply</td> <td width=906 colspan=2>$reply</td>
</tr>"; </tr>";
} }
echo " echo "
<tr> <tr>
<form name=reply_form{$num} method=post action=$board> <form name=reply_form{$num} method=post action=$board>
<td width=64 style='text-align:center;'>댓글달기</td> <td width=90 style='text-align:center;'>댓글달기</td>
<td width=932 colspan=2> <td width=906 colspan=2>
<input type=textarea name=reply maxlength=250 style=color:white;background-color:black;width:830px;> <input type=textarea name=reply maxlength=250 style=color:white;background-color:black;width:804px;>
<input type=submit value=댓글달기> <input type=submit value=댓글달기>
<input type=hidden name=num value=$num> <input type=hidden name=num value=$num>
</td> </td>
@@ -1322,20 +1322,20 @@ function updateTraffic() {
$online = getOnlineNum(); $online = getOnlineNum();
$db = DB::db(); $db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor = KVStorage::getStorage($db, 'game_env');
$game_env = $gameStor->getValues(['year','month','refresh','maxonline','maxrefresh']); $admin = $gameStor->getValues(['year','month','refresh','maxonline','maxrefresh']);
//최다갱신자 //최다갱신자
$user = $db->queryFirstRow('select name,refresh from general order by refresh desc limit 1'); $user = $db->queryFirstRow('select name,refresh from general order by refresh desc limit 1');
if($game_env['maxrefresh'] < $game_env['refresh']) { if($admin['maxrefresh'] < $admin['refresh']) {
$game_env['maxrefresh'] = $game_env['refresh']; $admin['maxrefresh'] = $admin['refresh'];
} }
if($game_env['maxonline'] < $online) { if($admin['maxonline'] < $online) {
$game_env['maxonline'] = $online; $admin['maxonline'] = $online;
} }
$gameStor->refresh = 0; $gameStor->refresh = 0;
$gameStor->maxrefresh = $game_env['maxrefresh']; $gameStor->maxrefresh = $admin['maxrefresh'];
$gameStor->maxonline = $game_env['maxonline']; $gameStor->maxonline = $admin['maxonline'];
$db->update('general', ['refresh'=>0], true); $db->update('general', ['refresh'=>0], true);
@@ -1344,9 +1344,9 @@ function updateTraffic() {
file_put_contents(__dir__."/logs/_traffic.txt", file_put_contents(__dir__."/logs/_traffic.txt",
Json::encode([ Json::encode([
$date, $date,
$game_env['year'], $admin['year'],
$game_env['month'], $admin['month'],
$game_env['refresh'], $admin['refresh'],
$online, $online,
$user['name']."(".$user['refresh'].")" $user['name']."(".$user['refresh'].")"
])."\n" ])."\n"
@@ -1438,9 +1438,12 @@ function checkDelay() {
$iter = intdiv($timeMinDiff, $term); $iter = intdiv($timeMinDiff, $term);
if($iter > $threshold) { if($iter > $threshold) {
$minute = $iter * $term; $minute = $iter * $term;
$newTurntime = $turntime->add(new DateInterval("PT{$minute}M")); $newTurntime = $turntime->add(new \DateInterval("PT{$minute}M"));
$newNextTurntime = $turntime->add(new DateInterval("PT{$term}M")); $newNextTurntime = $turntime->add(new \DateInterval("PT{$term}M"));
$gameStor->turntime = $newTurntime; $gameStor->turntime = $newTurntime->format('Y-m-d H:i:s');
$gameStor->starttime = (new \DateTimeImmutable($gameStor->starttime))
->add(new \DateInterval("PT{$minute}M"))
->format('Y-m-d H:i:s');
$db->update('general', [ $db->update('general', [
'turntime'=> $db->sqleval('DATE_ADD(turntime, INTERVAL %i MINUTE)', $minute) 'turntime'=> $db->sqleval('DATE_ADD(turntime, INTERVAL %i MINUTE)', $minute)
@@ -1537,7 +1540,7 @@ function checkTurn() {
//if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', 진입'); //if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', 진입');
//천통시에는 동결 //천통시에는 동결
if($gameStor->isUnited == 2) { if($gameStor->isunited == 2) {
$db->update('plock', ['plock'=>1], true); $db->update('plock', ['plock'=>1], true);
return; return;
} }
@@ -1743,8 +1746,9 @@ function addAge() {
$query = "update general set special='$special' where no='{$general['no']}'"; $query = "update general set special='$special' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:특기 【<b><C>".getGenSpecial($special)."</></b>】(을)를 습득"); $josaUl = JosaUtil::pick($special, '을');
pushGenLog($general, "<C>●</>특기 【<b><L>".getGenSpecial($special)."</></b>】(을)를 익혔습니다!"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:특기 【<b><C>".getGenSpecial($special)."</></b>】{$josaUl} 습득");
pushGenLog($general, "<C>●</>특기 【<b><L>".getGenSpecial($special)."</></b>】{$josaUl} 익혔습니다!");
} }
$query = "select no,name,nation,leader,power,intel,npc,dex0,dex10,dex20,dex30,dex40 from general where specage2<=age and special2='0'"; $query = "select no,name,nation,leader,power,intel,npc,dex0,dex10,dex20,dex30,dex40 from general where specage2<=age and special2='0'";
@@ -1758,8 +1762,9 @@ function addAge() {
$query = "update general set special2='$special2' where no='{$general['no']}'"; $query = "update general set special2='$special2' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:특기 【<b><C>".getGenSpecial($special2)."</></b>】(을)를 습득"); $josaUl = JosaUtil::pick($special2, '을');
pushGenLog($general, "<C>●</>특기 【<b><L>".getGenSpecial($special2)."</></b>】(을)를 익혔습니다!"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:특기 【<b><C>".getGenSpecial($special2)."</></b>】{$josaUl} 습득");
pushGenLog($general, "<C>●</>특기 【<b><L>".getGenSpecial($special2)."</></b>】{$josaUl} 익혔습니다!");
} }
} }
} }
@@ -1842,7 +1847,8 @@ function PreprocessCommand($no) {
$query = "update general set injury=0 where no='{$patient['no']}'"; $query = "update general set injury=0 where no='{$patient['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
pushGenLog($patient, "<C>●</><Y>{$general['name']}</>(이)가 <C>의술</>로써 치료해줍니다!"); $josaYi = JosaUtil::pick($general['name'], '이');
pushGenLog($patient, "<C>●</><Y>{$general['name']}</>{$josaYi} <C>의술</>로써 치료해줍니다!");
if($patientName == "") { if($patientName == "") {
$patientName = $patient['name']; $patientName = $patient['name'];
@@ -1850,7 +1856,8 @@ function PreprocessCommand($no) {
} }
if($patientCount == 1) { if($patientCount == 1) {
pushGenLog($general, "<C>●</><C>의술</>을 펼쳐 도시의 장수 <Y>{$patientName}</>(을)를 치료합니다!"); $josaUl = JosaUtil::pick($patientName, '을');
pushGenLog($general, "<C>●</><C>의술</>을 펼쳐 도시의 장수 <Y>{$patientName}</>{$josaUl} 치료합니다!");
} else { } else {
$patientCount -= 1; $patientCount -= 1;
pushGenLog($general, "<C>●</><C>의술</>을 펼쳐 도시의 장수들 <Y>{$patientName}</> 외 <C>{$patientCount}</>명을 치료합니다!"); pushGenLog($general, "<C>●</><C>의술</>을 펼쳐 도시의 장수들 <Y>{$patientName}</> 외 <C>{$patientCount}</>명을 치료합니다!");
@@ -1864,7 +1871,8 @@ function PreprocessCommand($no) {
$query = "update general set injury=0 where no='$no'"; $query = "update general set injury=0 where no='$no'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$log[0] = "<C>●</><C>".getItemName($general['item'])."</>(을)를 사용하여 치료합니다!"; $josaUl = JosaUtil::pick($general['item'], '을');
$log[0] = "<C>●</><C>".getItemName($general['item'])."</>{$josaUl} 사용하여 치료합니다!";
pushGenLog($general, $log); pushGenLog($general, $log);
} elseif($general['injury'] > 10 && $general['item'] == 1 && $general['turn0'] != EncodeCommand(0, 0, 0, 50)) { } elseif($general['injury'] > 10 && $general['item'] == 1 && $general['turn0'] != EncodeCommand(0, 0, 0, 50)) {
//환약 사용 //환약 사용
@@ -1893,7 +1901,7 @@ function updateTurntime($no) {
$alllog = []; $alllog = [];
$log = []; $log = [];
$admin = $gameStor->getValues(['year', 'month', 'isUnited', 'turnterm']); $admin = $gameStor->getValues(['year', 'month', 'isunited', 'turnterm']);
$query = "select no,name,name2,nation,troop,age,turntime,killturn,level,deadyear,npc,npc_org,affinity,npcid from general where no='$no'"; $query = "select no,name,name2,nation,troop,age,turntime,killturn,level,deadyear,npc,npc_org,affinity,npcid from general where no='$no'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -1908,10 +1916,11 @@ function updateTurntime($no) {
$query = "update general set owner=-1,npc='{$general['npc']}',killturn='{$general['killturn']}',mode=2 where no='$no'"; $query = "update general set owner=-1,npc='{$general['npc']}',killturn='{$general['killturn']}',mode=2 where no='$no'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name2']}</>(이)가 <Y>{$general['name']}</>의 육체에서 <S>유체이탈</>합니다!"; $josaYi = JosaUtil::pick($general['name2'], '이');
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name2']}</>{$josaYi} <Y>{$general['name']}</>의 육체에서 <S>유체이탈</>합니다!";
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']); pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
if($admin['isUnited'] == 0) { if($admin['isunited'] == 0) {
CheckHall($no); CheckHall($no);
} }
} else { } else {
@@ -1953,72 +1962,73 @@ function updateTurntime($no) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($result); $gencount = MYDB_num_rows($result);
$gennum = $gencount; $gennum = $gencount;
if($gencount < 10) $gencount = 10; if($gencount < GameConst::$initialNationGenLimit) $gencount = GameConst::$initialNationGenLimit;
$query = "update nation set totaltech=tech*'$gencount',gennum='$gennum' where nation='{$general['nation']}'"; $query = "update nation set totaltech=tech*'$gencount',gennum='$gennum' where nation='{$general['nation']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
// 병, 요절, 객사, 번개, 사채, 일확천금, 호랑이, 곰, 수영, 처형, 발견 // 병, 요절, 객사, 번개, 사채, 일확천금, 호랑이, 곰, 수영, 처형, 발견
$josaYi = JosaUtil::pick($general['name'], '이');
switch(rand()%42) { switch(rand()%42) {
case 0: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 역병에 걸려 <R>죽고</> 말았습니다."; break; case 0: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 역병에 걸려 <R>죽고</> 말았습니다."; break;
case 1: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <R>요절</>하고 말았습니다."; break; case 1: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <R>요절</>하고 말았습니다."; break;
case 2: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 거리에서 갑자기 <R>객사</>하고 말았습니다."; break; case 2: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 거리에서 갑자기 <R>객사</>하고 말았습니다."; break;
case 3: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 안타깝게도 번개에 맞아 <R>죽고</> 말았습니다."; break; case 3: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 안타깝게도 번개에 맞아 <R>죽고</> 말았습니다."; break;
case 4: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 고리대금에 시달리다가 <R>자살</>하고 말았습니다."; break; case 4: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 고리대금에 시달리다가 <R>자살</>하고 말았습니다."; break;
case 5: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 일확천금에 놀라 심장마비로 <R>죽고</> 말았습니다."; break; case 5: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 일확천금에 놀라 심장마비로 <R>죽고</> 말았습니다."; break;
case 6: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 산속에서 호랑이에게 물려 <R>죽고</> 말았습니다."; break; case 6: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 산속에서 호랑이에게 물려 <R>죽고</> 말았습니다."; break;
case 7: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 산책중 곰에게 할퀴어 <R>죽고</> 말았습니다."; break; case 7: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 산책중 곰에게 할퀴어 <R>죽고</> 말았습니다."; break;
case 8: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 수영을 하다 <R>익사</>하고 말았습니다."; break; case 8: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 수영을 하다 <R>익사</>하고 말았습니다."; break;
case 9: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 황제를 모독하다가 <R>처형</>당하고 말았습니다."; break; case 9: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 황제를 모독하다가 <R>처형</>당하고 말았습니다."; break;
case 10: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 이튿날 침실에서 <R>죽은채로</>발견되었습니다."; break; case 10: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 이튿날 침실에서 <R>죽은채로</>발견되었습니다."; break;
case 11: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 색에 빠져 기력이 쇠진해 <R>죽고</>말았습니다."; break; case 11: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 색에 빠져 기력이 쇠진해 <R>죽고</>말았습니다."; break;
case 12: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 미녀를 보고 심장마비로 <R>죽고</>말았습니다."; break; case 12: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 미녀를 보고 심장마비로 <R>죽고</>말았습니다."; break;
case 13: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 우울증에 걸려 <R>자살</>하고 말았습니다."; break; case 13: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 우울증에 걸려 <R>자살</>하고 말았습니다."; break;
case 14: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 천하 정세를 비관하며 <R>분신</>하고 말았습니다."; break; case 14: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 천하 정세를 비관하며 <R>분신</>하고 말았습니다."; break;
case 15: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 어떤 관심도 못받고 쓸쓸히 <R>죽고</>말았습니다."; break; case 15: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 어떤 관심도 못받고 쓸쓸히 <R>죽고</>말았습니다."; break;
case 16: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 유산 상속 문제로 다투다가 <R>살해</>당했습니다."; break; case 16: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 유산 상속 문제로 다투다가 <R>살해</>당했습니다."; break;
case 17: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 누군가의 사주로 자객에게 <R>암살</>당했습니다."; break; case 17: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 누군가의 사주로 자객에게 <R>암살</>당했습니다."; break;
case 18: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 바람난 배우자에게 <R>독살</>당하고 말았습니다."; break; case 18: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 바람난 배우자에게 <R>독살</>당하고 말았습니다."; break;
case 19: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 농약을 술인줄 알고 마셔 <R>죽고</>말았습니다."; break; case 19: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 농약을 술인줄 알고 마셔 <R>죽고</>말았습니다."; break;
case 20: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 아무 이유 없이 <R>죽고</>말았습니다."; break; case 20: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 아무 이유 없이 <R>죽고</>말았습니다."; break;
case 21: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 전재산을 잃고 화병으로 <R>죽고</>말았습니다."; break; case 21: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 전재산을 잃고 화병으로 <R>죽고</>말았습니다."; break;
case 22: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 단식운동을 하다가 굶어 <R>죽고</>말았습니다."; break; case 22: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 단식운동을 하다가 굶어 <R>죽고</>말았습니다."; break;
case 23: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 귀신에게 홀려 시름 앓다가 <R>죽고</>말았습니다."; break; case 23: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 귀신에게 홀려 시름 앓다가 <R>죽고</>말았습니다."; break;
case 24: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 사람들에게 집단으로 맞아서 <R>죽고</>말았습니다."; break; case 24: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 사람들에게 집단으로 맞아서 <R>죽고</>말았습니다."; break;
case 25: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 갑자기 성벽에서 뛰어내려 <R>죽고</>말았습니다."; break; case 25: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 갑자기 성벽에서 뛰어내려 <R>죽고</>말았습니다."; break;
case 26: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 농사중 호미에 머리를 맞아 <R>죽고</>말았습니다."; break; case 26: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 농사중 호미에 머리를 맞아 <R>죽고</>말았습니다."; break;
case 27: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 저세상이 궁금하다며 <R>자살</>하고 말았습니다."; break; case 27: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 저세상이 궁금하다며 <R>자살</>하고 말았습니다."; break;
case 28: $alllog[0] = "<C>●</>{$admin['month']}월:운좋기로 소문난 <Y>{$general['name']}</>(이)가 불운하게도 <R>죽고</>말았습니다."; break; case 28: $alllog[0] = "<C>●</>{$admin['month']}월:운좋기로 소문난 <Y>{$general['name']}</>{$josaYi} 불운하게도 <R>죽고</>말았습니다."; break;
case 29: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 무리하게 단련을 하다가 <R>죽고</>말았습니다."; break; case 29: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 무리하게 단련을 하다가 <R>죽고</>말았습니다."; break;
case 30: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 생활고를 비관하며 <R>자살</>하고 말았습니다."; break; case 30: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 생활고를 비관하며 <R>자살</>하고 말았습니다."; break;
case 31: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 평생 결혼도 못해보고 <R>죽고</> 말았습니다."; break; case 31: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 평생 결혼도 못해보고 <R>죽고</> 말았습니다."; break;
case 32: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 과식하다 배가 터져 <R>죽고</> 말았습니다."; break; case 32: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 과식하다 배가 터져 <R>죽고</> 말았습니다."; break;
case 33: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 웃다가 숨이 넘어가 <R>죽고</> 말았습니다."; break; case 33: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 웃다가 숨이 넘어가 <R>죽고</> 말았습니다."; break;
case 34: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 추녀를 보고 놀라서 <R>죽고</> 말았습니다."; break; case 34: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 추녀를 보고 놀라서 <R>죽고</> 말았습니다."; break;
case 35: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 물에 빠진 사람을 구하려다 같이 <R>죽고</> 말았습니다."; break; case 35: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 물에 빠진 사람을 구하려다 같이 <R>죽고</> 말았습니다."; break;
case 36: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 독살을 준비하다 독에 걸려 <R>죽고</> 말았습니다."; break; case 36: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 독살을 준비하다 독에 걸려 <R>죽고</> 말았습니다."; break;
case 37: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 뒷간에서 너무 힘을 주다가 <R>죽고</> 말았습니다."; break; case 37: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 뒷간에서 너무 힘을 주다가 <R>죽고</> 말았습니다."; break;
case 38: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 돌팔이 의사에게 치료받다가 <R>죽고</> 말았습니다."; break; case 38: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 돌팔이 의사에게 치료받다가 <R>죽고</> 말았습니다."; break;
case 39: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 남의 보약을 훔쳐먹다 부작용으로 <R>죽고</> 말았습니다."; break; case 39: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 남의 보약을 훔쳐먹다 부작용으로 <R>죽고</> 말았습니다."; break;
case 40: $alllog[0] = "<C>●</>{$admin['month']}월:희대의 사기꾼 <Y>{$general['name']}</>(이)가 <R>사망</>했습니다."; break; case 40: $alllog[0] = "<C>●</>{$admin['month']}월:희대의 사기꾼 <Y>{$general['name']}</>{$josaYi} <R>사망</>했습니다."; break;
case 41: $alllog[0] = "<C>●</>{$admin['month']}월:희대의 호색한 <Y>{$general['name']}</>(이)가 <R>사망</>했습니다."; break; case 41: $alllog[0] = "<C>●</>{$admin['month']}월:희대의 호색한 <Y>{$general['name']}</>{$josaYi} <R>사망</>했습니다."; break;
default: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <R>사망</>했습니다."; break; default: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <R>사망</>했습니다."; break;
} }
// 엔피씨,엠피씨,의병 사망로그 // 엔피씨,엠피씨,의병 사망로그
if($general['npc'] == 2) { if($general['npc'] == 2) {
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <R>사망</>했습니다."; $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <R>사망</>했습니다.";
} elseif($general['npc'] >= 3) { } elseif($general['npc'] >= 3) {
switch(rand()%10) { switch(rand()%10) {
case 0: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 푸대접에 실망하여 떠났습니다."; break; case 0: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 푸대접에 실망하여 떠났습니다."; break;
case 1: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 갑자기 화를 내며 떠났습니다."; break; case 1: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 갑자기 화를 내며 떠났습니다."; break;
case 2: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 의견차이를 좁히지 못하고 떠났습니다."; break; case 2: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 의견차이를 좁히지 못하고 떠났습니다."; break;
case 3: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 판단 착오였다며 떠났습니다."; break; case 3: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 판단 착오였다며 떠났습니다."; break;
case 4: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 생활고가 나아지지 않는다며 떠났습니다."; break; case 4: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 생활고가 나아지지 않는다며 떠났습니다."; break;
case 5: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 기대가 너무 컸다며 떠났습니다."; break; case 5: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 기대가 너무 컸다며 떠났습니다."; break;
case 6: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 아무 이유 없이 떠났습니다."; break; case 6: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 아무 이유 없이 떠났습니다."; break;
case 7: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 자기 목적은 달성했다며 떠났습니다."; break; case 7: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 자기 목적은 달성했다며 떠났습니다."; break;
case 8: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 자기가 없어도 될것 같다며 떠났습니다."; break; case 8: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 자기가 없어도 될것 같다며 떠났습니다."; break;
case 9: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 처자식이 그립다며 떠났습니다."; break; case 9: $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 처자식이 그립다며 떠났습니다."; break;
} }
} }
@@ -2029,14 +2039,15 @@ function updateTurntime($no) {
} }
if($general['age'] >= 80 && $general['npc'] == 0) { if($general['age'] >= 80 && $general['npc'] == 0) {
if($admin['isUnited'] == 0) { if($admin['isunited'] == 0) {
CheckHall($no); CheckHall($no);
} }
$query = "update general set leader=leader*0.85,power=power*0.85,intel=intel*0.85,injury=0,experience=experience*0.5,dedication=dedication*0.5,firenum=0,warnum=0,killnum=0,deathnum=0,killcrew=0,deathcrew=0,age=20,specage=0,specage2=0,crew=crew*0.85,dex0=dex0*0.5,dex10=dex10*0.5,dex20=dex20*0.5,dex30=dex30*0.5,dex40=dex40*0.5 where no='$no'"; $query = "update general set leader=leader*0.85,power=power*0.85,intel=intel*0.85,injury=0,experience=experience*0.5,dedication=dedication*0.5,firenum=0,warnum=0,killnum=0,deathnum=0,killcrew=0,deathcrew=0,age=20,specage=0,specage2=0,crew=crew*0.85,dex0=dex0*0.5,dex10=dex10*0.5,dex20=dex20*0.5,dex30=dex30*0.5,dex40=dex40*0.5 where no='$no'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <R>은퇴</>하고 그 자손이 유지를 이어받았습니다."; $josaYi = JosaUtil::pick($general['name'], '이');
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <R>은퇴</>하고 그 자손이 유지를 이어받았습니다.";
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']); pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
$log[0] = "<C>●</>나이가 들어 <R>은퇴</>하고 자손에게 자리를 물려줍니다."; $log[0] = "<C>●</>나이가 들어 <R>은퇴</>하고 자손에게 자리를 물려줍니다.";
@@ -2153,7 +2164,7 @@ function uniqueItem($general, $log, $vote=0) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
if($game_env['scenario'] == 0) { $prob = $gen['cnt'] * 5; } // 5~6개월에 하나씩 등장 if($admin['scenario'] == 0) { $prob = $gen['cnt'] * 5; } // 5~6개월에 하나씩 등장
else { $prob = $gen['cnt']; } // 1~2개월에 하나씩 등장 else { $prob = $gen['cnt']; } // 1~2개월에 하나씩 등장
if($vote == 1) { $prob = Util::round($gen['cnt'] * 0.7 / 3); } // 투표율 70%, 투표 한번에 2~3개 등장 if($vote == 1) { $prob = Util::round($gen['cnt'] * 0.7 / 3); } // 투표율 70%, 투표 한번에 2~3개 등장
@@ -2193,64 +2204,72 @@ function uniqueItem($general, $log, $vote=0) {
switch($sel) { switch($sel) {
case 0: case 0:
$log[] = "<C>●</><C>".getWeapName($it)."</>(을)를 습득했습니다!"; $josaUl = JosaUtil::pick(getWeapName($it), '을');
$alllog[0] = "<C>●</>{$game_env['month']}월:<Y>{$general['name']}</>(이)가 <C>".getWeapName($it)."</>(을)를 습득했습니다!"; $josaYi = JosaUtil::pick($general['name'], '이');
pushGeneralHistory($general, "<C>●</>{$game_env['year']}{$game_env['month']}월:<C>".getWeapName($it)."</>(을)를 습득"); $log[] = "<C>●</><C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<C>".getWeapName($it)."</>{$josaUl} 습득");
if($vote == 0) { if($vote == 0) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getWeapName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 1) { } elseif($vote == 1) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getWeapName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 2) { } elseif($vote == 2) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getWeapName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 3) { } elseif($vote == 3) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getWeapName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
} }
break; break;
case 1: case 1:
$log[] = "<C>●</><C>".getBookName($it)."</>(을)를 습득했습니다!"; $josaUl = JosaUtil::pick(getBookName($it), '을');
$alllog[0] = "<C>●</>{$game_env['month']}월:<Y>{$general['name']}</>(이)가 <C>".getBookName($it)."</>(을)를 습득했습니다!"; $josaYi = JosaUtil::pick($general['name'], '이');
pushGeneralHistory($general, "<C>●</>{$game_env['year']}{$game_env['month']}월:<C>".getBookName($it)."</>(을)를 습득"); $log[] = "<C>●</><C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<C>".getBookName($it)."</>{$josaUl} 습득");
if($vote == 0) { if($vote == 0) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getBookName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 1) { } elseif($vote == 1) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getBookName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 2) { } elseif($vote == 2) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getBookName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 3) { } elseif($vote == 3) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getBookName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
} }
break; break;
case 2: case 2:
$log[] = "<C>●</><C>".getHorseName($it)."</>(을)를 습득했습니다!"; $josaUl = JosaUtil::pick(getHorseName($it), '을');
$alllog[0] = "<C>●</>{$game_env['month']}월:<Y>{$general['name']}</>(이)가 <C>".getHorseName($it)."</>(을)를 습득했습니다!"; $josaYi = JosaUtil::pick($general['name'], '이');
pushGeneralHistory($general, "<C>●</>{$game_env['year']}{$game_env['month']}월:<C>".getHorseName($it)."</>(을)를 습득"); $log[] = "<C>●</><C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<C>".getHorseName($it)."</>{$josaUl} 습득");
if($vote == 0) { if($vote == 0) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getHorseName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 1) { } elseif($vote == 1) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getHorseName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 2) { } elseif($vote == 2) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getHorseName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 3) { } elseif($vote == 3) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getHorseName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
} }
break; break;
case 3: case 3:
$log[] = "<C>●</><C>".getItemName($it)."</>(을)를 습득했습니다!"; $josaUl = JosaUtil::pick(getItemName($it), '을');
$alllog[0] = "<C>●</>{$game_env['month']}월:<Y>{$general['name']}</>(이)가 <C>".getItemName($it)."</>(을)를 습득했습니다!"; $josaYi = JosaUtil::pick($general['name'], '이');
pushGeneralHistory($general, "<C>●</>{$game_env['year']}{$game_env['month']}월:<C>".getItemName($it)."</>(을)를 습득"); $log[] = "<C>●</><C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<C>".getItemName($it)."</>{$josaUl} 습득");
if($vote == 0) { if($vote == 0) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getItemName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 1) { } elseif($vote == 1) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getItemName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 2) { } elseif($vote == 2) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getItemName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 3) { } elseif($vote == 3) {
$history[] = "<C>●</>{$game_env['year']}{$game_env['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <C>".getItemName($it)."</>(을)를 습득했습니다!"; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} }
break; break;
} }
pushGeneralPublicRecord($alllog, $game_env['year'], $game_env['month']); pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
pushWorldHistory($history, $game_env['year'], $game_env['month']); pushWorldHistory($history, $admin['year'], $admin['month']);
} }
} }
return $log; return $log;
@@ -2315,11 +2334,13 @@ function checkDedication($general, $log) {
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
// 승급했다면 // 승급했다면
$josaRoDed = JosaUtil::pick(getDed($general['dedication']), '로');
$josaRoBill = JosaUtil::pick(getBill($general['dedication']), '로');
if($general['dedlevel'] < $dedlevel) { if($general['dedlevel'] < $dedlevel) {
$log[] = "<C>●</><Y>".getDed($general['dedication'])."</>(으)로 <C>승급</>하여 봉록이 <C>".getBill($general['dedication'])."</>(으)로 <C>상승</>했습니다!"; $log[] = "<C>●</><Y>".getDed($general['dedication'])."</>{$josaRoDed} <C>승급</>하여 봉록이 <C>".getBill($general['dedication'])."</>{$josaRoBill} <C>상승</>했습니다!";
// 강등했다면 // 강등했다면
} elseif($general['dedlevel'] > $dedlevel) { } elseif($general['dedlevel'] > $dedlevel) {
$log[] = "<C>●</><Y>".getDed($general['dedication'])."</>(으)로 <R>강등</>되어 봉록이 <C>".getBill($general['dedication'])."</>(으)로 <R>하락</>했습니다!"; $log[] = "<C>●</><Y>".getDed($general['dedication'])."</>{$josaRoDed} <R>강등</>되어 봉록이 <C>".getBill($general['dedication'])."</>{$josaRoBill} <R>하락</>했습니다!";
} }
return $log; return $log;
@@ -2408,7 +2429,8 @@ function deleteNation($general) {
$nation = getNationStaticInfo($general['nation']); $nation = getNationStaticInfo($general['nation']);
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<R><b>【멸망】</b></><D><b>{$nation['name']}</b></>은(는) <R>멸망</>했습니다."; $josaUn = JosaUtil::pick($nation['name'], '은');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<R><b>【멸망】</b></><D><b>{$nation['name']}</b></>{$josaUn} <R>멸망</>했습니다.";
// 전 장수 재야로 // 전 장수 소속 무소속으로 // 전 장수 재야로 // 전 장수 소속 무소속으로
$query = "update general set belong=0,troop=0,level=0,nation=0,makelimit=12 where nation='{$general['nation']}'"; $query = "update general set belong=0,troop=0,level=0,nation=0,makelimit=12 where nation='{$general['nation']}'";
@@ -2491,10 +2513,11 @@ function nextRuler($general) {
$query = "update city set gen3=0 where gen3='{$nextruler['no']}'"; $query = "update city set gen3=0 where gen3='{$nextruler['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$history = ["<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【유지】</b></><Y>{$nextruler['name']}</>(이)가 <D><b>{$nation['name']}</b></>의 유지를 이어 받았습니다"]; $josaYi = JosaUtil::pick($nextruler['name'], '이');
$history = ["<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【유지】</b></><Y>{$nextruler['name']}</>{$josaYi} <D><b>{$nation['name']}</b></>의 유지를 이어 받았습니다"];
pushWorldHistory($history, $admin['year'], $admin['month']); pushWorldHistory($history, $admin['year'], $admin['month']);
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【유지】</b></><Y>{$nextruler['name']}</>(이)가 <D><b>{$nation['name']}</b></>의 유지를 이어 받음."); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【유지】</b></><Y>{$nextruler['name']}</>{$josaYi} <D><b>{$nation['name']}</b></>의 유지를 이어 받음.");
// 장수 삭제 및 부대처리는 checkTurn에서 // 장수 삭제 및 부대처리는 checkTurn에서
} }
+51 -22
View File
@@ -82,8 +82,10 @@ function registerAuction() {
$query = "insert into auction (type, no1, name1, stuff, amount, cost, value, topv, expire) values (0, '0', 'ⓝ암시장상인', '$stuff', '$amount', '$cost', '$cost', '$topv', '$date')"; $query = "insert into auction (type, no1, name1, stuff, amount, cost, value, topv, expire) values (0, '0', 'ⓝ암시장상인', '$stuff', '$amount', '$cost', '$cost', '$topv', '$date')";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$alllog[0] = "<C>●</>{$admin['month']}월:<C>".GetStuffName($stuff)."</>(이)가 거래장에 등장했습니다!"; $josaYi = JosaUtil::pick(GetStuffName($stuff), '이');
$history[0] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【암시장】</b></><Y>ⓝ암시장상인</>(이)가 <C>".GetStuffName($stuff)."</>(을)를 판다는 소문이 돌고 있습니다!"; $alllog[0] = "<C>●</>{$admin['month']}월:<C>".GetStuffName($stuff)."</>{$josaYi} 거래장에 등장했습니다!";
$josaUl = JosaUtil::pick(GetStuffName($stuff), '을');
$history[0] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【암시장】</b></><Y>ⓝ암시장상인</>이 <C>".GetStuffName($stuff)."</>{$josaUl} 판다는 소문이 돌고 있습니다!";
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']); pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
pushWorldHistory($history, $admin['year'], $admin['month']); pushWorldHistory($history, $admin['year'], $admin['month']);
} }
@@ -162,10 +164,14 @@ function processAuction() {
for($i=0; $i < $count2; $i++) { for($i=0; $i < $count2; $i++) {
$auction = MYDB_fetch_array($result2); $auction = MYDB_fetch_array($result2);
$josaYi1 = JosaUtil::pick($auction['name1'], '이');
$josaYi2 = JosaUtil::pick($auction['name2'], '이');
// 유닉템 처리 // 유닉템 처리
if($auction['stuff'] != 0) { if($auction['stuff'] != 0) {
if($auction['no2'] == 0) { if($auction['no2'] == 0) {
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <M>유찰</> : <Y>{$auction['name1']}</>(이)가 <C>".GetStuffName($auction['stuff'])."</>(을)를 판매, 그러나 입찰자 부재"; $josaUl = JosaUtil::pick(GetStuffName($auction['stuff']), '을');
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <M>유찰</> : <Y>{$auction['name1']}</>{$josaYi1} <C>".GetStuffName($auction['stuff'])."</>{$josaUl} 판매, 그러나 입찰자 부재";
pushAuctionLog($auctionLog); pushAuctionLog($auctionLog);
} else { } else {
$trader['no'] = 0; $trader['no'] = 0;
@@ -194,7 +200,9 @@ function processAuction() {
if($count > 0) { if($count > 0) {
$traderLog[0] = "<S>◆</>{$auction['no']}번 거래 <M>유찰</>! 이미 아이템을 누군가가 가로챘습니다!"; $traderLog[0] = "<S>◆</>{$auction['no']}번 거래 <M>유찰</>! 이미 아이템을 누군가가 가로챘습니다!";
$bidderLog[0] = "<S>◆</>{$auction['no']}번 거래 <M>유찰</>! 이미 아이템을 누군가가 가로챘습니다!"; $bidderLog[0] = "<S>◆</>{$auction['no']}번 거래 <M>유찰</>! 이미 아이템을 누군가가 가로챘습니다!";
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <M>유찰</> : <Y>{$auction['name1']}</>(이)가 <C>".GetStuffName($auction['stuff'])."</>(을)를 판매, <Y>{$auction['name2']}</>(이)가 금 <C>{$auction['value']}</>(으)로 입찰, 그러나 아이템 이미 매진!"; $josaUl = JosaUtil::pick(GetStuffName($auction['stuff']), '을');
$josaRo = JosaUtil::pick($auction['value'], '로');
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <M>유찰</> : <Y>{$auction['name1']}</>{$josaYi1} <C>".GetStuffName($auction['stuff'])."</>$josaUl 판매, <Y>{$auction['name2']}</>{$josaYi2} 금 <C>{$auction['value']}</>{$josaRo} 입찰, 그러나 아이템 이미 매진!";
} elseif($auction['value'] > $bidder['gold'] - 1000) { } elseif($auction['value'] > $bidder['gold'] - 1000) {
$gold = Util::round($auction['value'] * 0.01); $gold = Util::round($auction['value'] * 0.01);
$bidder['gold'] -= $gold; $bidder['gold'] -= $gold;
@@ -204,18 +212,23 @@ function processAuction() {
$traderLog[0] = "<S>◆</>입찰자의 자금 부족으로 {$auction['no']}번 <C>".GetStuffName($auction['stuff'])."</> 거래 <M>유찰</>!"; $traderLog[0] = "<S>◆</>입찰자의 자금 부족으로 {$auction['no']}번 <C>".GetStuffName($auction['stuff'])."</> 거래 <M>유찰</>!";
$bidderLog[0] = "<S>◆</>입찰자의 자금 부족으로 {$auction['no']}번 <C>".GetStuffName($auction['stuff'])."</> 거래 <M>유찰</>! 벌금 <C>{$gold}</>"; $bidderLog[0] = "<S>◆</>입찰자의 자금 부족으로 {$auction['no']}번 <C>".GetStuffName($auction['stuff'])."</> 거래 <M>유찰</>! 벌금 <C>{$gold}</>";
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <M>유찰</> : <Y>{$auction['name1']}</>(이)가 <C>".GetStuffName($auction['stuff'])."</>(을)를 판매, <Y>{$auction['name2']}</>(이)가 금 <C>{$auction['value']}</>(으)로 입찰, 그러나 입찰자 자금부족, 벌금 <C>{$gold}</>"; $josaUl = JosaUtil::pick(GetStuffName($auction['stuff']), '을');
$josaRo = JosaUtil::pick($auction['value'], '로');
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <M>유찰</> : <Y>{$auction['name1']}</>{$josaYi1} <C>".GetStuffName($auction['stuff'])."</>$josaUl 판매, <Y>{$auction['name2']}</>{$josaYi2} 금 <C>{$auction['value']}</>{$josaRo} 입찰, 그러나 입찰자 자금부족, 벌금 <C>{$gold}</>";
} else { } else {
$traderLog[0] = "<S>◆</>{$auction['no']}번 거래 <C>성사</>로 <C>".GetStuffName($auction['stuff'])."</>(을)를 판매, 금 <C>{$auction['value']}</>(을)를 획득!"; $josaUl = JosaUtil::pick(GetStuffName($auction['stuff']), '을');
$bidderLog[0] = "<S>◆</>{$auction['no']}번 거래 <C>성사</>로 금 <C>{$auction['value']}</>(을)를 지불, <C>".GetStuffName($auction['stuff'])."</> 구입!"; $josaUlGold = JosaUtil::pick($auction['value'], '을');
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <C>성사</> : <Y>{$auction['name1']}</>(이)가 <C>".GetStuffName($auction['stuff'])."</>(을)를 판매, <Y>{$auction['name2']}</>(이)가 금 <C>{$auction['value']}</>(으)로 구매"; $josaRo = JosaUtil::pick($auction['value'], '로');
$traderLog[0] = "<S>◆</>{$auction['no']}번 거래 <C>성사</>로 <C>".GetStuffName($auction['stuff'])."</>$josaUl 판매, 금 <C>{$auction['value']}</>{$josaUlGold} 획득!";
$bidderLog[0] = "<S>◆</>{$auction['no']}번 거래 <C>성사</>로 금 <C>{$auction['value']}</>{$josaUlGold} 지불, <C>".GetStuffName($auction['stuff'])."</> 구입!";
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <C>성사</> : <Y>{$auction['name1']}</>{$josaYi1} <C>".GetStuffName($auction['stuff'])."</>$josaUl 판매, <Y>{$auction['name2']}</>{$josaYi2} 금 <C>{$auction['value']}</>{$josaRo} 구매";
$auctionLog[0] .= " <M>★ 아이템 거래 ★</>"; $auctionLog[0] .= " <M>★ 아이템 거래 ★</>";
$query = "update general set gold=gold-'{$auction['value']}',{$type}='$sel2' where no='{$auction['no2']}'"; $query = "update general set gold=gold-'{$auction['value']}',{$type}='$sel2' where no='{$auction['no2']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$auction['name2']}</>(이)가 <C>".GetStuffName($auction['stuff'])."</>(을)를 구매했습니다!"; $alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$auction['name2']}</>{$josaYi2} <C>".GetStuffName($auction['stuff'])."</>$josaUl 구매했습니다!";
$history[0] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【암시장】</b></><Y>{$auction['name2']}</>(이)가 <C>".GetStuffName($auction['stuff'])."</>(을)를 구매했습니다!"; $history[0] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【암시장】</b></><Y>{$auction['name2']}</>{$josaYi2} <C>".GetStuffName($auction['stuff'])."</>$josaUl 구매했습니다!";
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']); pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
pushWorldHistory($history, $admin['year'], $admin['month']); pushWorldHistory($history, $admin['year'], $admin['month']);
} }
@@ -234,9 +247,11 @@ function processAuction() {
$traderLog[0] = "<S>◆</>입찰자 부재로 {$auction['no']}번 거래 <M>유찰</>!"; $traderLog[0] = "<S>◆</>입찰자 부재로 {$auction['no']}번 거래 <M>유찰</>!";
if($auction['type'] == 0) { if($auction['type'] == 0) {
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <M>유찰</> : <Y>{$auction['name1']}</>(이)가 쌀 <C>{$auction['amount']}</>(을)를 판매, 그러나 입찰자 부재"; $josaUlRice = JosaUtil::pick($auction['amount'], '을');
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <M>유찰</> : <Y>{$auction['name1']}</>{$josaYi1} 쌀 <C>{$auction['amount']}</>{$josaUlRice} 판매, 그러나 입찰자 부재";
} else { } else {
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <S>구매</> <M>유찰</> : <Y>{$auction['name1']}</>(이)가 쌀 <C>{$auction['amount']}</>(을)를 구매, 그러나 입찰자 부재"; $josaUlRice = JosaUtil::pick($auction['amount'], '을');
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <S>구매</> <M>유찰</> : <Y>{$auction['name1']}</>{$josaYi1} 쌀 <C>{$auction['amount']}</>{$josaUlRice} 구매, 그러나 입찰자 부재";
} }
pushGenLog($trader, $traderLog); pushGenLog($trader, $traderLog);
pushAuctionLog($auctionLog); pushAuctionLog($auctionLog);
@@ -265,9 +280,11 @@ function processAuction() {
$query = "update general set gold='{$trader['gold']}' where no='{$auction['no1']}'"; $query = "update general set gold='{$trader['gold']}' where no='{$auction['no1']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$josaUlRice = JosaUtil::pick($auction['amount'], '을');
$josaRo = JosaUtil::pick($auction['value'], '로');
$traderLog[0] = "<S>◆</>판매자의 군량 부족으로 {$auction['no']}번 거래 <M>유찰</>! 벌금 <C>{$gold}</>"; $traderLog[0] = "<S>◆</>판매자의 군량 부족으로 {$auction['no']}번 거래 <M>유찰</>! 벌금 <C>{$gold}</>";
$bidderLog[0] = "<S>◆</>판매자의 군량 부족으로 {$auction['no']}번 거래 <M>유찰</>!"; $bidderLog[0] = "<S>◆</>판매자의 군량 부족으로 {$auction['no']}번 거래 <M>유찰</>!";
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <M>유찰</> : <Y>{$auction['name1']}</>(이)가 쌀 <C>{$auction['amount']}</>(을)를 판매, <Y>{$auction['name2']}</>(이)가 금 <C>{$auction['value']}</>(으)로 입찰, 그러나 판매자 군량부족, 벌금 <C>{$gold}</>"; $auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <M>유찰</> : <Y>{$auction['name1']}</>{$josaYi1} 쌀 <C>{$auction['amount']}</>{$josaUlRice} 판매, <Y>{$auction['name2']}</>{$josaYi2} 금 <C>{$auction['value']}</>{$josaRo} 입찰, 그러나 판매자 군량부족, 벌금 <C>{$gold}</>";
} elseif($auction['value'] > $bidder['gold'] - 1000) { } elseif($auction['value'] > $bidder['gold'] - 1000) {
$gold = Util::round($auction['value'] * 0.01); $gold = Util::round($auction['value'] * 0.01);
$bidder['gold'] -= $gold; $bidder['gold'] -= $gold;
@@ -275,13 +292,18 @@ function processAuction() {
$query = "update general set gold='{$bidder['gold']}' where no='{$auction['no2']}'"; $query = "update general set gold='{$bidder['gold']}' where no='{$auction['no2']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$josaUlRice = JosaUtil::pick($auction['amount'], '을');
$josaRo = JosaUtil::pick($auction['value'], '로');
$traderLog[0] = "<S>◆</>입찰자의 자금 부족으로 {$auction['no']}번 거래 <M>유찰</>!"; $traderLog[0] = "<S>◆</>입찰자의 자금 부족으로 {$auction['no']}번 거래 <M>유찰</>!";
$bidderLog[0] = "<S>◆</>입찰자의 자금 부족으로 {$auction['no']}번 거래 <M>유찰</>! 벌금 <C>{$gold}</>"; $bidderLog[0] = "<S>◆</>입찰자의 자금 부족으로 {$auction['no']}번 거래 <M>유찰</>! 벌금 <C>{$gold}</>";
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <M>유찰</> : <Y>{$auction['name1']}</>(이)가 쌀 <C>{$auction['amount']}</>(을)를 판매, <Y>{$auction['name2']}</>(이)가 금 <C>{$auction['value']}</>(으)로 입찰, 그러나 입찰자 자금부족, 벌금 <C>{$gold}</>"; $auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <M>유찰</> : <Y>{$auction['name1']}</>{$josaYi1} 쌀 <C>{$auction['amount']}</>{$josaUlRice} 판매, <Y>{$auction['name2']}</>{$josaYi2} 금 <C>{$auction['value']}</>{$josaRo} 입찰, 그러나 입찰자 자금부족, 벌금 <C>{$gold}</>";
} else { } else {
$traderLog[0] = "<S>◆</>{$auction['no']}번 거래 <C>성사</>로 쌀 <C>{$auction['amount']}</>(을)를 판매, 금 <C>{$auction['value']}</>(을)를 획득!"; $josaUlGold = JosaUtil::pick($auction['value'], '을');
$bidderLog[0] = "<S>◆</>{$auction['no']}번 거래 <C>성사</>로 금 <C>{$auction['value']}</>(을)를 지불, 쌀 <C>{$auction['amount']}</>(을)를 구입!"; $josaUlRice = JosaUtil::pick($auction['amount'], '을');
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <C>성사</> : <Y>{$auction['name1']}</>(이)가 쌀 <C>{$auction['amount']}</>(을)를 판매, <Y>{$auction['name2']}</>(이)가 금 <C>{$auction['value']}</>(으)로 구매"; $josaRo = JosaUtil::pick($auction['value'], '로');
$traderLog[0] = "<S>◆</>{$auction['no']}번 거래 <C>성사</>로 쌀 <C>{$auction['amount']}</>{$josaUlRice} 판매, 금 <C>{$auction['value']}</>{$josaUlGold} 획득!";
$bidderLog[0] = "<S>◆</>{$auction['no']}번 거래 <C>성사</>로 금 <C>{$auction['value']}</>{$josaUlGold} 지불, 쌀 <C>{$auction['amount']}</>{$josaUlRice} 구입!";
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <span class='sell'>판매</span> <C>성사</> : <Y>{$auction['name1']}</>{$josaYi1} 쌀 <C>{$auction['amount']}</>{$josaUlRice} 판매, <Y>{$auction['name2']}</>{$josaYi2} 금 <C>{$auction['value']}</>{$josaRo} 구매";
if($auction['value'] >= $auction['amount'] * 2) { if($auction['value'] >= $auction['amount'] * 2) {
$auctionLog[0] .= " <R>★ 최고가 거래 ★</>"; $auctionLog[0] .= " <R>★ 최고가 거래 ★</>";
} elseif($auction['value'] >= $auction['topv']) { } elseif($auction['value'] >= $auction['topv']) {
@@ -306,9 +328,11 @@ function processAuction() {
$query = "update general set gold='{$bidder['gold']}' where no='{$auction['no2']}'"; $query = "update general set gold='{$bidder['gold']}' where no='{$auction['no2']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$josaUlRice = JosaUtil::pick($auction['amount'], '을');
$josaRo = JosaUtil::pick($auction['value'], '로');
$traderLog[0] = "<S>◆</>입찰자의 군량 부족으로 {$auction['no']}번 거래 <M>유찰</>!"; $traderLog[0] = "<S>◆</>입찰자의 군량 부족으로 {$auction['no']}번 거래 <M>유찰</>!";
$bidderLog[0] = "<S>◆</>입찰자의 군량 부족으로 {$auction['no']}번 거래 <M>유찰</>! 벌금 <C>{$gold}</>"; $bidderLog[0] = "<S>◆</>입찰자의 군량 부족으로 {$auction['no']}번 거래 <M>유찰</>! 벌금 <C>{$gold}</>";
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <S>구매</> <M>유찰</> : <Y>{$auction['name1']}</>(이)가 쌀 <C>{$auction['amount']}</>(을)를 구매, <Y>{$auction['name2']}</>(이)가 금 <C>{$auction['value']}</>(으)로 입찰, 그러나 입찰자 군량부족, 벌금 <C>{$gold}</>"; $auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <S>구매</> <M>유찰</> : <Y>{$auction['name1']}</>{$josaYi1} 쌀 <C>{$auction['amount']}</>{$josaUlRice} 구매, <Y>{$auction['name2']}</>{$josaYi2} 금 <C>{$auction['value']}</>{$josaRo} 입찰, 그러나 입찰자 군량부족, 벌금 <C>{$gold}</>";
} elseif($auction['value'] > $trader['gold'] - 1000) { } elseif($auction['value'] > $trader['gold'] - 1000) {
$gold = Util::round($auction['value'] * 0.01); $gold = Util::round($auction['value'] * 0.01);
$trader['gold'] -= $gold; $trader['gold'] -= $gold;
@@ -316,13 +340,18 @@ function processAuction() {
$query = "update general set gold='{$trader['gold']}' where no='{$auction['no1']}'"; $query = "update general set gold='{$trader['gold']}' where no='{$auction['no1']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$josaUlRice = JosaUtil::pick($auction['amount'], '을');
$josaRo = JosaUtil::pick($auction['value'], '로');
$traderLog[0] = "<S>◆</>구매자의 자금 부족으로 {$auction['no']}번 거래 <M>유찰</>! 벌금 <C>{$gold}</>"; $traderLog[0] = "<S>◆</>구매자의 자금 부족으로 {$auction['no']}번 거래 <M>유찰</>! 벌금 <C>{$gold}</>";
$bidderLog[0] = "<S>◆</>구매자의 자금 부족으로 {$auction['no']}번 거래 <M>유찰</>!"; $bidderLog[0] = "<S>◆</>구매자의 자금 부족으로 {$auction['no']}번 거래 <M>유찰</>!";
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <S>구매</> <M>유찰</> : <Y>{$auction['name1']}</>(이)가 쌀 <C>{$auction['amount']}</>(을)를 구매, <Y>{$auction['name2']}</>(이)가 금 <C>{$auction['value']}</>(으)로 입찰, 그러나 구매자 자금부족, 벌금 <C>{$gold}</>"; $auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <S>구매</> <M>유찰</> : <Y>{$auction['name1']}</>{$josaYi1} 쌀 <C>{$auction['amount']}</>{$josaUlRice} 구매, <Y>{$auction['name2']}</>{$josaYi2} 금 <C>{$auction['value']}</>{$josaRo} 입찰, 그러나 구매자 자금부족, 벌금 <C>{$gold}</>";
} else { } else {
$traderLog[0] = "<S>◆</>{$auction['no']}번 거래 <C>성사</>로 금 <C>{$auction['value']}</>(을)를 지불, 쌀 <C>{$auction['amount']}</>(을)를 구입!"; $josaUlGold = JosaUtil::pick($auction['value'], '을');
$bidderLog[0] = "<S>◆</>{$auction['no']}번 거래 <C>성사</>로 쌀 <C>{$auction['amount']}</>(을)를 판매, 금 <C>{$auction['value']}</>(을)를 획득!"; $josaUlRice = JosaUtil::pick($auction['amount'], '을');
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <S>구매</> <C>성사</> : <Y>{$auction['name1']}</>(이)가 쌀 <C>{$auction['amount']}</>(을)를 구매, <Y>{$auction['name2']}</>(이)가 금 <C>{$auction['value']}</>(으)로 판매"; $josaRo = JosaUtil::pick($auction['value'], '로');
$traderLog[0] = "<S>◆</>{$auction['no']}번 거래 <C>성사</>로 금 <C>{$auction['value']}</>{$josaUlGold} 지불, 쌀 <C>{$auction['amount']}</>{$josaUlRice} 구입!";
$bidderLog[0] = "<S>◆</>{$auction['no']}번 거래 <C>성사</>로 쌀 <C>{$auction['amount']}</>{$josaUlRice} 판매, 금 <C>{$auction['value']}</>{$josaUlGold} 획득!";
$auctionLog[0] = "<S>◆</>{$admin['year']}{$admin['month']}월, {$auction['no']}번 <S>구매</> <C>성사</> : <Y>{$auction['name1']}</>{$josaYi1} 쌀 <C>{$auction['amount']}</>{$josaUlRice} 구매, <Y>{$auction['name2']}</>{$josaYi2} 금 <C>{$auction['value']}</>{$josaRo} 판매";
if($auction['value'] >= $auction['amount'] * 2) { if($auction['value'] >= $auction['amount'] * 2) {
$auctionLog[0] .= " <R>★ 최고가 거래 ★</>"; $auctionLog[0] .= " <R>★ 최고가 거래 ★</>";
} elseif($auction['value'] * 2 <= $auction['amount']) { } elseif($auction['value'] * 2 <= $auction['amount']) {
+42 -31
View File
@@ -79,7 +79,8 @@ function getTurn(array $general, $type, $font=1) {
case 16: //전쟁 case 16: //전쟁
$double = $command[1]; $double = $command[1];
$city = getCity($double, "name"); $city = getCity($double, "name");
$str[$i] = "{$city['name']}】(으)로 출병"; $josaRo = JosaUtil::pick($city['name'], '로');
$str[$i] = "{$city['name']}{$josaRo} 출병";
break; break;
case 17: //소집해제 case 17: //소집해제
$str[$i] = "소집 해제"; $str[$i] = "소집 해제";
@@ -88,7 +89,8 @@ function getTurn(array $general, $type, $font=1) {
case 21: //이동 case 21: //이동
$double = $command[1]; $double = $command[1];
$city = getCity($double, "name"); $city = getCity($double, "name");
$str[$i] = "{$city['name']}】(으)로 이동"; $josaRo = JosaUtil::pick($city['name'], '로');
$str[$i] = "{$city['name']}{$josaRo} 이동";
break; break;
case 22: //등용 case 22: //등용
$double = $command[1]; $double = $command[1];
@@ -97,7 +99,8 @@ function getTurn(array $general, $type, $font=1) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result); $general = MYDB_fetch_array($result);
$str[$i] = "{$general['name']}】(을)를 등용"; $josaUl = JosaUtil::pick($general['name'], '을');
$str[$i] = "{$general['name']}{$josaUl} 등용";
break; break;
case 25: //임관 case 25: //임관
$double = $command[1]; $double = $command[1];
@@ -106,7 +109,8 @@ function getTurn(array $general, $type, $font=1) {
if(!$nation['name']) { $nation['name'] = '????'; } if(!$nation['name']) { $nation['name'] = '????'; }
$str[$i] = "{$nation['name']}】(으)로 임관"; $josaRo = JosaUtil::pick($nation['name'], '로');
$str[$i] = "{$nation['name']}{$josaRo} 임관";
break; break;
case 26: //집합 case 26: //집합
$str[$i] = "집합"; $str[$i] = "집합";
@@ -120,7 +124,8 @@ function getTurn(array $general, $type, $font=1) {
case 30: //강행 case 30: //강행
$double = $command[1]; $double = $command[1];
$city = getCity($double, "name"); $city = getCity($double, "name");
$str[$i] = "{$city['name']}】(으)로 강행"; $josaRo = JosaUtil::pick($city['name'], '로');
$str[$i] = "{$city['name']}{$josaRo} 강행";
break; break;
case 31: //첩보 case 31: //첩보
@@ -178,11 +183,10 @@ function getTurn(array $general, $type, $font=1) {
$str[$i] = "하야"; $str[$i] = "하야";
break; break;
case 46: //건국 case 46: //건국
$query = "select makenation from general where no='{$general['no']}'"; $nationName = $db->queryFirstField('SELECT makenation FROM general WHERE `no`=%i', $general['no'])??'';
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
$str[$i] = "{$general['makenation']}】(을)를 건국"; $josaUl = JosaUtil::pick($nationName, '을');
$str[$i] = "{$nationName}{$josaUl} 건국";
break; break;
case 47: //방랑 case 47: //방랑
$str[$i] = "방랑"; $str[$i] = "방랑";
@@ -198,13 +202,17 @@ function getTurn(array $general, $type, $font=1) {
} elseif($double == 300) { } elseif($double == 300) {
$str[$i] = "도구를 판매"; $str[$i] = "도구를 판매";
} elseif($double < 100) { } elseif($double < 100) {
$str[$i] = "".getWeapName($double)."】(을)를 구입"; $josaUl = JosaUtil::pick(getWeapName($double), '을');
$str[$i] = "".getWeapName($double)."{$josaUl} 구입";
} elseif($double < 200) { } elseif($double < 200) {
$str[$i] = "".getBookName($double-100)."】(을)를 구입"; $josaUl = JosaUtil::pick(getBookName($double-100), '을');
$str[$i] = "".getBookName($double-100)."{$josaUl} 구입";
} elseif($double < 300) { } elseif($double < 300) {
$str[$i] = "".getHorseName($double-200)."】(을)를 구입"; $josaUl = JosaUtil::pick(getHorseName($double-200), '을');
$str[$i] = "".getHorseName($double-200)."{$josaUl} 구입";
} elseif($double < 400) { } elseif($double < 400) {
$str[$i] = "".getItemName($double-300)."】(을)를 구입"; $josaUl = JosaUtil::pick(getItemName($double-300), '을');
$str[$i] = "".getItemName($double-300)."{$josaUl} 구입";
} }
break; break;
case 49: //군량 매매 case 49: //군량 매매
@@ -287,8 +295,8 @@ function getCoreTurn($nation, $level) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result); $general = MYDB_fetch_array($result);
if($fourth == 1) { $str[$i] = "{$general['name']}】에게 금 {$double}00 포상"; } if($fourth == 1) { $str[$i] = "{$general['name']}】에게 금 {$double}00 포상"; }
else { $str[$i] = "{$general['name']}】에게 쌀 {$double}00 포상"; } else { $str[$i] = "{$general['name']}】에게 쌀 {$double}00 포상"; }
break; break;
case 24: //몰수 case 24: //몰수
$fourth = $command[3]; $fourth = $command[3];
@@ -299,8 +307,8 @@ function getCoreTurn($nation, $level) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result); $general = MYDB_fetch_array($result);
if($fourth == 1) { $str[$i] = "{$general['name']}에게서{$double}00 몰수"; } if($fourth == 1) { $str[$i] = "{$general['name']}{$double}00 몰수"; }
else { $str[$i] = "{$general['name']}에게서{$double}00 몰수"; } else { $str[$i] = "{$general['name']}{$double}00 몰수"; }
break; break;
case 27: //발령 case 27: //발령
$third = $command[2]; $third = $command[2];
@@ -310,8 +318,8 @@ function getCoreTurn($nation, $level) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result); $general = MYDB_fetch_array($result);
$city = getCity($double, "name"); $city = getCity($double, "name");
$josaRo = JosaUtil::pick($city['name'], '로');
$str[$i] = "{$general['name']}】【{$city['name']}(으)로 발령"; $str[$i] = "{$general['name']}】【{$city['name']}{$josaRo} 발령";
break; break;
case 51: //항복권고 case 51: //항복권고
$double = (int)$command[1]; $double = (int)$command[1];
@@ -332,15 +340,13 @@ function getCoreTurn($nation, $level) {
$str[$i] = "{$nation['name']}】에게 국고 {$third} 병량 {$fourth} 원조"; $str[$i] = "{$nation['name']}】에게 국고 {$third} 병량 {$fourth} 원조";
break; break;
case 53: //통합제의 case 53: //통합제의
$query = "select makenation from general where level='$level' and nation='{$nation['nation']}'"; $nationName = $db->queryFirstField('SELECT makenation FROM general WHERE `level`=%i AND `nation`=%i', $level, $nation['nation'])??'';
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
$double = (int)$command[1]; $double = (int)$command[1];
$nation = getNationStaticInfo($double); $nation = getNationStaticInfo($double);
$josaRo = JosaUtil::pick($nationName, '로');
$str[$i] = "{$nation['name']}】에 【{$general['makenation']}】(으)로 통합 제의"; $str[$i] = "{$nation['name']}】에 【{$nationName}{$josaRo} 통합 제의";
break; break;
case 61: //불가침제의 case 61: //불가침제의
$third = $command[2]; $third = $command[2];
@@ -374,22 +380,26 @@ function getCoreTurn($nation, $level) {
case 65: //초토 case 65: //초토
$double = $command[1]; $double = $command[1];
$city = getCity($double, "name"); $city = getCity($double, "name");
$str[$i] = "{$city['name']}】(을)를 초토화"; $josaUl = JosaUtil::pick($city['name'], '을');
$str[$i] = "{$city['name']}{$josaUl} 초토화";
break; break;
case 66: //천도 case 66: //천도
$double = $command[1]; $double = $command[1];
$city = getCity($double, "name"); $city = getCity($double, "name");
$str[$i] = "{$city['name']}】(으)로 천도"; $josaRo = JosaUtil::pick($city['name'], '로');
$str[$i] = "{$city['name']}{$josaRo} 천도";
break; break;
case 67: //증축 case 67: //증축
$double = $command[1]; $double = $command[1];
$city = getCity($double, "name"); $city = getCity($double, "name");
$str[$i] = "{$city['name']}】(을)를 증축"; $josaUl = JosaUtil::pick($city['name'], '을');
$str[$i] = "{$city['name']}{$josaUl} 증축";
break; break;
case 68: //감축 case 68: //감축
$double = $command[1]; $double = $command[1];
$city = getCity($double, "name"); $city = getCity($double, "name");
$str[$i] = "{$city['name']}】(을)를 감축"; $josaUl = JosaUtil::pick($city['name'], '을');
$str[$i] = "{$city['name']}{$josaUl} 감축";
break; break;
case 71: //필사즉생 case 71: //필사즉생
$str[$i] = "필사즉생"; $str[$i] = "필사즉생";
@@ -402,7 +412,8 @@ function getCoreTurn($nation, $level) {
case 73: //수몰 case 73: //수몰
$double = $command[1]; $double = $command[1];
$city = getCity($double, "name"); $city = getCity($double, "name");
$str[$i] = "{$city['name']}】(을)를 수몰"; $josaUl = JosaUtil::pick($city['name'], '을');
$str[$i] = "{$city['name']}{$josaUl} 수몰";
break; break;
case 74: //허보 case 74: //허보
$double = $command[1]; $double = $command[1];
@@ -460,7 +471,7 @@ function processCommand($no) {
$gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor = KVStorage::getStorage($db, 'game_env');
$connect=$db->get(); $connect=$db->get();
$query = "select npc,no,name,picture,imgsvr,nation,nations,city,troop,injury,leader,leader2,power,power2,intel,intel2,experience,dedication,level,gold,rice,crew,crewtype,train,atmos,weap,book,horse,item,turntime,makenation,makelimit,killturn,block,dedlevel,explevel,age,belong,personal,special,special2,term,turn0,dex0,dex10,dex20,dex30,dex40 from general where no='$no'"; $query = "select npc,no,name,picture,imgsvr,nation,nations,city,troop,injury,affinity,leader,leader2,power,power2,intel,intel2,experience,dedication,level,gold,rice,crew,crewtype,train,atmos,weap,book,horse,item,turntime,makenation,makelimit,killturn,block,dedlevel,explevel,age,belong,personal,special,special2,term,turn0,dex0,dex10,dex20,dex30,dex40 from general where no='$no'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result); $general = MYDB_fetch_array($result);
@@ -522,7 +533,7 @@ function processCommand($no) {
} }
//장수정보 재로드 //장수정보 재로드
$query = "select npc,no,name,picture,imgsvr,nation,nations,city,troop,injury,leader,leader2,power,power2,intel,intel2,experience,dedication,level,gold,rice,crew,crewtype,train,atmos,weap,book,horse,item,turntime,makenation,makelimit,killturn,block,dedlevel,explevel,age,belong,personal,special,special2,term,turn0,dex0,dex10,dex20,dex30,dex40 from general where no='$no'"; $query = "select npc,no,name,picture,imgsvr,nation,nations,city,troop,injury,affinity,leader,leader2,power,power2,intel,intel2,experience,dedication,level,gold,rice,crew,crewtype,train,atmos,weap,book,horse,item,turntime,makenation,makelimit,killturn,block,dedlevel,explevel,age,belong,personal,special,special2,term,turn0,dex0,dex10,dex20,dex30,dex40 from general where no='$no'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result); $general = MYDB_fetch_array($result);
} }
+7 -7
View File
@@ -284,19 +284,19 @@ function getLevel($level, $nlevel=8) {
function getCall($leader, $power, $intel) { function getCall($leader, $power, $intel) {
$call = '평범'; $call = '평범';
if($leader >= GameConst::$goodgenleader && $power >= GameConst::$goodgenpower && $intel >= GameConst::$goodgenintel) { if($leader >= GameConst::$chiefStatMin && $power >= GameConst::$chiefStatMin && $intel >= GameConst::$chiefStatMin) {
$call = '만능'; $call = '만능';
} elseif($leader >= GameConst::$goodgenleader && $power >= GameConst::$goodgenpower) { } elseif($leader >= GameConst::$chiefStatMin && $power >= GameConst::$chiefStatMin) {
$call = '용장'; $call = '용장';
} elseif($leader >= GameConst::$goodgenleader && $intel >= GameConst::$goodgenintel) { } elseif($leader >= GameConst::$chiefStatMin && $intel >= GameConst::$chiefStatMin) {
$call = '지장'; $call = '지장';
} elseif($power >= GameConst::$goodgenpower && $intel >= GameConst::$goodgenintel) { } elseif($power >= GameConst::$chiefStatMin && $intel >= GameConst::$chiefStatMin) {
$call = '명장'; $call = '명장';
} elseif($leader >= GameConst::$goodgenleader) { } elseif($leader >= GameConst::$chiefStatMin) {
$call = '명사'; $call = '명사';
} elseif($power >= GameConst::$goodgenpower) { } elseif($power >= GameConst::$chiefStatMin) {
$call = '용맹'; $call = '용맹';
} elseif($intel >= GameConst::$goodgenintel) { } elseif($intel >= GameConst::$chiefStatMin) {
$call = '현명'; $call = '현명';
} }
return $call; return $call;
+69 -125
View File
@@ -5,77 +5,8 @@ namespace sammo;
* 게임 룰에 해당하는 함수 모음 * 게임 룰에 해당하는 함수 모음
*/ */
// 37.5 ~ 75
function abilityRand() {
$total = 150;
$leader = (rand()%100 + 1) / 100.0 + 1.0;
$power = (rand()%100 + 1) / 100.0 + 1.0;
$intel = (rand()%100 + 1) / 100.0 + 1.0;
$rate = $leader + $power + $intel;
$leader = intdiv($leader * $total, $rate);
$power = intdiv($power * $total, $rate);
$intel = intdiv($intel * $total, $rate);
while($leader+$power+$intel < 150) { /**
$leader++;
}
return array('leader' => $leader, 'power' => $power, 'intel' => $intel);
}
// 14 ~ 75
function abilityLeadpow() {
$total = 150;
$leader = (rand()%100 + 1) / 100.0 + 6.0;
$power = (rand()%100 + 1) / 100.0 + 6.0;
$intel = (rand()%100 + 1) / 100.0 + 1.0;
$rate = $leader + $power + $intel;
$leader = intdiv($leader * $total, $rate);
$power = intdiv($power * $total, $rate);
$intel = intdiv($intel * $total, $rate);
while($leader+$power+$intel < 150) {
$leader++;
}
return array('leader' => $leader, 'power' => $power, 'intel' => $intel);
}
function abilityLeadint() {
$total = 150;
$leader = (rand()%100 + 1) / 100.0 + 6.0;
$power = (rand()%100 + 1) / 100.0 + 1.0;
$intel = (rand()%100 + 1) / 100.0 + 6.0;
$rate = $leader + $power + $intel;
$leader = intdiv($leader * $total, $rate);
$power = intdiv($power * $total, $rate);
$intel = intdiv($intel * $total, $rate);
while($leader+$power+$intel < 150) {
$leader++;
}
return array('leader' => $leader, 'power' => $power, 'intel' => $intel);
}
function abilityPowint() {
$total = 150;
$leader = (rand()%100 + 1) / 100.0 + 1.0;
$power = (rand()%100 + 1) / 100.0 + 6.0;
$intel = (rand()%100 + 1) / 100.0 + 6.0;
$rate = $leader + $power + $intel;
$leader = intdiv($leader * $total, $rate);
$power = intdiv($power * $total, $rate);
$intel = intdiv($intel * $total, $rate);
while($leader+$power+$intel < 150) {
$leader++;
}
return array('leader' => $leader, 'power' => $power, 'intel' => $intel);
}
/**
* 게임 내부에 사용하는 유틸리티 함수들을 분리 * 게임 내부에 사용하는 유틸리티 함수들을 분리
*/ */
@@ -245,48 +176,47 @@ function SetNationFront($nationNo) {
function checkSupply() { function checkSupply() {
$db = DB::db(); $db = DB::db();
$connect=$db->get();
$cities = []; $cities = [];
foreach($db->query('SELECT city, nation FROM city WHERE nation != 0') as $city){ foreach($db->query('SELECT city, nation FROM city WHERE nation != 0') as $city){
$cities[$city['city']] = [ $newCity = new \stdClass();
'id'=>$city['city'], $newCity->id = Util::toInt($city['city']);
'nation'=>$city['nation'], $newCity->nation = Util::toInt($city['nation']);
'supply'=>false $newCity->supply = false;
];
$cities[$newCity->id] = $newCity;
} }
$queue = new \SplQueue(); $queue = new \SplQueue();
foreach($db->query('SELECT capital, nation FROM nation WHERE `level` > 0') as $nation){ foreach($db->queryAllLists('SELECT capital, nation FROM nation WHERE `level` > 0') as list($capitalID, $nationID)){
$capitalID = $nation['capital']; if(!key_exists($capitalID, $cities)){
if(!$capitalID){
continue; continue;
} }
$city = &$cities[$capitalID]; $city = $cities[$capitalID];
if($nation['nation'] != $city['nation']){ if($nationID != $city->nation){
continue; continue;
} }
$city['supply'] = true; $city->supply = true;
$queue->enqueue($city['id']); $queue->enqueue($city);
} }
while(!$queue->isEmpty()){ while(!$queue->isEmpty()){
$cityID = $queue->dequeue(); $cityLink = $queue->dequeue();
$city = &$cities[$cityID]; $city = CityConst::byID($cityLink->id);
foreach(array_keys(CityConst::byID($cityID)->path) as $connCityID){ foreach(array_keys($city->path) as $connCityID){
if(!key_exists($connCityID, $cities)){ if(!key_exists($connCityID, $cities)){
continue; continue;
} }
$connCity = &$cities[$connCityID]; $connCity = $cities[$connCityID];
if($connCity['nation'] != $city['nation']){ if($connCity->nation != $cityLink->nation){
continue; continue;
} }
if($connCity['supply']){ if($connCity->supply){
continue; continue;
} }
$connCity['supply'] = true; $connCity->supply = true;
$queue->enqueue($connCity['id']); $queue->enqueue($connCity);
} }
} }
@@ -294,15 +224,15 @@ function checkSupply() {
'supply'=>1 'supply'=>1
], 'nation=0'); ], 'nation=0');
$db->update('city',[
'supply'=>0
], 'nation!=0');
$supply = []; $supply = [];
$unsupply = [];
foreach($cities as $city){ foreach($cities as $city){
if($city['supply']){ if($city->supply){
$supply[] = $city['id']; $supply[] = $city->id;
}
else{
$unsupply[] = $city['id'];
} }
} }
@@ -312,11 +242,6 @@ function checkSupply() {
], 'city IN %li', $supply); ], 'city IN %li', $supply);
} }
if($unsupply){
$db->update('city', [
'supply'=>0
], 'city IN %li', $unsupply);
}
} }
@@ -381,7 +306,8 @@ function preUpdateMonthly() {
$query = "update general set level=1 where no='{$city['gen1']}' or no='{$city['gen2']}' or no='{$city['gen3']}'"; $query = "update general set level=1 where no='{$city['gen1']}' or no='{$city['gen2']}' or no='{$city['gen3']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<R><b>【고립】</b></><G><b>{$city['name']}</b></>(이)가 보급이 끊겨 <R>미지배</> 도시가 되었습니다."; $josaYi = JosaUtil::pick($city['name'], '이');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<R><b>【고립】</b></><G><b>{$city['name']}</b></>{$josaYi} 보급이 끊겨 <R>미지배</> 도시가 되었습니다.";
} }
pushWorldHistory($history, $admin['year'], $admin['month']); pushWorldHistory($history, $admin['year'], $admin['month']);
//민심30이하 공백지 처리 //민심30이하 공백지 처리
@@ -585,7 +511,10 @@ group by A.nation
$name1 = $nation1['name']; $name1 = $nation1['name'];
$nation2 = getNationStaticInfo($dip['you']); $nation2 = getNationStaticInfo($dip['you']);
$name2 = $nation2['name']; $name2 = $nation2['name'];
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<R><b>【개전】</b></><D><b>$name1</b></>(와)과 <D><b>$name2</b></>(이)가 <R>전쟁</>을 시작합니다.";
$josaYi = JosaUtil::pick($name2, '이');
$josaWa = JosaUtil::pick($name1, '와');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<R><b>【개전】</b></><D><b>$name1</b></>{$josaWa} <D><b>$name2</b></>{$josaYi} <R>전쟁</>을 시작합니다.";
} }
//휴전국 로그 //휴전국 로그
$query = "select A.me as me,A.you as you,A.term as term1,B.term as term2 from diplomacy A, diplomacy B where A.me=B.you and A.you=B.me and A.state='0' and A.me<A.you"; $query = "select A.me as me,A.you as you,A.term as term1,B.term as term2 from diplomacy A, diplomacy B where A.me=B.you and A.you=B.me and A.state='0' and A.me<A.you";
@@ -600,7 +529,10 @@ group by A.nation
$name1 = $nation1['name']; $name1 = $nation1['name'];
$nation2 = getNationStaticInfo($dip['you']); $nation2 = getNationStaticInfo($dip['you']);
$name2 = $nation2['name']; $name2 = $nation2['name'];
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<R><b>【휴전】</b></><D><b>$name1</b></>(와)과 <D><b>$name2</b></>(이)가 <S>휴전</>합니다.";
$josaWa = JosaUtil::pick($name1, '와');
$josaYi = JosaUtil::pick($name2, '이');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<R><b>【휴전】</b></><D><b>$name1</b></>{$josaWa} <D><b>$name2</b></>{$josaYi} <S>휴전</>합니다.";
//기한 되면 휴전으로 //기한 되면 휴전으로
$query = "update diplomacy set state='2',term='0' where (me='{$dip['me']}' and you='{$dip['you']}') or (me='{$dip['you']}' and you='{$dip['me']}')"; $query = "update diplomacy set state='2',term='0' where (me='{$dip['me']}' and you='{$dip['you']}') or (me='{$dip['you']}' and you='{$dip['me']}')";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -723,29 +655,34 @@ function checkMerge() {
$query = "select no,name,nation from general where nation='{$you['nation']}'"; $query = "select no,name,nation from general where nation='{$you['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($result); $gencount = MYDB_num_rows($result);
$genlog = ["<C>●</><D><b>{$mynation['name']}</b></>(와)과 통합에 성공했습니다."]; $josaWa = JosaUtil::pick($mynation['name'], '와');
$genlog = ["<C>●</><D><b>{$mynation['name']}</b></>{$josaWa} 통합에 성공했습니다."];
for($i=0; $i < $gencount; $i++) { for($i=0; $i < $gencount; $i++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
pushGenLog($gen, $genlog); pushGenLog($gen, $genlog);
pushGeneralHistory($gen, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$mynation['name']}</b></> <D><b>{$you['makenation']}</b></>로 통합에 성공"); pushGeneralHistory($gen, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$mynation['name']}</b></>{$josaWa} <D><b>{$you['makenation']}</b></>로 통합에 성공");
} }
//항복국 장수들 역사 기록 및 로그 전달 //항복국 장수들 역사 기록 및 로그 전달
$query = "select no,name,nation from general where nation='{$me['nation']}'"; $query = "select no,name,nation from general where nation='{$me['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount2 = MYDB_num_rows($result); $gencount2 = MYDB_num_rows($result);
$genlog[0] = "<C>●</><D><b>{$younation['name']}</b></>(와)과 통합에 성공했습니다."; $josaWa = JosaUtil::pick($younation['name'], '와');
$genlog[0] = "<C>●</><D><b>{$younation['name']}</b></>{$josaWa} 통합에 성공했습니다.";
for($i=0; $i < $gencount2; $i++) { for($i=0; $i < $gencount2; $i++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
pushGenLog($gen, $genlog); pushGenLog($gen, $genlog);
pushGeneralHistory($gen, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$younation['name']}</b></> <D><b>{$you['makenation']}</b></>로 통합에 성공"); pushGeneralHistory($gen, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$younation['name']}</b></>{$josaWa} <D><b>{$you['makenation']}</b></>로 통합에 성공");
} }
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【통합】</b></><D><b>{$mynation['name']}</b></>(와)과 <D><b>{$younation['name']}</b></>(이)가 <D><b>{$you['makenation']}</b></>(으)로 통합하였습니다."; $josaRo = JosaUtil::pick($you['makenation'], '로');
$josaYi = JosaUtil::pick($younation['name'], '이');
$josaWa = JosaUtil::pick($mynation['name'], '와');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【통합】</b></><D><b>{$mynation['name']}</b></>{$josaWa} <D><b>{$younation['name']}</b></>{$josaYi} <D><b>{$you['makenation']}</b></>{$josaRo} 통합하였습니다.";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>【혼란】</b></>통합에 반대하는 세력들로 인해 <D><b>{$you['makenation']}</b></>에 혼란이 일고 있습니다."; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>【혼란】</b></>통합에 반대하는 세력들로 인해 <D><b>{$you['makenation']}</b></>에 혼란이 일고 있습니다.";
pushNationHistory($younation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$mynation['name']}</b></>과 <D><b>{$you['makenation']}</b></>로 통합"); pushNationHistory($younation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$mynation['name']}</b></>과 <D><b>{$you['makenation']}</b></>로 통합");
$newGenCount = $gencount + $gencount2; $newGenCount = $gencount + $gencount2;
if($newGenCount < 10) { $newGenCount = 10; } if($newGenCount < GameConst::$initialNationGenLimit) { $newGenCount = GameConst::$initialNationGenLimit; }
$newTotalTech = $younation['totaltech'] + $mynation['totaltech']; $newTotalTech = $younation['totaltech'] + $mynation['totaltech'];
$newTech = Util::round($newTotalTech / $newGenCount); $newTech = Util::round($newTotalTech / $newGenCount);
// 자금 통합, 외교제한 5년, 기술유지 // 자금 통합, 외교제한 5년, 기술유지
@@ -849,23 +786,26 @@ function checkSurrender() {
pushGenLog($gen, $genlog); pushGenLog($gen, $genlog);
pushGeneralHistory($gen, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$mynation['name']}</b></> 합병에 성공"); pushGeneralHistory($gen, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$mynation['name']}</b></> 합병에 성공");
} }
$josaRo = JosaUtil::pick($younation['name'], '로');
//항복국 장수들 역사 기록 및 로그 전달 //항복국 장수들 역사 기록 및 로그 전달
$query = "select no,name,nation from general where nation='{$me['nation']}'"; $query = "select no,name,nation from general where nation='{$me['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount2 = MYDB_num_rows($result); $gencount2 = MYDB_num_rows($result);
$genlog[0] = "<C>●</><D><b>{$younation['name']}</b></>(으)로 항복하여 수도로 이동합니다."; $genlog[0] = "<C>●</><D><b>{$younation['name']}</b></>{$josaRo} 항복하여 수도로 이동합니다.";
for($i=0; $i < $gencount2; $i++) { for($i=0; $i < $gencount2; $i++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
pushGenLog($gen, $genlog); pushGenLog($gen, $genlog);
pushGeneralHistory($gen, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$mynation['name']}</b></>가 <D><b>{$younation['name']}</b></>(으)로 항복"); pushGeneralHistory($gen, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$mynation['name']}</b></>가 <D><b>{$younation['name']}</b></>{$josaRo} 항복");
} }
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【투항】</b></><D><b>{$mynation['name']}</b></> (이)가 <D><b>{$younation['name']}</b></>(으)로 항복하였습니다."; $josaYi = JosaUtil::pick($mynation['name'], '이');
$josaWa = JosaUtil::pick($mynation['name'], '와');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【투항】</b></><D><b>{$mynation['name']}</b></>{$josaYi} <D><b>{$younation['name']}</b></>{$josaRo} 항복하였습니다.";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>【혼란】</b></>통합에 반대하는 세력들로 인해 <D><b>{$younation['name']}</b></>에 혼란이 일고 있습니다."; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>【혼란】</b></>통합에 반대하는 세력들로 인해 <D><b>{$younation['name']}</b></>에 혼란이 일고 있습니다.";
pushNationHistory($younation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$mynation['name']}</b></>(와)과 합병"); pushNationHistory($younation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$mynation['name']}</b></>{$josaWa} 합병");
$newGenCount = $gencount + $gencount2; $newGenCount = $gencount + $gencount2;
if($newGenCount < 10) { $newGenCount = 10; } if($newGenCount < GameConst::$initialNationGenLimit) { $newGenCount = GameConst::$initialNationGenLimit; }
$newTotalTech = $younation['totaltech'] + $mynation['totaltech']; $newTotalTech = $younation['totaltech'] + $mynation['totaltech'];
$newTech = Util::round($newTotalTech / $newGenCount); $newTech = Util::round($newTotalTech / $newGenCount);
// 자금 통합, 외교제한 5년, 기술유지 // 자금 통합, 외교제한 5년, 기술유지
@@ -965,8 +905,9 @@ function updateNationState() {
switch($nationlevel) { switch($nationlevel) {
case 7: case 7:
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【작위】</b></><D><b>{$nation['name']}</b></>의 군주가 <Y>".getNationLevel($nationlevel)."</>(을)를 자칭하였습니다."; $josaUl = JosaUtil::pick(getNationLevel($nationlevel), '을');
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 군주가 <Y>".getNationLevel($nationlevel)."</>(을)를 자칭"); $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【작위】</b></><D><b>{$nation['name']}</b></>의 군주가 <Y>".getNationLevel($nationlevel)."</>{$josaUl} 자칭하였습니다.";
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 군주가 <Y>".getNationLevel($nationlevel)."</>{$josaUl} 자칭");
break; break;
case 6: case 6:
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【작위】</b></><D><b>{$nation['name']}</b></>의 군주가 <Y>".getNationLevel($nationlevel)."</>에 등극하였습니다."; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【작위】</b></><D><b>{$nation['name']}</b></>의 군주가 <Y>".getNationLevel($nationlevel)."</>에 등극하였습니다.";
@@ -991,7 +932,7 @@ function updateNationState() {
refreshNationStaticInfo(); refreshNationStaticInfo();
} }
$gennum = $gencount; $gennum = $gencount;
if($gencount < 10) $gencount = 10; if($gencount < GameConst::$initialNationGenLimit) $gencount = GameConst::$initialNationGenLimit;
//기술 및 변경횟수 업데이트 //기술 및 변경횟수 업데이트
$query = "update nation set tech=totaltech/'$gencount',gennum='$gennum' where nation='{$nation['nation']}'"; $query = "update nation set tech=totaltech/'$gencount',gennum='$gennum' where nation='{$nation['nation']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -1159,13 +1100,13 @@ function checkEmperior() {
$gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor = KVStorage::getStorage($db, 'game_env');
$connect=$db->get(); $connect=$db->get();
$admin = $gameStor->getValues(['year', 'month', 'isUnited']); $admin = $gameStor->getValues(['year', 'month', 'isunited']);
$query = "select nation,name from nation where level>0"; $query = "select nation,name from nation where level>0";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$count = MYDB_num_rows($result); $count = MYDB_num_rows($result);
if($count == 1 && $admin['isUnited'] == 0) { if($count == 1 && $admin['isunited'] == 0) {
$nation = MYDB_fetch_array($result); $nation = MYDB_fetch_array($result);
$query = "select city from city where nation='{$nation['nation']}'"; $query = "select city from city where nation='{$nation['nation']}'";
@@ -1177,9 +1118,12 @@ function checkEmperior() {
$allcount = MYDB_num_rows($result); $allcount = MYDB_num_rows($result);
if($count == $allcount) { if($count == $allcount) {
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>(이)가 전토를 통일");
$gameStor->isUnited = 2; $josaYi = JosaUtil::pick($nation['name'], '이');
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>{$josaYi} 전토를 통일");
$gameStor->isunited = 2;
$gameStor->conlimit = $gameStor->conlimit*100; $gameStor->conlimit = $gameStor->conlimit*100;
$query = "select no from general where npc<2 and age>=45"; $query = "select no from general where npc<2 and age>=45";
@@ -1256,7 +1200,7 @@ function checkEmperior() {
} }
} }
$log = ["<C>●</>{$admin['year']}{$admin['month']}월: <D><b>{$nation['name']}</b></>(이)가 전토를 통일하였습니다."]; $log = ["<C>●</>{$admin['year']}{$admin['month']}월: <D><b>{$nation['name']}</b></>{$josaYi} 전토를 통일하였습니다."];
$query = "select no,name from general where nation='{$nation['nation']}' order by dedication desc"; $query = "select no,name from general where nation='{$nation['nation']}' order by dedication desc";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -1334,7 +1278,7 @@ function checkEmperior() {
'history'=>$nationHistory 'history'=>$nationHistory
]); ]);
$history = ["<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【통일】</b></><D><b>{$nation['name']}</b></>(이)가 전토를 통일하였습니다."]; $history = ["<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【통일】</b></><D><b>{$nation['name']}</b></>{$josaYi} 전토를 통일하였습니다."];
pushWorldHistory($history, $admin['year'], $admin['month']); pushWorldHistory($history, $admin['year'], $admin['month']);
//연감 월결산 //연감 월결산
+3 -3
View File
@@ -290,9 +290,9 @@ function LogHistory($isFirst=0) {
$cityCount = $db->queryFirstField('select count(*) from city where nation = %i',$nation['nation']); $cityCount = $db->queryFirstField('select count(*) from city where nation = %i',$nation['nation']);
$nationStr .= "<font color=cyan>◆</font> <font style=color:".newColor($nation['color']).";background-color:{$nation['color']};>{$nation['name']}</font><br>"; $nationStr .= "<font color=cyan>◆</font> <font style=color:".newColor($nation['color']).";background-color:{$nation['color']};>{$nation['name']}</font><br>";
$powerStr .= "국력 {$nation['power']}<br>"; $powerStr .= "{$nation['power']}<br>";
$genStr .= "장수 {$nation['gennum']}<br>"; $genStr .= "{$nation['gennum']}<br>";
$cityStr .= "속령 $cityCount<br>"; $cityStr .= "$cityCount<br>";
} }
if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', contents collected'); if(STEP_LOG) pushStepLog(date('Y-m-d H:i:s').', contents collected');
+37 -52
View File
@@ -309,12 +309,11 @@ function processAI($no) {
//재야인경우 //재야인경우
if($general['npc'] == 5 && $general['level'] == 0) { if($general['npc'] == 5 && $general['level'] == 0) {
// 오랑캐는 바로 임관 // 오랑캐는 바로 임관
$query = "select nation from general where level=12 and npc=5 and nation not in (0{$general['nations']}0) order by rand() limit 0,1";
$result = MYDB_query($query, $connect) or Error("processAI06 ".MYDB_error($connect),""); $rulerNation = $db->queryFirstField('SELECT nation FROM general WHERE `level`=12 AND npc=5 and nation not in %li ORDER BY RAND() limit 1', Json::decode($general['nations']));
$rulerCount = MYDB_num_rows($result);
if($rulerCount > 0) { if($ruler) {
$ruler = MYDB_fetch_array($result); $command = EncodeCommand(0, 0, $rulerNation, 25); //임관
$command = EncodeCommand(0, 0, $ruler['nation'], 25); //임관
} else { } else {
$command = EncodeCommand(0, 0, 0, 42); //견문 $command = EncodeCommand(0, 0, 0, 42); //견문
} }
@@ -322,55 +321,38 @@ function processAI($no) {
MYDB_query($query, $connect) or Error("processAI07 ".MYDB_error($connect),""); MYDB_query($query, $connect) or Error("processAI07 ".MYDB_error($connect),"");
return; return;
} elseif($general['npc'] < 5 && $general['level'] == 0) { } elseif($general['npc'] < 5 && $general['level'] == 0) {
switch(rand()%5) { switch(Util::choiceRandomUsingWeight([11.4, 40, 20, 28.6])) {
//임관 40% //임관 10%
case 0: case 1: case 0:
if($admin['scenario'] == 0 || $admin['scenario'] >= 20) {
// 가상모드엔 랜덤임관, 초반엔 부상 적은 군주 우선 70% $available = true;
if($admin['startyear']+3 > $admin['year'] && rand()%100 < 70) {
$query = "select nation from general where level=12 and nation not in (0{$general['nations']}0) order by injury,rand() limit 0,1"; if($admin['startyear']+3 > $admin['year']){
} else { //초기 임관 기간에서는 국가가 적을수록 임관 시도가 적음
$query = "select nation from general where level=12 and nation not in (0{$general['nations']}0) order by rand() limit 0,1"; $nationCnt = $db->queryFirstField('SELECT count(nation) FROM nation');
$notFullNationCnt = $db->queryFirstField('SELECT count(nation) FROM nation WHERE gennum < %i', GameConst::$initialNationGenLimit);
if($nationCnt == 0 || $notFullNationCnt == 0){
$available = false;
} }
$result = MYDB_query($query, $connect) or Error("processAI06 ".MYDB_error($connect),""); else if(Util::randBool(pow(1 / $nationCnt / pow($notFullNationCnt, 3), 1/4))){
$rulerCount = MYDB_num_rows($result); //국가가 1개일 경우에는 '임관하지 않음'
if($rulerCount > 0 && $general['affinity'] != 999 && $general['makelimit'] == 0) { $available = false;
$ruler = MYDB_fetch_array($result);
$command = EncodeCommand(0, 0, $ruler['nation'], 25); //임관
} else {
$command = EncodeCommand(0, 0, 0, 42); //견문
}
} else {
$query = "select nation from general where level=12 and npc=0";
$result = MYDB_query($query, $connect) or Error("processAI06 ".MYDB_error($connect),"");
$nonCount = MYDB_num_rows($result);
$query = "select nation from general where level=12 and npc>0";
$result = MYDB_query($query, $connect) or Error("processAI06 ".MYDB_error($connect),"");
$npcCount = MYDB_num_rows($result);
$ratio = Util::round($npcCount / ($nonCount + $npcCount) * 100);
$ratio = Util::round($ratio * 1.0);
//NPC우선임관
$query = "select nation,ABS(IF(ABS(affinity-'{$general['affinity']}')>75,150-ABS(affinity-'{$general['affinity']}'),ABS(affinity-'{$general['affinity']}'))) as npcmatch2 from general where level=12 and npc>0 and nation not in (0{$general['nations']}0) order by npcmatch2,rand() limit 0,1";
$result = MYDB_query($query, $connect) or Error("processAI06 ".MYDB_error($connect),"");
$rulerCount = MYDB_num_rows($result);
if($rulerCount > 0 && $general['affinity'] != 999 && rand()%100 < $ratio && $general['makelimit'] == 0) { // 엔국 비율대로 임관(50% : 50%)
$ruler = MYDB_fetch_array($result);
$command = EncodeCommand(0, 0, $ruler['nation'], 25); //임관
} elseif($general['affinity'] != 999 && $general['makelimit'] == 0) { // NPC국가 없으면 유저국 임관
$query = "select nation from general where level=12 and npc=0 order by rand() limit 0,1";
$result = MYDB_query($query, $connect) or Error("processAI06 ".MYDB_error($connect),"");
$ruler = MYDB_fetch_array($result);
$command = EncodeCommand(0, 0, $ruler['nation'], 25); //임관
} else {
$command = EncodeCommand(0, 0, 0, 42); //견문
} }
} }
if($general['affinity'] == 999 || !$available){
$command = EncodeCommand(0, 0, 0, 42); //견문
}
else{
//랜임 커맨드 입력.
$command = EncodeCommand(0, 0, 99, 25); //임관
}
break; break;
case 2: case 3: //거병이나 견문 40% case 1: //거병이나 견문 40%
// 초반이면서 능력이 좋은놈 위주로 1%확률로 거병 (300명 재야시 2년간 약 10개 거병 예상) // 초반이면서 능력이 좋은놈 위주로 1.4%확률로 거병
$prop = rand() % 100; $prop = Util::randF() * (GameConst::$defaultStatNPCMax + GameConst::$chiefStatMin) / 2;
$ratio = Util::round(($general['leader'] + $general['power'] + $general['intel']) / 3); $ratio = ($general['leader'] + $general['power'] + $general['intel']) / 3;
if($admin['startyear']+2 > $admin['year'] && $prop < $ratio && rand()%100 < 1 && $general['makelimit'] == 0) { if($admin['startyear']+2 > $admin['year'] && $prop < $ratio && Util::randBool(0.014) && $general['makelimit'] == 0) {
//거병 //거병
$command = EncodeCommand(0, 0, 0, 55); $command = EncodeCommand(0, 0, 0, 55);
} else { } else {
@@ -378,10 +360,13 @@ function processAI($no) {
$command = EncodeCommand(0, 0, 0, 42); $command = EncodeCommand(0, 0, 0, 42);
} }
break; break;
case 4: //이동 20% case 2: //이동 20%
$paths = explode("|", $city['path']); $paths = explode("|", $city['path']);
$command = EncodeCommand(0, 0, $paths[rand()%count($paths)], 21); $command = EncodeCommand(0, 0, $paths[rand()%count($paths)], 21);
break; break;
default:
$command = EncodeCommand(0, 0, 0, 42);
break;
} }
$query = "update general set turn0='$command' where no='{$general['no']}'"; $query = "update general set turn0='$command' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error("processAI07 ".MYDB_error($connect),""); MYDB_query($query, $connect) or Error("processAI07 ".MYDB_error($connect),"");
+49 -33
View File
@@ -366,7 +366,7 @@ function process_3(&$general) {
$query = "select no from general where nation='{$general['nation']}'"; $query = "select no from general where nation='{$general['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($result); $gencount = MYDB_num_rows($result);
if($gencount < 10) $gencount = 10; if($gencount < GameConst::$initialNationGenLimit) $gencount = GameConst::$initialNationGenLimit;
// 내정 상승 // 내정 상승
$query = "update nation set totaltech=totaltech+'$score',tech=totaltech/'$gencount' where nation='{$general['nation']}'"; $query = "update nation set totaltech=totaltech+'$score',tech=totaltech/'$gencount' where nation='{$general['nation']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -1279,26 +1279,27 @@ function process_16(&$general) {
$nearCity = false; $nearCity = false;
} }
$josaRo = JosaUtil::pick($destcity['name'], '로');
if($admin['year'] < $admin['startyear']+3) { if($admin['year'] < $admin['startyear']+3) {
$log[] = "<C>●</>{$admin['month']}월:현재 초반 제한중입니다. <G><b>{$destcity['name']}</b></>(으)로 출병 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:현재 초반 제한중입니다. <G><b>{$destcity['name']}</b></>{$josaRo} 출병 실패. <1>$date</>";
// } elseif($city['supply'] == 0) { // } elseif($city['supply'] == 0) {
// $log[] = "<C>●</>{$admin['month']}월:고립된 도시입니다. <G><b>{$destcity['name']}</b></>(으)로 출병 실패. <1>$date</>"; // $log[] = "<C>●</>{$admin['month']}월:고립된 도시입니다. <G><b>{$destcity['name']}</b></>{$josaRo} 출병 실패. <1>$date</>";
} elseif(!$nearCity) { } elseif(!$nearCity) {
$log[] = "<C>●</>{$admin['month']}월:인접도시가 아닙니다. <G><b>{$destcity['name']}</b></>(으)로 출병 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:인접도시가 아닙니다. <G><b>{$destcity['name']}</b></>{$josaRo} 출병 실패. <1>$date</>";
} elseif($general['level'] == 0) { } elseif($general['level'] == 0) {
$log[] = "<C>●</>{$admin['month']}월:재야입니다. <G><b>{$destcity['name']}</b></>(으)로 출병 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:재야입니다. <G><b>{$destcity['name']}</b></>{$josaRo} 출병 실패. <1>$date</>";
} elseif($general['crew'] <= 0) { } elseif($general['crew'] <= 0) {
$log[] = "<C>●</>{$admin['month']}월:병사가 없습니다. <G><b>{$destcity['name']}</b></>(으)로 출병 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:병사가 없습니다. <G><b>{$destcity['name']}</b></>{$josaRo} 출병 실패. <1>$date</>";
} elseif($general['rice'] <= Util::round($general['crew']/100)) { } elseif($general['rice'] <= Util::round($general['crew']/100)) {
$log[] = "<C>●</>{$admin['month']}월:군량이 모자랍니다. <G><b>{$destcity['name']}</b></>(으)로 출병 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:군량이 모자랍니다. <G><b>{$destcity['name']}</b></>{$josaRo} 출병 실패. <1>$date</>";
} elseif($dip['state'] != 0) { } elseif($dip['state'] != 0) {
$log[] = "<C>●</>{$admin['month']}월:교전중인 국가가 아닙니다. <G><b>{$destcity['name']}</b></>(으)로 출병 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:교전중인 국가가 아닙니다. <G><b>{$destcity['name']}</b></>{$josaRo} 출병 실패. <1>$date</>";
} elseif($general['nation'] != $city['nation']) { } elseif($general['nation'] != $city['nation']) {
$log[] = "<C>●</>{$admin['month']}월:본국에서만 출병가능합니다. <G><b>{$destcity['name']}</b></>(으)로 출병 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:본국에서만 출병가능합니다. <G><b>{$destcity['name']}</b></>{$josaRo} 출병 실패. <1>$date</>";
} elseif($nation['war'] == 1) { } elseif($nation['war'] == 1) {
$log[] = "<C>●</>{$admin['month']}월:현재 전쟁 금지입니다. <G><b>{$destcity['name']}</b></>(으)로 출병 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:현재 전쟁 금지입니다. <G><b>{$destcity['name']}</b></>{$josaRo} 출병 실패. <1>$date</>";
} elseif($general['nation'] == $destcity['nation']) { } elseif($general['nation'] == $destcity['nation']) {
$log[] = "<C>●</>{$admin['month']}월:본국입니다. <G><b>{$destcity['name']}</b></>(으)로 출병 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:본국입니다. <G><b>{$destcity['name']}</b></>{$josaRo} 출병 실패. <1>$date</>";
pushGenLog($general, $log); pushGenLog($general, $log);
process_21($general); process_21($general);
return; return;
@@ -1388,12 +1389,13 @@ function process_21(&$general) {
$destCity = CityConst::byID($destination); $destCity = CityConst::byID($destination);
$josaRo = JosaUtil::pick($destCity->name, '로');
if(!key_exists($destCity->id, $city->path)) { if(!key_exists($destCity->id, $city->path)) {
$log[] = "<C>●</>{$admin['month']}월:인접도시가 아닙니다. <G><b>{$destCity->name}</b></>(으)로 이동 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:인접도시가 아닙니다. <G><b>{$destCity->name}</b></>{$josaRo} 이동 실패. <1>$date</>";
} elseif($general['gold'] < $admin['develcost']) { } elseif($general['gold'] < $admin['develcost']) {
$log[] = "<C>●</>{$admin['month']}월:자금이 부족합니다. <G><b>{$destCity->name}</b></>(으)로 이동 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:자금이 부족합니다. <G><b>{$destCity->name}</b></>{$josaRo} 이동 실패. <1>$date</>";
} else { } else {
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$destCity->name}</b></>(으)로 이동했습니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:<G><b>{$destCity->name}</b></>{$josaRo} 이동했습니다. <1>$date</>";
$exp = 50; $exp = 50;
// 성격 보정 // 성격 보정
@@ -1419,7 +1421,7 @@ function process_21(&$general) {
'city'=>$destCity->id 'city'=>$destCity->id
], 'nation = %i', $general['nation']); ], 'nation = %i', $general['nation']);
$genlog = ["<C>●</>방랑군 세력이 <G><b>{$destCity->name}</b></>(으)로 이동했습니다."]; $genlog = ["<C>●</>방랑군 세력이 <G><b>{$destCity->name}</b></>{$josaRo} 이동했습니다."];
foreach($db->query('SELECT `no` FROM general WHERE nation=%i and `level`<12', $general['nation']) as $follower){ foreach($db->query('SELECT `no` FROM general WHERE nation=%i and `level`<12', $general['nation']) as $follower){
pushGenLog($follower, $genlog); pushGenLog($follower, $genlog);
} }
@@ -1471,7 +1473,8 @@ function process_26(&$general) {
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
//부대원에게 로그 전달 //부대원에게 로그 전달
$genlog = ["<C>●</><S>{$troop['name']}</>의 부대원들은 <G><b>{$city['name']}</b></>(으)로 집합되었습니다."]; $josaRo = JosaUtil::pick($city['name'], '로');
$genlog = ["<C>●</><S>{$troop['name']}</>의 부대원들은 <G><b>{$city['name']}</b></>{$josaRo} 집합되었습니다."];
for($i=0; $i < $gencount; $i++) { for($i=0; $i < $gencount; $i++) {
$troopgen = MYDB_fetch_array($result); $troopgen = MYDB_fetch_array($result);
@@ -1537,7 +1540,8 @@ function process_28(&$general) {
$city = MYDB_fetch_array($result); $city = MYDB_fetch_array($result);
} }
$log[] = "<C>●</>{$admin['month']}월:<G>{$city['name']}</>(으)로 귀환했습니다. <1>$date</>"; $josaRo = JosaUtil::pick($city['name'], '로');
$log[] = "<C>●</>{$admin['month']}월:<G>{$city['name']}</>{$josaRo} 귀환했습니다. <1>$date</>";
$exp = 70; $exp = 70;
$ded = 100; $ded = 100;
@@ -1587,14 +1591,15 @@ function process_30(&$general) {
$cost = $admin['develcost'] * 5; $cost = $admin['develcost'] * 5;
$josaRo = JosaUtil::pick($destcity['name'], '로');
if($destination == $general['city']){ if($destination == $general['city']){
$log[] = "<C>●</>{$admin['month']}월:같은 도시입니다. <G><b>{$destcity['name']}</b></>(으)로 강행 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:같은 도시입니다. <G><b>{$destcity['name']}</b></>{$josaRo} 강행 실패. <1>$date</>";
} elseif(!key_exists($destination, $dist)) { } elseif(!key_exists($destination, $dist)) {
$log[] = "<C>●</>{$admin['month']}월:거리가 멉니다. <G><b>{$destcity['name']}</b></>(으)로 강행 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:거리가 멉니다. <G><b>{$destcity['name']}</b></>{$josaRo} 강행 실패. <1>$date</>";
} elseif($general['gold'] < $cost) { } elseif($general['gold'] < $cost) {
$log[] = "<C>●</>{$admin['month']}월:자금이 부족합니다. <G><b>{$destcity['name']}</b></>(으)로 강행 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:자금이 부족합니다. <G><b>{$destcity['name']}</b></>{$josaRo} 강행 실패. <1>$date</>";
} else { } else {
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$destcity['name']}</b></>(으)로 강행했습니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:<G><b>{$destcity['name']}</b></>{$josaRo} 강행했습니다. <1>$date</>";
$exp = 100; $exp = 100;
// 성격 보정 // 성격 보정
@@ -1615,7 +1620,7 @@ function process_30(&$general) {
$query = "select no,name from general where nation='{$general['nation']}' and level<'12'"; $query = "select no,name from general where nation='{$general['nation']}' and level<'12'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($result); $gencount = MYDB_num_rows($result);
$genlog = ["<C>●</>방랑군 세력이 <G><b>{$destcity['name']}</b></>(으)로 강행했습니다."]; $genlog = ["<C>●</>방랑군 세력이 <G><b>{$destcity['name']}</b></>{$josaRo} 강행했습니다."];
for($j=0; $j < $gencount; $j++) { for($j=0; $j < $gencount; $j++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
pushGenLog($gen, $genlog); pushGenLog($gen, $genlog);
@@ -1679,16 +1684,19 @@ function process_31(&$general) {
} }
} }
if(!key_exists($destination, $dist)) { if(!key_exists($destination, $dist)) {
$alllog[] = "<C>●</>{$admin['month']}월:누군가가 <G><b>{$city['name']}</b></>(을)를 살피는 것 같습니다."; $josaUl = JosaUtil::pick($city['name'], '을');
$alllog[] = "<C>●</>{$admin['month']}월:누군가가 <G><b>{$city['name']}</b></>{$josaUl} 살피는 것 같습니다.";
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$city['name']}</b></>의 소문만 들을 수 있었습니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:<G><b>{$city['name']}</b></>의 소문만 들을 수 있었습니다. <1>$date</>";
$log[] = "【<G>{$city['name']}</>】주민:{$city['pop']}, 민심:{$city['rate']}, 장수:$gencount, 병력:$crew"; $log[] = "【<G>{$city['name']}</>】주민:{$city['pop']}, 민심:{$city['rate']}, 장수:$gencount, 병력:$crew";
} elseif($dist[$destination] == 2) { } elseif($dist[$destination] == 2) {
$alllog[] = "<C>●</>{$admin['month']}월:누군가가 <G><b>{$city['name']}</b></>(을)를 살피는 것 같습니다."; $josaUl = JosaUtil::pick($city['name'], '을');
$alllog[] = "<C>●</>{$admin['month']}월:누군가가 <G><b>{$city['name']}</b></>{$josaUl} 살피는 것 같습니다.";
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$city['name']}</b></>의 어느정도 정보를 얻었습니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:<G><b>{$city['name']}</b></>의 어느정도 정보를 얻었습니다. <1>$date</>";
$log[] = "【<M>첩보</>】농업:{$city['agri']}, 상업:{$city['comm']}, 치안:{$city['secu']}, 수비:{$city['def']}, 성벽:{$city['wall']}"; $log[] = "【<M>첩보</>】농업:{$city['agri']}, 상업:{$city['comm']}, 치안:{$city['secu']}, 수비:{$city['def']}, 성벽:{$city['wall']}";
$log[] = "【<G>{$city['name']}</>】주민:{$city['pop']}, 민심:{$city['rate']}, 장수:$gencount, 병력:$crew"; $log[] = "【<G>{$city['name']}</>】주민:{$city['pop']}, 민심:{$city['rate']}, 장수:$gencount, 병력:$crew";
} else { } else {
$alllog[] = "<C>●</>{$admin['month']}월:누군가가 <G><b>{$city['name']}</b></>(을)를 살피는 것 같습니다."; $josaUl = JosaUtil::pick($city['name'], '을');
$alllog[] = "<C>●</>{$admin['month']}월:누군가가 <G><b>{$city['name']}</b></>{$josaUl} 살피는 것 같습니다.";
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$city['name']}</b></>의 많은 정보를 얻었습니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:<G><b>{$city['name']}</b></>의 많은 정보를 얻었습니다. <1>$date</>";
$msg[] = "【<S>병종</>】"; $msg[] = "【<S>병종</>】";
@@ -2284,45 +2292,53 @@ function process_48(&$general) {
} else { } else {
if($isweap == 0) { if($isweap == 0) {
if($type != 0) { if($type != 0) {
$log[] = "<C>●</>{$admin['month']}월:<C>".getWeapName($type)."</>(을)를 구입했습니다. <1>$date</>"; $josaUl = JosaUtil::pick(getWeapName($type), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getWeapName($type)."</>{$josaUl} 구입했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',weap='$type',gold=gold-'$cost' where no='{$general['no']}'"; $query = "update general set resturn='SUCCESS',weap='$type',gold=gold-'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} else { } else {
$cost = Util::round(getItemCost($general['weap']) / 2); $cost = Util::round(getItemCost($general['weap']) / 2);
$log[] = "<C>●</>{$admin['month']}월:<C>".getWeapName($general['weap'])."</>(을)를 판매했습니다. <1>$date</>"; $josaUl = JosaUtil::pick(getWeapName($general['weap']), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getWeapName($general['weap'])."</>{$josaUl} 판매했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',weap='0',gold=gold+'$cost' where no='{$general['no']}'"; $query = "update general set resturn='SUCCESS',weap='0',gold=gold+'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} }
} elseif($isweap == 1) { } elseif($isweap == 1) {
if($type != 0) { if($type != 0) {
$log[] = "<C>●</>{$admin['month']}월:<C>".getBookName($type)."</>(을)를 구입했습니다. <1>$date</>"; $josaUl = JosaUtil::pick(getBookName($type), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getBookName($type)."</>{$josaUl} 구입했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',book='$type',gold=gold-'$cost' where no='{$general['no']}'"; $query = "update general set resturn='SUCCESS',book='$type',gold=gold-'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} else { } else {
$cost = Util::round(getItemCost($general['book']) / 2); $cost = Util::round(getItemCost($general['book']) / 2);
$log[] = "<C>●</>{$admin['month']}월:<C>".getBookName($general['book'])."</>(을)를 판매했습니다. <1>$date</>"; $josaUl = JosaUtil::pick(getBookName($general['book']), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getBookName($general['book'])."</>{$josaUl} 판매했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',book='0',gold=gold+'$cost' where no='{$general['no']}'"; $query = "update general set resturn='SUCCESS',book='0',gold=gold+'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} }
} elseif($isweap == 2) { } elseif($isweap == 2) {
if($type != 0) { if($type != 0) {
$log[] = "<C>●</>{$admin['month']}월:<C>".getHorseName($type)."</>(을)를 구입했습니다. <1>$date</>"; $josaUl = JosaUtil::pick(getHorseName($type), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getHorseName($type)."</>{$josaUl} 구입했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',horse='$type',gold=gold-'$cost' where no='{$general['no']}'"; $query = "update general set resturn='SUCCESS',horse='$type',gold=gold-'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} else { } else {
$cost = Util::round(getItemCost($general['horse']) / 2); $cost = Util::round(getItemCost($general['horse']) / 2);
$log[] = "<C>●</>{$admin['month']}월:<C>".getHorseName($general['horse'])."</>(을)를 판매했습니다. <1>$date</>"; $josaUl = JosaUtil::pick(getHorseName($general['horse']), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getHorseName($general['horse'])."</>{$josaUl} 판매했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',horse='0',gold=gold+'$cost' where no='{$general['no']}'"; $query = "update general set resturn='SUCCESS',horse='0',gold=gold+'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} }
} elseif($isweap == 3) { } elseif($isweap == 3) {
if($type != 0) { if($type != 0) {
$log[] = "<C>●</>{$admin['month']}월:<C>".getItemName($type)."</>(을)를 구입했습니다. <1>$date</>"; $josaUl = JosaUtil::pick(getItemName($type), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getItemName($type)."</>{$josaUl} 구입했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',item='$type',gold=gold-'$cost' where no='{$general['no']}'"; $query = "update general set resturn='SUCCESS',item='$type',gold=gold-'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} else { } else {
$cost = Util::round(getItemCost2($general['item']) / 2); $cost = Util::round(getItemCost2($general['item']) / 2);
$log[] = "<C>●</>{$admin['month']}월:<C>".getItemName($general['item'])."</>(을)를 판매했습니다. <1>$date</>"; $josaUl = JosaUtil::pick(getItemName($general['item']), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getItemName($general['item'])."</>{$josaUl} 판매했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',item='0',gold=gold+'$cost' where no='{$general['no']}'"; $query = "update general set resturn='SUCCESS',item='0',gold=gold+'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} }
+174 -123
View File
@@ -279,8 +279,10 @@ function process_27(&$general) {
} elseif($general['nation'] != $you['nation']) { } elseif($general['nation'] != $you['nation']) {
$log[] = "<C>●</>{$admin['month']}월:아국 장수가 아닙니다. <Y>{$you['name']}</> 발령 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:아국 장수가 아닙니다. <Y>{$you['name']}</> 발령 실패. <1>$date</>";
} else { } else {
$log[] = "<C>●</>{$admin['month']}월:<Y>{$you['name']}</>(을)를 <G><b>{$destcity['name']}</b></>(으)로 발령했습니다. <1>$date</>"; $josaUl = JosaUtil::pick($you['name'], '을');
$youlog[] = "<C>●</><Y>{$general['name']}</>에 의해 <G><b>{$destcity['name']}</b></>(으)로 발령됐습니다. <1>$date</>"; $josaRo = JosaUtil::pick($destcity['name'], '로');
$log[] = "<C>●</>{$admin['month']}월:<Y>{$you['name']}</>{$josaUl} <G><b>{$destcity['name']}</b></>{$josaRo} 발령했습니다. <1>$date</>";
$youlog[] = "<C>●</><Y>{$general['name']}</>에 의해 <G><b>{$destcity['name']}</b></>{$josaRo} 발령됐습니다. <1>$date</>";
$exp = 1; $exp = 1;
$ded = 1; $ded = 1;
@@ -460,14 +462,15 @@ function process_52(&$general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($result); $gencount = MYDB_num_rows($result);
$genlog = ["<C>●</><D><b>{$younation['name']}</b></>(으)로 금<C>$gold</> 쌀<C>$rice</>을 지원했습니다."]; $josaRo = JosaUtil::pick($younation['name'], '로');
$genlog = ["<C>●</><D><b>{$younation['name']}</b></>{$josaRo} 금<C>$gold</> 쌀<C>$rice</>을 지원했습니다."];
for($i=0; $i < $gencount; $i++) { for($i=0; $i < $gencount; $i++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
pushGenLog($gen, $genlog); pushGenLog($gen, $genlog);
} }
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$younation['name']}</b></>(으)로 금<C>$gold</> 쌀<C>$rice</>을 지원"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$younation['name']}</b></>{$josaRo} 금<C>$gold</> 쌀<C>$rice</>을 지원");
pushNationHistory($mynation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$younation['name']}</b></>(으)로 금<C>$gold</> 쌀<C>$rice</>을 지원"); pushNationHistory($mynation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$younation['name']}</b></>{$josaRo} 금<C>$gold</> 쌀<C>$rice</>을 지원");
pushNationHistory($younation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$mynation['name']}</b></>(으)로부터 금<C>$gold</> 쌀<C>$rice</>을 지원 받음"); pushNationHistory($younation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$mynation['name']}</b></>{$josaRo}부터 금<C>$gold</> 쌀<C>$rice</>을 지원 받음");
//상대국 수뇌부에게 로그 전달 //상대국 수뇌부에게 로그 전달
$query = "select no,name,nation from general where nation='$which' and level>='9'"; $query = "select no,name,nation from general where nation='$which' and level>='9'";
@@ -480,8 +483,8 @@ function process_52(&$general) {
pushGenLog($gen, $genlog); pushGenLog($gen, $genlog);
} }
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【원조】</b></><D><b>{$mynation['name']}</b></>에서 <D><b>{$younation['name']}</b></>(으)로 물자를 지원합니다."; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【원조】</b></><D><b>{$mynation['name']}</b></>에서 <D><b>{$younation['name']}</b></>{$josaRo} 물자를 지원합니다.";
$log[] = "<C>●</>{$admin['month']}월:<D><b>{$younation['name']}</b></>(으)로 물자를 지원합니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:<D><b>{$younation['name']}</b></>{$josaRo} 물자를 지원합니다. <1>$date</>";
$exp = 5; $exp = 5;
$ded = 5; $ded = 5;
@@ -581,7 +584,8 @@ function process_53(&$general) {
'experience'=>$db->sqleval('experience+%i', $exp) 'experience'=>$db->sqleval('experience+%i', $exp)
], 'no=%i', $general['no']); ], 'no=%i', $general['no']);
pushGenLog($general, ["<C>●</>{$month}월:<D><b>{$destNation['name']}</b></>(으)로 통합 제의 서신을 보냈습니다.<1>$date</>"]); $josaRo = JosaUtil::pick($destNation['name'], '로');
pushGenLog($general, ["<C>●</>{$month}월:<D><b>{$destNation['name']}</b></>{$josaRo} 통합 제의 서신을 보냈습니다.<1>$date</>"]);
} }
@@ -755,11 +759,14 @@ function process_62(&$general) {
$exp = CharExperience($exp, $general['personal']); $exp = CharExperience($exp, $general['personal']);
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <D><b>{$younation['name']}</b></>에 <M>선전 포고</> 하였습니다."; $josaYi = JosaUtil::pick($general['name'], '이');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<R><b>【선포】</b></><D><b>{$nation['name']}</b></>(이)가 <D><b>{$younation['name']}</b></>에 선전 포고 하였습니다."; $josaYiNation = JosaUtil::pick($nation['name'], '이');
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <D><b>{$younation['name']}</b></>에 <M>선전 포고</> 하였습니다.";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<R><b>【선포】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <D><b>{$younation['name']}</b></>에 선전 포고 하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$younation['name']}</b></>에 선전 포고"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$younation['name']}</b></>에 선전 포고");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <D><b>{$younation['name']}</b></>에 선전 포고"); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <D><b>{$younation['name']}</b></>에 선전 포고");
pushNationHistory($younation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 아국에 선전 포고"); pushNationHistory($younation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} 아국에 선전 포고");
//외교 변경 //외교 변경
$query = "update diplomacy set state='1',term='24' where me='{$nation['nation']}' and you='{$younation['nation']}'"; $query = "update diplomacy set state='1',term='24' where me='{$nation['nation']}' and you='{$younation['nation']}'";
@@ -970,7 +977,8 @@ function process_64(&$general) {
'experience'=>$db->sqleval('experience+%i', $exp) 'experience'=>$db->sqleval('experience+%i', $exp)
], 'no=%i', $general['no']); ], 'no=%i', $general['no']);
pushGenLog($general, ["<C>●</>{$month}월:<D><b>{$destNation['name']}</b></>(으)로 불가침 파기 제의 서신을 보냈습니다.<1>$date</>"]); $josaRo = JosaUtil::pick($destNation['name'], '로');
pushGenLog($general, ["<C>●</>{$month}월:<D><b>{$destNation['name']}</b></>{$josaRo} 불가침 파기 제의 서신을 보냈습니다.<1>$date</>"]);
} }
function process_65(&$general) { function process_65(&$general) {
@@ -1026,7 +1034,8 @@ function process_65(&$general) {
} elseif($nation['surlimit'] > 0) { } elseif($nation['surlimit'] > 0) {
$log[] = "<C>●</>{$admin['month']}월:제한 턴이 있습니다. 초토화 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:제한 턴이 있습니다. 초토화 실패. <1>$date</>";
} else { } else {
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$destcity['name']}</b></>(을)를 초토화했습니다. <1>$date</>"; $josaUl = JosaUtil::pick($destcity['name'], '을');
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$destcity['name']}</b></>{$josaUl} 초토화했습니다. <1>$date</>";
$exp = 5; $exp = 5;
$ded = 5; $ded = 5;
@@ -1034,10 +1043,13 @@ function process_65(&$general) {
$exp = CharExperience($exp, $general['personal']); $exp = CharExperience($exp, $general['personal']);
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>의 <R>초토화</>를 명령하였습니다."; $josaYi = JosaUtil::pick($general['name'], '이');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<R><b>【초토화】</b></><D><b>{$nation['name']}</b></>(이)가 <G><b>{$destcity['name']}</b></>(을)를 <R>초토화</>하였습니다."; $josaYiNation = JosaUtil::pick($nation['name'], '이');
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>의 <R>초토화</>를 명령하였습니다.";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<R><b>【초토화】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <G><b>{$destcity['name']}</b></>{$josaUl} <R>초토화</>하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$destcity['name']}</b></>의 <R>초토화</>를 명령"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$destcity['name']}</b></>의 <R>초토화</>를 명령");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>의 <R>초토화</>를 명령"); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>의 <R>초토화</>를 명령");
//외교제한 24 //외교제한 24
$amount = Util::round($destcity['pop'] * 0.1); $amount = Util::round($destcity['pop'] * 0.1);
@@ -1126,7 +1138,8 @@ function process_66(&$general) {
$query = "update nation set l{$general['level']}term={$code} where nation='{$general['nation']}'"; $query = "update nation set l{$general['level']}term={$code} where nation='{$general['nation']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} else { } else {
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$destcity['name']}</b></>(으)로 천도했습니다. <1>$date</>"; $josaRo = JosaUtil::pick($destcity['name'], '로');
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$destcity['name']}</b></>{$josaRo} 천도했습니다. <1>$date</>";
$exp = 15; $exp = 15;
$ded = 15; $ded = 15;
@@ -1134,10 +1147,13 @@ function process_66(&$general) {
$exp = CharExperience($exp, $general['personal']); $exp = CharExperience($exp, $general['personal']);
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>(으)로 <R>천도</>를 명령하였습니다."; $josaYi = JosaUtil::pick($general['name'], '이');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<S><b>【천도】</b></><D><b>{$nation['name']}</b></>(이)가 <G><b>{$destcity['name']}</b></>(으)로 천도하였습니다."; $josaYiNation = JosaUtil::pick($nation['name'], '이');
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$destcity['name']}</b></>(으)로 천도 명령");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>(으)로 천도 명령"); $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>{$josaRo} <R>천도</>를 명령하였습니다.";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<S><b>【천도】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <G><b>{$destcity['name']}</b></>{$josaRo} 천도하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$destcity['name']}</b></>{$josaRo} 천도 명령");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>{$josaRo} 천도 명령");
//수도 변경 //수도 변경
$query = "update nation set l{$general['level']}term='0',capital='{$destcity['city']}',capset='1',gold=gold-'$amount',rice=rice-'$amount' where nation='{$general['nation']}'"; $query = "update nation set l{$general['level']}term='0',capital='{$destcity['city']}',capset='1',gold=gold-'$amount',rice=rice-'$amount' where nation='{$general['nation']}'";
@@ -1214,7 +1230,8 @@ function process_67(&$general) {
$query = "update nation set l{$general['level']}term={$code} where nation='{$general['nation']}'"; $query = "update nation set l{$general['level']}term={$code} where nation='{$general['nation']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} else { } else {
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$destcity['name']}</b></>(을)를 증축했습니다. <1>$date</>"; $josaUl = JosaUtil::pick($destcity['name'], '을');
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$destcity['name']}</b></>{$josaUl} 증축했습니다. <1>$date</>";
$exp = 5 * 6; $exp = 5 * 6;
$ded = 5 * 6; $ded = 5 * 6;
@@ -1222,10 +1239,13 @@ function process_67(&$general) {
$exp = CharExperience($exp, $general['personal']); $exp = CharExperience($exp, $general['personal']);
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>(을)를 <C>증축</>하였습니다."; $josaYi = JosaUtil::pick($general['name'], '이');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【증축】</b></><D><b>{$nation['name']}</b></>(이)가 <G><b>{$destcity['name']}</b></>(을)를 증축하였습니다."; $josaYiNation = JosaUtil::pick($nation['name'], '이');
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$destcity['name']}</b></>(을)를 증축");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>(을)를 증축"); $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>{$josaUl} <C>증축</>하였습니다.";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【증축】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <G><b>{$destcity['name']}</b></>{$josaUl} 증축하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$destcity['name']}</b></>{$josaUl} 증축");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>{$josaUl} 증축");
//물자 감소 //물자 감소
$query = "update nation set l{$general['level']}term='0',capset='1',gold=gold-'$amount',rice=rice-'$amount' where nation='{$general['nation']}'"; $query = "update nation set l{$general['level']}term='0',capset='1',gold=gold-'$amount',rice=rice-'$amount' where nation='{$general['nation']}'";
@@ -1304,7 +1324,8 @@ function process_68(&$general) {
$query = "update nation set l{$general['level']}term={$code} where nation='{$general['nation']}'"; $query = "update nation set l{$general['level']}term={$code} where nation='{$general['nation']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} else { } else {
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$destcity['name']}</b></>(을)를 감축했습니다. <1>$date</>"; $josaUl = JosaUtil::pick($destcity['name'], '을');
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$destcity['name']}</b></>{$josaUl} 감축했습니다. <1>$date</>";
$exp = 5 * 6; $exp = 5 * 6;
$ded = 5 * 6; $ded = 5 * 6;
@@ -1312,10 +1333,13 @@ function process_68(&$general) {
$exp = CharExperience($exp, $general['personal']); $exp = CharExperience($exp, $general['personal']);
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>(을)를 <M>감축</>하였습니다."; $josaYi = JosaUtil::pick($general['name'], '이');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<M><b>【감축】</b></><D><b>{$nation['name']}</b></>(이)가 <G><b>{$destcity['name']}</b></>(을)를 감축하였습니다."; $josaYiNation = JosaUtil::pick($nation['name'], '이');
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$destcity['name']}</b></>(을)를 감축");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>(을)를 감축"); $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>{$josaUl} <M>감축</>하였습니다.";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<M><b>【감축】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <G><b>{$destcity['name']}</b></>{$josaUl} 감축하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$destcity['name']}</b></>{$josaUl} 감축");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>{$josaUl} 감축");
//물자 증가 //물자 증가
$query = "update nation set l{$general['level']}term='0',capset='1',gold=gold+'$amount',rice=rice+'$amount' where nation='{$general['nation']}'"; $query = "update nation set l{$general['level']}term='0',capset='1',gold=gold+'$amount',rice=rice+'$amount' where nation='{$general['nation']}'";
@@ -1376,7 +1400,7 @@ function process_71(&$general) {
$query = "select no from general where nation='{$general['nation']}'"; $query = "select no from general where nation='{$general['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$genCount = MYDB_num_rows($result); $genCount = MYDB_num_rows($result);
if($genCount < 10) { $genCount = 10; } if($genCount < GameConst::$initialNationGenLimit) { $genCount = GameConst::$initialNationGenLimit; }
//$term2 = Util::round($genCount / 10); //$term2 = Util::round($genCount / 10);
//if($term2 == 0) { $term2 = 1; } //if($term2 == 0) { $term2 = 1; }
@@ -1414,20 +1438,23 @@ function process_71(&$general) {
$exp = CharExperience($exp, $general['personal']); $exp = CharExperience($exp, $general['personal']);
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$josaYi = JosaUtil::pick($general['name'], '이');
$josaYiNation = JosaUtil::pick($nation['name'], '이');
$query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'"; $query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$cnt = MYDB_num_rows($result); $cnt = MYDB_num_rows($result);
$alllog[0] = "<C>●</><Y>{$general['name']}</>(이)가 <M>필사즉생</>(을)를 발동하였습니다."; $alllog[0] = "<C>●</><Y>{$general['name']}</>{$josaYi} <M>필사즉생</> 발동하였습니다.";
for($i=0; $i < $cnt; $i++) { for($i=0; $i < $cnt; $i++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
pushGenLog($gen, $alllog); pushGenLog($gen, $alllog);
} }
// $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <M>필사즉생</>(을)를 발동하였습니다."; // $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <M>필사즉생</> 발동하였습니다.";
// $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <M>필사즉생</>(을)를 발동하였습니다."; // $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <M>필사즉생</> 발동하였습니다.";
$sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <M>필사즉생</>(을)를 발동하였습니다."; $sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <M>필사즉생</> 발동하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<M>필사즉생</>(을)를 발동"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<M>필사즉생</> 발동");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <M>필사즉생</>(을)를 발동"); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <M>필사즉생</> 발동");
//전장수 훈사100 //전장수 훈사100
$query = "update general set atmos=100,train=100 where nation='{$general['nation']}'"; $query = "update general set atmos=100,train=100 where nation='{$general['nation']}'";
@@ -1488,7 +1515,7 @@ function process_72(&$general) {
$query = "select no from general where nation='{$general['nation']}'"; $query = "select no from general where nation='{$general['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$genCount = MYDB_num_rows($result); $genCount = MYDB_num_rows($result);
if($genCount < 10) { $genCount = 10; } if($genCount < GameConst::$initialNationGenLimit) { $genCount = GameConst::$initialNationGenLimit; }
//$term2 = Util::round($genCount / 20); //$term2 = Util::round($genCount / 20);
//if($term2 == 0) { $term2 = 1; } //if($term2 == 0) { $term2 = 1; }
@@ -1528,20 +1555,23 @@ function process_72(&$general) {
$exp = CharExperience($exp, $general['personal']); $exp = CharExperience($exp, $general['personal']);
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$josaYi = JosaUtil::pick($general['name'], '이');
$josaYiNation = JosaUtil::pick($nation['name'], '이');
$query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'"; $query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$cnt = MYDB_num_rows($result); $cnt = MYDB_num_rows($result);
$alllog[0] = "<C>●</><Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>에 <M>백성동원</>(을)를 발동하였습니다."; $alllog[0] = "<C>●</><Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>에 <M>백성동원</> 발동하였습니다.";
for($i=0; $i < $cnt; $i++) { for($i=0; $i < $cnt; $i++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
pushGenLog($gen, $alllog); pushGenLog($gen, $alllog);
} }
// $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>에 <M>백성동원</>(을)를 발동하였습니다."; // $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>에 <M>백성동원</> 발동하였습니다.";
// $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <G><b>{$destcity['name']}</b></>에 <M>백성동원</>(을)를 발동하였습니다."; // $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <G><b>{$destcity['name']}</b></>에 <M>백성동원</> 발동하였습니다.";
$sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <G><b>{$destcity['name']}</b></>에 <M>백성동원</>(을)를 발동하였습니다."; $sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <G><b>{$destcity['name']}</b></>에 <M>백성동원</> 발동하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$destcity['name']}</b></>에 <M>백성동원</>(을)를 발동"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$destcity['name']}</b></>에 <M>백성동원</> 발동");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>에 <M>백성동원</>(을)를 발동"); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>에 <M>백성동원</> 발동");
//도시 성수 80% //도시 성수 80%
$query = "update city set def=def2*0.8,wall=wall2*0.8 where city='{$destcity['city']}'"; $query = "update city set def=def2*0.8,wall=wall2*0.8 where city='{$destcity['city']}'";
@@ -1606,7 +1636,7 @@ function process_73(&$general) {
$query = "select no from general where nation='{$general['nation']}'"; $query = "select no from general where nation='{$general['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$genCount = MYDB_num_rows($result); $genCount = MYDB_num_rows($result);
if($genCount < 10) { $genCount = 10; } if($genCount < GameConst::$initialNationGenLimit) { $genCount = GameConst::$initialNationGenLimit; }
//$term2 = Util::round($genCount / 20); //$term2 = Util::round($genCount / 20);
//if($term2 == 0) { $term2 = 1; } //if($term2 == 0) { $term2 = 1; }
@@ -1648,10 +1678,13 @@ function process_73(&$general) {
$exp = CharExperience($exp, $general['personal']); $exp = CharExperience($exp, $general['personal']);
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$josaYi = JosaUtil::pick($general['name'], '이');
$josaYiNation = JosaUtil::pick($nation['name'], '이');
$query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'"; $query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$cnt = MYDB_num_rows($result); $cnt = MYDB_num_rows($result);
$alllog[0] = "<C>●</><Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>에 <M>수몰</>(을)를 발동하였습니다."; $alllog[0] = "<C>●</><Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>에 <M>수몰</> 발동하였습니다.";
for($i=0; $i < $cnt; $i++) { for($i=0; $i < $cnt; $i++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
pushGenLog($gen, $alllog); pushGenLog($gen, $alllog);
@@ -1666,12 +1699,12 @@ function process_73(&$general) {
pushGenLog($gen, $alllog); pushGenLog($gen, $alllog);
} }
// $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>에 <M>수몰</>(을)를 발동하였습니다."; // $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>에 <M>수몰</> 발동하였습니다.";
// $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <G><b>{$destcity['name']}</b></>에 <M>수몰</>(을)를 발동하였습니다."; // $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <G><b>{$destcity['name']}</b></>에 <M>수몰</> 발동하였습니다.";
$sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <G><b>{$destcity['name']}</b></>에 <M>수몰</>(을)를 발동하였습니다."; $sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <G><b>{$destcity['name']}</b></>에 <M>수몰</> 발동하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$destcity['name']}</b></>에 <M>수몰</>(을)를 발동"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$destcity['name']}</b></>에 <M>수몰</> 발동");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <D><b>{$destnation['name']}</b></>의 <G><b>{$destcity['name']}</b></>에 <M>수몰</>(을)를 발동"); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <D><b>{$destnation['name']}</b></>의 <G><b>{$destcity['name']}</b></>에 <M>수몰</> 발동");
pushNationHistory($destnation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 아국의 <G><b>{$destcity['name']}</b></>에 <M>수몰</>(을)를 발동"); pushNationHistory($destnation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} 아국의 <G><b>{$destcity['name']}</b></>에 <M>수몰</> 발동");
//도시 성수 80% 감소 //도시 성수 80% 감소
$query = "update city set def=def*0.2,wall=wall*0.2 where city='{$destcity['city']}'"; $query = "update city set def=def*0.2,wall=wall*0.2 where city='{$destcity['city']}'";
@@ -1736,7 +1769,7 @@ function process_74(&$general) {
$query = "select no from general where nation='{$general['nation']}'"; $query = "select no from general where nation='{$general['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$genCount = MYDB_num_rows($result); $genCount = MYDB_num_rows($result);
if($genCount < 10) { $genCount = 10; } if($genCount < GameConst::$initialNationGenLimit) { $genCount = GameConst::$initialNationGenLimit; }
//$term2 = Util::round($genCount / 20); //$term2 = Util::round($genCount / 20);
//if($term2 == 0) { $term2 = 1; } //if($term2 == 0) { $term2 = 1; }
@@ -1778,21 +1811,24 @@ function process_74(&$general) {
$exp = CharExperience($exp, $general['personal']); $exp = CharExperience($exp, $general['personal']);
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$josaYi = JosaUtil::pick($general['name'], '이');
$josaYiNation = JosaUtil::pick($nation['name'], '이');
$query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'"; $query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$cnt = MYDB_num_rows($result); $cnt = MYDB_num_rows($result);
$alllog[0] = "<C>●</><Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>에 <M>허보</>(을)를 발동하였습니다."; $alllog[0] = "<C>●</><Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>에 <M>허보</>를 발동하였습니다.";
for($i=0; $i < $cnt; $i++) { for($i=0; $i < $cnt; $i++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
pushGenLog($gen, $alllog); pushGenLog($gen, $alllog);
} }
// $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$destcity['name']}</b></>에 <M>허보</>(을)를 발동하였습니다."; // $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$destcity['name']}</b></>에 <M>허보</>를 발동하였습니다.";
// $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <G><b>{$destcity['name']}</b></>에 <M>허보</>(을)를 발동하였습니다."; // $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <G><b>{$destcity['name']}</b></>에 <M>허보</>를 발동하였습니다.";
$sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <G><b>{$destcity['name']}</b></>에 <M>허보</>(을)를 발동하였습니다."; $sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <G><b>{$destcity['name']}</b></>에 <M>허보</>를 발동하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$destcity['name']}</b></>에 <M>허보</>(을)를 발동"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$destcity['name']}</b></>에 <M>허보</>를 발동");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <D><b>{$destnation['name']}</b></>의 <G><b>{$destcity['name']}</b></>에 <M>허보</>(을)를 발동"); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <D><b>{$destnation['name']}</b></>의 <G><b>{$destcity['name']}</b></>에 <M>허보</>를 발동");
pushNationHistory($destnation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 아국의 <G><b>{$destcity['name']}</b></>에 <M>허보</>(을)를 발동"); pushNationHistory($destnation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} 아국의 <G><b>{$destcity['name']}</b></>에 <M>허보</>를 발동");
//상대국 도시 전부 검색 //상대국 도시 전부 검색
$query = "select city from city where nation='{$destcity['nation']}' and supply=1"; $query = "select city from city where nation='{$destcity['nation']}' and supply=1";
@@ -1875,7 +1911,7 @@ function process_75(&$general) {
$query = "select no from general where nation='{$general['nation']}'"; $query = "select no from general where nation='{$general['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$genCount = MYDB_num_rows($result); $genCount = MYDB_num_rows($result);
if($genCount < 10) { $genCount = 10; } if($genCount < GameConst::$initialNationGenLimit) { $genCount = GameConst::$initialNationGenLimit; }
//$term2 = Util::round($genCount / 40); //$term2 = Util::round($genCount / 40);
//if($term2 == 0) { $term2 = 1; } //if($term2 == 0) { $term2 = 1; }
@@ -1915,10 +1951,13 @@ function process_75(&$general) {
$exp = CharExperience($exp, $general['personal']); $exp = CharExperience($exp, $general['personal']);
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$josaYi = JosaUtil::pick($general['name'], '이');
$josaYiNation = JosaUtil::pick($nation['name'], '이');
$query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'"; $query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$cnt = MYDB_num_rows($result); $cnt = MYDB_num_rows($result);
$alllog[0] = "<C>●</><Y>{$general['name']}</>(이)가 <D><b>{$destnation['name']}</b></>에 <M>피장파장</>(을)를 발동하였습니다."; $alllog[0] = "<C>●</><Y>{$general['name']}</>{$josaYi} <D><b>{$destnation['name']}</b></>에 <M>피장파장</> 발동하였습니다.";
for($i=0; $i < $cnt; $i++) { for($i=0; $i < $cnt; $i++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
pushGenLog($gen, $alllog); pushGenLog($gen, $alllog);
@@ -1933,12 +1972,12 @@ function process_75(&$general) {
pushGenLog($gen, $alllog); pushGenLog($gen, $alllog);
} }
// $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <D><b>{$destnation['name']}</b></>에 <M>피장파장</>(을)를 발동하였습니다."; // $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <D><b>{$destnation['name']}</b></>에 <M>피장파장</> 발동하였습니다.";
// $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <D><b>{$destnation['name']}</b></>에 <M>피장파장</>(을)를 발동하였습니다."; // $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <D><b>{$destnation['name']}</b></>에 <M>피장파장</> 발동하였습니다.";
$sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <D><b>{$destnation['name']}</b></>에 <M>피장파장</>(을)를 발동하였습니다."; $sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <D><b>{$destnation['name']}</b></>에 <M>피장파장</> 발동하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$destnation['name']}</b></>에 <M>피장파장</>(을)를 발동"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$destnation['name']}</b></>에 <M>피장파장</> 발동");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <D><b>{$destnation['name']}</b></>에 <M>피장파장</>(을)를 발동"); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <D><b>{$destnation['name']}</b></>에 <M>피장파장</> 발동");
pushNationHistory($destnation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 아국에 <M>피장파장</>(을)를 발동"); pushNationHistory($destnation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} 아국에 <M>피장파장</> 발동");
//전략기한+60 //전략기한+60
$query = "update nation set sabotagelimit=sabotagelimit+60 where nation='{$destnation['nation']}'"; $query = "update nation set sabotagelimit=sabotagelimit+60 where nation='{$destnation['nation']}'";
@@ -1989,7 +2028,7 @@ function process_76(&$general) {
$query = "select no from general where nation='{$general['nation']}'"; $query = "select no from general where nation='{$general['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$genCount = MYDB_num_rows($result); $genCount = MYDB_num_rows($result);
if($genCount < 10) { $genCount = 10; } if($genCount < GameConst::$initialNationGenLimit) { $genCount = GameConst::$initialNationGenLimit; }
//$term2 = Util::round($genCount / 10); //$term2 = Util::round($genCount / 10);
//if($term2 == 0) { $term2 = 1; } //if($term2 == 0) { $term2 = 1; }
@@ -2027,20 +2066,23 @@ function process_76(&$general) {
$exp = CharExperience($exp, $general['personal']); $exp = CharExperience($exp, $general['personal']);
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$josaYi = JosaUtil::pick($general['name'], '이');
$josaYiNation = JosaUtil::pick($nation['name'], '이');
$query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'"; $query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$cnt = MYDB_num_rows($result); $cnt = MYDB_num_rows($result);
$alllog[0] = "<C>●</><Y>{$general['name']}</>(이)가 <M>의병모집</>(을)를 발동하였습니다."; $alllog[0] = "<C>●</><Y>{$general['name']}</>{$josaYi} <M>의병모집</> 발동하였습니다.";
for($i=0; $i < $cnt; $i++) { for($i=0; $i < $cnt; $i++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
pushGenLog($gen, $alllog); pushGenLog($gen, $alllog);
} }
// $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <M>의병모집</>(을)를 발동하였습니다."; // $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <M>의병모집</> 발동하였습니다.";
// $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <M>의병모집</>(을)를 발동하였습니다."; // $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <M>의병모집</> 발동하였습니다.";
$sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <M>의병모집</>(을)를 발동하였습니다."; $sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <M>의병모집</> 발동하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<M>의병모집</>(을)를 발동"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<M>의병모집</> 발동");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <M>의병모집</>(을)를 발동"); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <M>의병모집</> 발동");
$query = "select avg(gennum) as gennum from nation"; $query = "select avg(gennum) as gennum from nation";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -2059,34 +2101,34 @@ function process_76(&$general) {
$type = rand() % 10; $type = rand() % 10;
switch($type) { switch($type) {
case 0: case 1: case 2: case 3: case 0: case 1: case 2: case 3:
$leader = 65 + rand()%11; $leader = GameConst::$defaultStatMax - 10 + rand()%11;
$intel = 10 + rand()%6; $intel = GameConst::$defaultStatMin + rand()%6;
$power = 150 - $leader - $intel; $power = GameConst::$defaultStatTotal - $leader - $intel;
break; break;
case 4: case 5: case 6: case 7: case 4: case 5: case 6: case 7:
$leader = 65 + rand()%11; $leader = GameConst::$defaultStatMax - 10 + rand()%11;
$power = 10 + rand()%6; $power = GameConst::$defaultStatMin + rand()%6;
$intel = 150 - $leader - $power; $intel = GameConst::$defaultStatTotal - $leader - $power;
break; break;
case 8: case 9: case 8: case 9:
$leader = 10 + rand()%6; $leader = GameConst::$defaultStatMin + rand()%6;
$power = 65 + rand()%11; $power = GameConst::$defaultStatMax - 10 + rand()%11;
$intel = 150 - $leader - $power; $intel = GameConst::$defaultStatTotal - $leader - $power;
break; break;
} }
// 국내 최고능치 기준으로 랜덤성 스케일링 // 국내 최고능치 기준으로 랜덤성 스케일링
if($avgGen['lpi'] > 210) { if($avgGen['lpi'] > 210) {
$leader = Util::round($leader * $avgGen['lpi'] / 150 * (60+rand()%31)/100); $leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
$power = Util::round($power * $avgGen['lpi'] / 150 * (60+rand()%31)/100); $power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
$intel = Util::round($intel * $avgGen['lpi'] / 150 * (60+rand()%31)/100); $intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
} elseif($avgGen['lpi'] > 180) { } elseif($avgGen['lpi'] > 180) {
$leader = Util::round($leader * $avgGen['lpi'] / 150 * (75+rand()%21)/100); $leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
$power = Util::round($power * $avgGen['lpi'] / 150 * (75+rand()%21)/100); $power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
$intel = Util::round($intel * $avgGen['lpi'] / 150 * (75+rand()%21)/100); $intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
} else { } else {
$leader = Util::round($leader * $avgGen['lpi'] / 150 * (90+rand()%11)/100); $leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
$power = Util::round($power * $avgGen['lpi'] / 150 * (90+rand()%11)/100); $power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
$intel = Util::round($intel * $avgGen['lpi'] / 150 * (90+rand()%11)/100); $intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
} }
$over1 = 0; $over1 = 0;
$over2 = 0; $over2 = 0;
@@ -2111,14 +2153,14 @@ function process_76(&$general) {
$power = $power + $over1 + $over2 + $over3; $power = $power + $over1 + $over2 + $over3;
} }
// 너무 높은 능치는 제한 // 너무 높은 능치는 제한
if($leader > 95) { if($leader > GameConst::$defaultStatNPCMax) {
$leader = 95; $leader = GameConst::$defaultStatNPCMax;
} }
if($power > 95) { if($power > GameConst::$defaultStatNPCMax) {
$power = 95; $power = GameConst::$defaultStatNPCMax;
} }
if($intel > 95) { if($intel > GameConst::$defaultStatNPCMax) {
$intel = 95; $intel = GameConst::$defaultStatNPCMax;
} }
$npccount = 10000 + $npcid; $npccount = 10000 + $npcid;
@@ -2160,7 +2202,7 @@ function process_76(&$general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($result); $gencount = MYDB_num_rows($result);
$gennum = $gencount; $gennum = $gencount;
if($gencount < 10) $gencount = 10; if($gencount < GameConst::$initialNationGenLimit) $gencount = GameConst::$initialNationGenLimit;
// 국가보정 // 국가보정
if($nation['type'] == 11) { $term3 = Util::round($term3 / 2); } if($nation['type'] == 11) { $term3 = Util::round($term3 / 2); }
@@ -2217,7 +2259,7 @@ function process_77(&$general) {
$query = "select no from general where nation='{$general['nation']}'"; $query = "select no from general where nation='{$general['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$genCount = MYDB_num_rows($result); $genCount = MYDB_num_rows($result);
if($genCount < 10) { $genCount = 10; } if($genCount < GameConst::$initialNationGenLimit) { $genCount = GameConst::$initialNationGenLimit; }
$term2 = 1; $term2 = 1;
$term3 = Util::round(sqrt($genCount*16)*10); $term3 = Util::round(sqrt($genCount*16)*10);
@@ -2255,10 +2297,13 @@ function process_77(&$general) {
$exp = CharExperience($exp, $general['personal']); $exp = CharExperience($exp, $general['personal']);
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$josaYi = JosaUtil::pick($general['name'], '이');
$josaYiNation = JosaUtil::pick($nation['name'], '이');
$query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'"; $query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$cnt = MYDB_num_rows($result); $cnt = MYDB_num_rows($result);
$alllog[0] = "<C>●</><Y>{$general['name']}</>(이)가 <D><b>{$destnation['name']}</b></>에 <M>이호경식</>(을)를 발동하였습니다."; $alllog[0] = "<C>●</><Y>{$general['name']}</>{$josaYi} <D><b>{$destnation['name']}</b></>에 <M>이호경식</> 발동하였습니다.";
for($i=0; $i < $cnt; $i++) { for($i=0; $i < $cnt; $i++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
pushGenLog($gen, $alllog); pushGenLog($gen, $alllog);
@@ -2273,12 +2318,12 @@ function process_77(&$general) {
pushGenLog($gen, $alllog); pushGenLog($gen, $alllog);
} }
// $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <D><b>{$destnation['name']}</b></>에 <M>이호경식</>(을)를 발동하였습니다."; // $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <D><b>{$destnation['name']}</b></>에 <M>이호경식</> 발동하였습니다.";
// $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <D><b>{$destnation['name']}</b></>에 <M>이호경식</>(을)를 발동하였습니다."; // $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <D><b>{$destnation['name']}</b></>에 <M>이호경식</> 발동하였습니다.";
$sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <D><b>{$destnation['name']}</b></>에 <M>이호경식</>(을)를 발동하였습니다."; $sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <D><b>{$destnation['name']}</b></>에 <M>이호경식</> 발동하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$destnation['name']}</b></>에 <M>이호경식</>(을)를 발동"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$destnation['name']}</b></>에 <M>이호경식</> 발동");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <D><b>{$destnation['name']}</b></>에 <M>이호경식</>(을)를 발동"); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <D><b>{$destnation['name']}</b></>에 <M>이호경식</> 발동");
pushNationHistory($destnation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 아국에 <M>이호경식</>(을)를 발동"); pushNationHistory($destnation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} 아국에 <M>이호경식</> 발동");
//선포+3개월 //선포+3개월
if($dip['state'] == 0) { if($dip['state'] == 0) {
@@ -2344,7 +2389,7 @@ function process_78(&$general) {
$query = "select no from general where nation='{$general['nation']}'"; $query = "select no from general where nation='{$general['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$genCount = MYDB_num_rows($result); $genCount = MYDB_num_rows($result);
if($genCount < 10) { $genCount = 10; } if($genCount < GameConst::$initialNationGenLimit) { $genCount = GameConst::$initialNationGenLimit; }
$term2 = 1; $term2 = 1;
$term3 = Util::round(sqrt($genCount*16)*10); $term3 = Util::round(sqrt($genCount*16)*10);
@@ -2384,10 +2429,13 @@ function process_78(&$general) {
$exp = CharExperience($exp, $general['personal']); $exp = CharExperience($exp, $general['personal']);
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$josaYi = JosaUtil::pick($general['name'], '이');
$josaYiNation = JosaUtil::pick($nation['name'], '이');
$query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'"; $query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$cnt = MYDB_num_rows($result); $cnt = MYDB_num_rows($result);
$alllog[0] = "<C>●</><Y>{$general['name']}</>(이)가 <D><b>{$destnation['name']}</b></>에 <M>급습</>(을)를 발동하였습니다."; $alllog[0] = "<C>●</><Y>{$general['name']}</>{$josaYi} <D><b>{$destnation['name']}</b></>에 <M>급습</> 발동하였습니다.";
for($i=0; $i < $cnt; $i++) { for($i=0; $i < $cnt; $i++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
pushGenLog($gen, $alllog); pushGenLog($gen, $alllog);
@@ -2402,12 +2450,12 @@ function process_78(&$general) {
pushGenLog($gen, $alllog); pushGenLog($gen, $alllog);
} }
// $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <D><b>{$destnation['name']}</b></>에 <M>급습</>(을)를 발동하였습니다."; // $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <D><b>{$destnation['name']}</b></>에 <M>급습</> 발동하였습니다.";
// $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <D><b>{$destnation['name']}</b></>에 <M>급습</>(을)를 발동하였습니다."; // $history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <D><b>{$destnation['name']}</b></>에 <M>급습</> 발동하였습니다.";
$sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>(이)가 <D><b>{$destnation['name']}</b></>에 <M>급습</>(을)를 발동하였습니다."; $sabotagelog[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【전략】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <D><b>{$destnation['name']}</b></>에 <M>급습</> 발동하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$destnation['name']}</b></>에 <M>급습</>(을)를 발동"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$destnation['name']}</b></>에 <M>급습</> 발동");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <D><b>{$destnation['name']}</b></>에 <M>급습</>(을)를 발동"); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <D><b>{$destnation['name']}</b></>에 <M>급습</> 발동");
pushNationHistory($destnation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 아국에 <M>급습</>(을)를 발동"); pushNationHistory($destnation, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} 아국에 <M>급습</> 발동");
//선포-3개월 //선포-3개월
$query = "update diplomacy set term=term-3 where (me='{$general['nation']}' and you='{$destnation['nation']}') or (you='{$general['nation']}' and me='{$destnation['nation']}')"; $query = "update diplomacy set term=term-3 where (me='{$general['nation']}' and you='{$destnation['nation']}') or (you='{$general['nation']}' and me='{$destnation['nation']}')";
@@ -2474,19 +2522,22 @@ function process_81(&$general) {
$exp = CharExperience($exp, $general['personal']); $exp = CharExperience($exp, $general['personal']);
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$josaYi = JosaUtil::pick($general['name'], '이');
$josaYiNation = JosaUtil::pick($nation['name'], '이');
$query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'"; $query = "select no,name from general where nation='{$general['nation']}' and no!='{$general['no']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$cnt = MYDB_num_rows($result); $cnt = MYDB_num_rows($result);
$genlog = ["<C>●</><Y>{$general['name']}</>(이)가 <font color={$color}><b>국기</b></font>를 변경합니다."]; $genlog = ["<C>●</><Y>{$general['name']}</>{$josaYi} <font color={$color}><b>국기</b></font>를 변경합니다."];
for($i=0; $i < $cnt; $i++) { for($i=0; $i < $cnt; $i++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
pushGenLog($gen, $genlog); pushGenLog($gen, $genlog);
} }
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <font color={$color}><b>국기</b></font>를 변경하였습니다."; $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <font color={$color}><b>국기</b></font>를 변경하였습니다.";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【국기변경】</b></><D><b>{$nation['name']}</b></>(이)가 <font color={$color}><b>국기</b></font>를 변경하였습니다."; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<L><b>【국기변경】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <font color={$color}><b>국기</b></font>를 변경하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<font color={$color}><b>국기</b></font>를 변경"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<font color={$color}><b>국기</b></font>를 변경");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <font color={$color}><b>국기</b></font>를 변경"); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <font color={$color}><b>국기</b></font>를 변경");
//국기변경 //국기변경
$query = "update nation set color='$color',can_change_flag=can_change_flag-1 where nation='{$nation['nation']}'"; $query = "update nation set color='$color',can_change_flag=can_change_flag-1 where nation='{$nation['nation']}'";
+182 -99
View File
@@ -46,7 +46,10 @@ function process_22(&$general) {
$ded = CharDedication($ded, $general['personal']); $ded = CharDedication($ded, $general['personal']);
$msg = ScoutMessage::buildScoutMessage($general['no'], $who, $reason); $msg = ScoutMessage::buildScoutMessage($general['no'], $who, $reason);
$msg->send(true); if($msg){
$msg->send(true);
}
$general['intel2']++; $general['intel2']++;
$query = "update general set resturn='SUCCESS',gold=gold-'$cost',intel2='{$general['intel2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'"; $query = "update general set resturn='SUCCESS',gold=gold-'$cost',intel2='{$general['intel2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
@@ -67,7 +70,7 @@ function process_25(&$general) {
$history = []; $history = [];
$date = substr($general['turntime'],11,5); $date = substr($general['turntime'],11,5);
$admin = $gameStor->getValues(['startyear', 'year', 'month']); $admin = $gameStor->getValues(['startyear', 'year', 'month', 'scenario', 'fiction']);
$query = "select nation from city where city='{$general['city']}'"; $query = "select nation from city where city='{$general['city']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -76,37 +79,88 @@ function process_25(&$general) {
$command = DecodeCommand($general['turn0']); $command = DecodeCommand($general['turn0']);
$where = $command[1]; $where = $command[1];
$nation = null;
$joinedNations = Json::decode($general['nations']);
// 랜덤임관인 경우 // 랜덤임관인 경우
if($where == 99) { if($general['npc'] > 2 && $where >= 98 && ($admin['scenario'] == 0 || $admin['scenario'] >= 20 || !$admin['fiction'])){
// 초반시 10명이하, 임관금지없음 국가 //'사실' 모드에서는 '성향'에 우선을 두되, 장수수, 랜덤에 비중을 둠
if($admin['year'] < $admin['startyear']+3) { $nations = $db->query(
$query = "select name,nation,scout,level from nation where nation not in (0{$general['nations']}0) and gennum<10 and scout=0 order by rand() limit 0,1"; 'SELECT nation.`name` as `name`,nation.nation as nation,scout,nation.`level` as `level`,gennum,`affinity` FROM nation join general on general.nation = nation.nation and general.level = 12 WHERE nation.nation not in %li and gennum < %i and scout = 0',
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $joinedNations,
$nation = MYDB_fetch_array($result); ($admin['year'] < $admin['startyear']+3)?GameConst::$initialNationGenLimit:GameConst::$defaultMaxGeneral
} else { );
$query = "select name,nation,scout,level from nation where nation not in (0{$general['nations']}0) and scout=0 order by rand() limit 0,1"; shuffle($nations);
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$nation = MYDB_fetch_array($result); $allGen = array_sum(array_map(function($item) {
return $item['gennum'];
}, $nations));
$maxScore = 1<<30;
foreach($nations as $testNation){
$affinity = abs($general['affinity'] - $testNation['affinity']);
$affinity = min($affinity, abs($affinity - 150));
$score = log($affinity + 1, 2);//0~
//쉐킷쉐킷
$score += Util::randF();
$score += sqrt($testNation['gennum']/$allGen);
if($score < $maxScore){
$maxScore = $score;
$nation = $testNation;
}
} }
} elseif($where == 98) {
// 초반시 10명이하, 임관금지없음 국가, 방랑군 제외 }
if($admin['year'] < $admin['startyear']+3) { else if($where >= 98) {
$query = "select name,nation,scout,level from nation where nation not in (0{$general['nations']}0) and gennum<10 and scout=0 and level>0 order by rand() limit 0,1"; //랜임
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $generals = [];
$nation = MYDB_fetch_array($result); foreach($db->queryAllLists('SELECT count(no), nation FROM general WHERE npc <= 2 AND nation > 0 GROUP BY nation') as list($cnt, $nation)){
} else { $generals[$nation] = $cnt;
$query = "select name,nation,scout,level from nation where nation not in (0{$general['nations']}0) and scout=0 and level>0 order by rand() limit 0,1";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$nation = MYDB_fetch_array($result);
} }
$allGen = array_sum($generals);
$nations = $db->query(
'SELECT nation.`name` as `name`,nation.nation as nation,scout,nation.`level` as `level`,gennum,`injury` FROM nation join general on general.nation = nation.nation and general.level = 12 WHERE nation.nation not in %li and gennum < %i and scout = 0',
$joinedNations,
($admin['year'] < $admin['startyear']+3)?GameConst::$initialNationGenLimit:GameConst::$defaultMaxGeneral
);
shuffle($nations);
$randVals = [];
foreach($nations as $idx=>$testNation){
// 임관금지없음 국가, 방랑군 제외
if($where == 98 && $testNation['level'] == 0){
continue;
}
$score = 1;
if($admin['startyear']+3 > $admin['year'] && $general['npc'] > 2){
$score *= sqrt((100-max(30, $testNation['injury']))/100);
}
$score *= sqrt($allGen/$generals[$testNation['nation']]);
$randVals[$idx] = $score;
}
if($randVals){
$nation = $nations[Util::choiceRandomUsingWeight($randVals)];
}
} else { } else {
$query = "select name,nation,scout,level from nation where nation='$where'"; $nation = $db->queryFirstRow('SELECT `name`,nation,scout,`level` FROM nation WHERE nation=%i', $where);
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); }
$nation = MYDB_fetch_array($result);
if($nation){
$gencount = $db->queryFirstField('SELECT count(`no`) FROM general WHERE nation=%i', $nation['nation']);
$josaUn = JosaUtil::pick($nation['name'], '은');
} }
$query = "select no from general where nation='{$nation['nation']}'";
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($genresult);
if(!$nation) { if(!$nation) {
$log[] = "<C>●</>{$admin['month']}월:임관할 국가가 없습니다. 임관 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:임관할 국가가 없습니다. 임관 실패. <1>$date</>";
@@ -114,28 +168,29 @@ function process_25(&$general) {
$log[] = "<C>●</>{$admin['month']}월:재야가 아닙니다. 임관 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:재야가 아닙니다. 임관 실패. <1>$date</>";
} elseif($nation['nation'] == 0) { } elseif($nation['nation'] == 0) {
$log[] = "<C>●</>{$admin['month']}월:없는 국가입니다. 임관 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:없는 국가입니다. 임관 실패. <1>$date</>";
} elseif($nation['level'] == 0 && $gencount >= 10) { } elseif($nation['level'] == 0 && $gencount >= GameConst::$initialNationGenLimit) {
$log[] = "<C>●</>{$admin['month']}월:현재 <D>{$nation['name']}</>은(는) 임관이 제한되고 있습니다. 임관 실패."; $log[] = "<C>●</>{$admin['month']}월:현재 <D>{$nation['name']}</>{$josaUn} 임관이 제한되고 있습니다. 임관 실패.";
} elseif($admin['year'] < $admin['startyear']+3 && $gencount >= 10) { } elseif($admin['year'] < $admin['startyear']+3 && $gencount >= GameConst::$initialNationGenLimit) {
$log[] = "<C>●</>{$admin['month']}월:현재 <D>{$nation['name']}</>은(는) 임관이 제한되고 있습니다. 임관 실패."; $log[] = "<C>●</>{$admin['month']}월:현재 <D>{$nation['name']}</>{$josaUn} 임관이 제한되고 있습니다. 임관 실패.";
} elseif($nation['scout'] == 1 && $general['npc'] < 5) { } elseif($nation['scout'] == 1 && $general['npc'] < 5) {
$log[] = "<C>●</>{$admin['month']}월:현재 <D>{$nation['name']}</>은(는) 임관이 금지되어 있습니다. 임관 실패."; $log[] = "<C>●</>{$admin['month']}월:현재 <D>{$nation['name']}</>{$josaUn} 임관이 금지되어 있습니다. 임관 실패.";
} elseif($general['makelimit'] > 0 && $general['npc'] < 5) { } elseif($general['makelimit'] > 0 && $general['npc'] < 5) {
$log[] = "<C>●</>{$admin['month']}월:재야가 된지 12턴이 지나야 합니다. 임관 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:재야가 된지 12턴이 지나야 합니다. 임관 실패. <1>$date</>";
} elseif(strpos($general['nations'], ",{$nation['nation']},") > 0) { } elseif(in_array($nation['nation'], $joinedNations)) {
$log[] = "<C>●</>{$admin['month']}월:이미 임관했었던 국가입니다. 임관 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:이미 임관했었던 국가입니다. 임관 실패. <1>$date</>";
} else { } else {
$josaYi = JosaUtil::pick($general['name'], '이');
if($where == 99 || $where == 98) { if($where == 99 || $where == 98) {
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 어쩌다보니 <D><b>{$nation['name']}</b></>에 <S>임관</>했습니다."; $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 어쩌다보니 <D><b>{$nation['name']}</b></>에 <S>임관</>했습니다.";
$log[] = "<C>●</>{$admin['month']}월:<D>{$nation['name']}</>에 랜덤으로 임관했습니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:<D>{$nation['name']}</>에 랜덤으로 임관했습니다. <1>$date</>";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>에 임관"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>에 임관");
} else { } else {
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <D><b>{$nation['name']}</b></>에 <S>임관</>했습니다."; $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <D><b>{$nation['name']}</b></>에 <S>임관</>했습니다.";
$log[] = "<C>●</>{$admin['month']}월:<D>{$nation['name']}</>에 임관했습니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:<D>{$nation['name']}</>에 임관했습니다. <1>$date</>";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>에 임관"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>에 임관");
} }
if($gencount < 10) { $exp = 700; } if($gencount < GameConst::$initialNationGenLimit) { $exp = 700; }
else { $exp = 100; } else { $exp = 100; }
$ded = 0; $ded = 0;
@@ -148,22 +203,30 @@ function process_25(&$general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$king = MYDB_fetch_array($result); $king = MYDB_fetch_array($result);
// NPC초반시 임관기록 추가 안함 // NPC초반시 임관기록 추가 안함
if($general['npc'] > 1 && $admin['year'] < $admin['startyear']+3) { if($general['npc'] > 1 && $admin['year'] < $admin['startyear']+3) {
} else { } else {
$general['nations'] .= "{$nation['nation']},"; $joinedNations[] = $nation['nation'];
} }
// 국적 바꾸고 등급 일반으로 // 명성 상승 // 국적 바꾸고 등급 일반으로 // 명성 상승
$query = "update general set resturn='SUCCESS',nation='{$nation['nation']}',nations='{$general['nations']}',level='1',experience=experience+'$exp',city='{$king['city']}',belong=1 where no='{$general['no']}'"; $db->update('general', [
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); 'resturn'=>'SUCCESS',
'nation'=>$nation['nation'],
'nations'=>Json::encode($joinedNations),
'level'=>1,
'experience'=>$db->sqleval('experience + %i', $exp),
'city'=>$king['city'],
'belong'=>1
], 'no=%i', $general['no']);
//국가 기술력 그대로 //국가 기술력 그대로
$query = "select no from general where nation='{$nation['nation']}'"; $query = "select no from general where nation='{$nation['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($result); $gencount = MYDB_num_rows($result);
$gennum = $gencount; $gennum = $gencount;
if($gencount < 10) $gencount = 10; if($gencount < GameConst::$initialNationGenLimit) $gencount = GameConst::$initialNationGenLimit;
$query = "update nation set totaltech=tech*'$gencount',gennum='$gennum' where nation='{$nation['nation']}'"; $query = "update nation set totaltech=tech*'$gencount',gennum='$gennum' where nation='{$nation['nation']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -195,12 +258,13 @@ function process_29(&$general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$nation = MYDB_fetch_array($result); $nation = MYDB_fetch_array($result);
$josaUn = JosaUtil::pick($nation['name'], '은');
if($general['level'] == 0) { if($general['level'] == 0) {
$log[] = "<C>●</>{$admin['month']}월:재야입니다. 인재탐색 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:재야입니다. 인재탐색 실패. <1>$date</>";
} elseif($nation['level'] <= 0) { } elseif($nation['level'] <= 0) {
$log[] = "<C>●</>{$admin['month']}월:방랑군입니다. 인재탐색 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:방랑군입니다. 인재탐색 실패. <1>$date</>";
} elseif($admin['year'] < $admin['startyear']+3 && $nation['gennum'] >= 10) { } elseif($admin['year'] < $admin['startyear']+3 && $nation['gennum'] >= GameConst::$initialNationGenLimit) {
$log[] = "<C>●</>{$admin['month']}월:현재 <D>{$nation['name']}</>은(는) 탐색이 제한되고 있습니다. 인재탐색 실패."; $log[] = "<C>●</>{$admin['month']}월:현재 <D>{$nation['name']}</>{$josaUn} 탐색이 제한되고 있습니다. 인재탐색 실패.";
} elseif($general['gold'] < $admin['develcost']) { } elseif($general['gold'] < $admin['develcost']) {
$log[] = "<C>●</>{$admin['month']}월:자금이 모자랍니다. 인재탐색 실패. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:자금이 모자랍니다. 인재탐색 실패. <1>$date</>";
} else { } else {
@@ -262,9 +326,11 @@ function process_29(&$general) {
$scoutNation = $nation['nation']; $scoutNation = $nation['nation'];
} }
$log[] = "<C>●</>{$admin['month']}월:<Y>$name</>(이)라는 <C>인재</>를 {$scoutType}하였습니다! <1>$date</>"; $josaYi = JosaUtil::pick($general['name'], '이');
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <Y>$name</>(이)라는 <C>인재</>를 {$scoutType}하였습니다!"; $josaRa = JosaUtil::pick($name, '라');
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>$name</>(이)라는 <C>인재</>를 {$scoutType}"); $log[] = "<C>●</>{$admin['month']}월:<Y>$name</>{$josaRa}는 <C>인재</>를 {$scoutType}하였습니다! <1>$date</>";
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <Y>$name</>{$josaRa}는 <C>인재</>를 {$scoutType}하였습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>$name</>{$josaRa}는 <C>인재</>를 {$scoutType}");
$query = "select max(leader+power+intel) as lpi, avg(dedication) as ded,avg(experience) as exp, avg(dex0) as dex0, avg(dex10) as dex10, avg(dex20) as dex20, avg(dex30) as dex30, avg(dex40) as dex40 from general where nation='{$general['nation']}'"; $query = "select max(leader+power+intel) as lpi, avg(dedication) as ded,avg(experience) as exp, avg(dex0) as dex0, avg(dex10) as dex10, avg(dex20) as dex20, avg(dex30) as dex30, avg(dex40) as dex40 from general where nation='{$general['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -276,53 +342,53 @@ function process_29(&$general) {
if($admin['scenario'] == 0) { if($admin['scenario'] == 0) {
switch($type) { switch($type) {
case 0: case 1: case 0: case 1:
$leader = 65 + rand()%11; $leader = GameConst::$defaultStatMax - 10 + rand()%11;
$intel = 10 + rand()%6; $intel = GameConst::$defaultStatMin + rand()%6;
$power = 150 - $leader - $intel; $power = GameConst::$defaultStatTotal - $leader - $intel;
break; break;
case 2: case 3: case 2: case 3:
$leader = 65 + rand()%11; $leader = GameConst::$defaultStatMax - 10 + rand()%11;
$power = 10 + rand()%6; $power = GameConst::$defaultStatMin + rand()%6;
$intel = 150 - $leader - $power; $intel = GameConst::$defaultStatTotal - $leader - $power;
break; break;
case 4: case 5: case 6: case 7: case 8: case 9: case 4: case 5: case 6: case 7: case 8: case 9:
$leader = 10 + rand()%6; $leader = GameConst::$defaultStatMin + rand()%6;
$power = 65 + rand()%11; $power = GameConst::$defaultStatMax - 10 + rand()%11;
$intel = 150 - $leader - $power; $intel = GameConst::$defaultStatTotal - $leader - $power;
break; break;
} }
} else { } else {
switch($type) { switch($type) {
case 0: case 1: case 2: case 3: case 0: case 1: case 2: case 3:
$leader = 65 + rand()%11; $leader = GameConst::$defaultStatMax - 10 + rand()%11;
$intel = 10 + rand()%6; $intel = GameConst::$defaultStatMin + rand()%6;
$power = 150 - $leader - $intel; $power = GameConst::$defaultStatTotal - $leader - $intel;
break; break;
case 4: case 5: case 6: case 7: case 4: case 5: case 6: case 7:
$leader = 65 + rand()%11; $leader = GameConst::$defaultStatMax - 10 + rand()%11;
$power = 10 + rand()%6; $power = GameConst::$defaultStatMin + rand()%6;
$intel = 150 - $leader - $power; $intel = GameConst::$defaultStatTotal - $leader - $power;
break; break;
case 8: case 9: case 8: case 9:
$leader = 10 + rand()%6; $leader = GameConst::$defaultStatMin + rand()%6;
$power = 65 + rand()%11; $power = GameConst::$defaultStatMax - 10 + rand()%11;
$intel = 150 - $leader - $power; $intel = GameConst::$defaultStatTotal - $leader - $power;
break; break;
} }
} }
// 국내 최고능치 기준으로 랜덤성 스케일링 // 국내 최고능치 기준으로 랜덤성 스케일링
if($avgGen['lpi'] > 210) { if($avgGen['lpi'] > 210) {
$leader = Util::round($leader * $avgGen['lpi'] / 150 * (60+rand()%31)/100); $leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
$power = Util::round($power * $avgGen['lpi'] / 150 * (60+rand()%31)/100); $power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
$intel = Util::round($intel * $avgGen['lpi'] / 150 * (60+rand()%31)/100); $intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
} elseif($avgGen['lpi'] > 180) { } elseif($avgGen['lpi'] > 180) {
$leader = Util::round($leader * $avgGen['lpi'] / 150 * (75+rand()%21)/100); $leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
$power = Util::round($power * $avgGen['lpi'] / 150 * (75+rand()%21)/100); $power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
$intel = Util::round($intel * $avgGen['lpi'] / 150 * (75+rand()%21)/100); $intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
} else { } else {
$leader = Util::round($leader * $avgGen['lpi'] / 150 * (90+rand()%11)/100); $leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
$power = Util::round($power * $avgGen['lpi'] / 150 * (90+rand()%11)/100); $power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
$intel = Util::round($intel * $avgGen['lpi'] / 150 * (90+rand()%11)/100); $intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
} }
$over1 = 0; $over1 = 0;
$over2 = 0; $over2 = 0;
@@ -404,7 +470,7 @@ function process_29(&$general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($result); $gencount = MYDB_num_rows($result);
$gennum = $gencount; $gennum = $gencount;
if($gencount < 10) $gencount = 10; if($gencount < GameConst::$initialNationGenLimit) $gencount = GameConst::$initialNationGenLimit;
//국가 기술력 그대로 //국가 기술력 그대로
$query = "update nation set totaltech=tech*'$gencount',gennum='$gennum' where nation='{$general['nation']}'"; $query = "update nation set totaltech=tech*'$gencount',gennum='$gennum' where nation='{$general['nation']}'";
@@ -476,23 +542,28 @@ function process_45(&$general) {
} }
if($dipcount1 > 0) { if($dipcount1 > 0) {
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 통합에 반대하며 <D><b>{$nation['name']}</b></>(을)를 <R>떠났</>습니다."; $josaYi = JosaUtil::pick($general['name'], '이');
$josaUl = JosaUtil::pick($nation['name'], '을');
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 통합에 반대하며 <D><b>{$nation['name']}</b></>{$josaUl} <R>떠났</>습니다.";
$log[] = "<C>●</>{$admin['month']}월:통합에 반대하며 <D><b>{$nation['name']}</b></>에서 떠났습니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:통합에 반대하며 <D><b>{$nation['name']}</b></>에서 떠났습니다. <1>$date</>";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:통합에 반대하며 <D><b>{$nation['name']}</b></>(을)를 떠남"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:통합에 반대하며 <D><b>{$nation['name']}</b></>{$josaUl} 떠남");
// 국적 바꾸고 등급 재야로 // 국적 바꾸고 등급 재야로
$query = "update general set resturn='SUCCESS',belong=0,nation=0,level=0,makelimit='12',gold='{$general['gold']}',rice='{$general['rice']}' where no='{$general['no']}'"; $query = "update general set resturn='SUCCESS',belong=0,nation=0,level=0,makelimit='12',gold='{$general['gold']}',rice='{$general['rice']}' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} elseif($dipcount2 > 0) { } elseif($dipcount2 > 0) {
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 합병에 반대하며 <D><b>{$nation['name']}</b></>(을)를 <R>떠났</>습니다."; $josaYi = JosaUtil::pick($general['name'], '이');
$josaUl = JosaUtil::pick($nation['name'], '을');
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 합병에 반대하며 <D><b>{$nation['name']}</b></>{$josaUl} <R>떠났</>습니다.";
$log[] = "<C>●</>{$admin['month']}월:합병에 반대하며 <D><b>{$nation['name']}</b></>에서 떠났습니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:합병에 반대하며 <D><b>{$nation['name']}</b></>에서 떠났습니다. <1>$date</>";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:합병에 반대하며 <D><b>{$nation['name']}</b></>(을)를 떠남"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:합병에 반대하며 <D><b>{$nation['name']}</b></>{$josaUl} 떠남");
// 국적 바꾸고 등급 재야로 // 국적 바꾸고 등급 재야로
$query = "update general set resturn='SUCCESS',belong=0,nation=0,level=0,makelimit='12',gold='{$general['gold']}',rice='{$general['rice']}' where no='{$general['no']}'"; $query = "update general set resturn='SUCCESS',belong=0,nation=0,level=0,makelimit='12',gold='{$general['gold']}',rice='{$general['rice']}' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} else { } else {
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <D><b>{$nation['name']}</b></>에서 <R>하야</>했습니다."; $josaYi = JosaUtil::pick($general['name'], '이');
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <D><b>{$nation['name']}</b></>에서 <R>하야</>했습니다.";
$log[] = "<C>●</>{$admin['month']}월:<D><b>{$nation['name']}</b></>에서 하야했습니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:<D><b>{$nation['name']}</b></>에서 하야했습니다. <1>$date</>";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>에서 하야"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>에서 하야");
@@ -530,7 +601,7 @@ function process_45(&$general) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($result); $gencount = MYDB_num_rows($result);
$gennum = $gencount; $gennum = $gencount;
if($gencount < 10) $gencount = 10; if($gencount < GameConst::$initialNationGenLimit) $gencount = GameConst::$initialNationGenLimit;
$nation['chemi'] -= 1; $nation['chemi'] -= 1;
if($nation['chemi'] < 0) { $nation['chemi'] = 0; } if($nation['chemi'] < 0) { $nation['chemi'] = 0; }
@@ -602,11 +673,15 @@ function process_46(&$general) {
$query = "update city set nation='{$nation['nation']}',conflict='{}' where city='{$general['city']}'"; $query = "update city set nation='{$nation['nation']}',conflict='{}' where city='{$general['city']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$log[] = "<C>●</>{$admin['month']}월:<D><b>{$nation['name']}</b></>(을)를 건국하였습니다. <1>$date</>"; $josaYi = JosaUtil::pick($general['name'], '이');
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$city['name']}</b></>에 국가를 건설하였습니다."; $josaUl = JosaUtil::pick($nation['name'], '을');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【건국】</b></>".getNationType($type)." <D><b>{$nation['name']}</b></>(이)가 새로이 등장하였습니다."; $log[] = "<C>●</>{$admin['month']}월:<D><b>{$nation['name']}</b></>{$josaUl} 건국하였습니다. <1>$date</>";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>(을)를 건국"); $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$city['name']}</b></>에 국가를 건설하였습니다.";
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <D><b>{$nation['name']}</b></>(을)를 건국"); $josaYi = JosaUtil::pick($nation['name'], '이');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【건국】</b></>".getNationType($type)." <D><b>{$nation['name']}</b></>{$josaYi} 새로이 등장하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>{$josaUl} 건국");
$josaYi = JosaUtil::pick($general['name'], '이');
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <D><b>{$nation['name']}</b></>{$josaUl} 건국");
$exp = 1000; $exp = 1000;
$ded = 1000; $ded = 1000;
@@ -658,11 +733,14 @@ function process_47(&$general) {
} elseif($nation['level'] == 0) { } elseif($nation['level'] == 0) {
$log[] = "<C>●</>{$admin['month']}월:이미 방랑군입니다. 방랑 실패."; $log[] = "<C>●</>{$admin['month']}월:이미 방랑군입니다. 방랑 실패.";
} else { } else {
$josaYi = JosaUtil::pick($general['name'], '이');
$log[] = "<C>●</>{$admin['month']}월:영토를 버리고 방랑의 길을 떠납니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:영토를 버리고 방랑의 길을 떠납니다. <1>$date</>";
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 방랑의 길을 떠납니다."; $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 방랑의 길을 떠납니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>(을)를 버리고 방랑"); $josaUl = JosaUtil::pick($nation['name'], '을');
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>{$josaUl} 버리고 방랑");
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<R><b>【방랑】</b></><D><b>{$general['name']}</b></>은(는) <R>방랑</>의 길을 떠납니다."; $josaUn = JosaUtil::pick($general['name'], '은');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<R><b>【방랑】</b></><D><b>{$general['name']}</b></>{$josaUn} <R>방랑</>의 길을 떠납니다.";
//분쟁기록 모두 지움 //분쟁기록 모두 지움
DeleteConflict($general['nation']); DeleteConflict($general['nation']);
@@ -745,13 +823,14 @@ function process_54(&$general) {
$query = "update general set resturn='SUCCESS',level='1',experience=experience*0.7 where no='{$general['no']}'"; $query = "update general set resturn='SUCCESS',level='1',experience=experience*0.7 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【선양】</b></><Y>{$general['name']}</>(이)가 <D><b>{$nation['name']}</b></>의 군주 자리를 <Y>{$nextruler['name']}</>에게 선양했습니다."; $josaYi = JosaUtil::pick($general['name'], '이');
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【선양】</b></><Y>{$general['name']}</>{$josaYi} <D><b>{$nation['name']}</b></>의 군주 자리를 <Y>{$nextruler['name']}</>에게 선양했습니다.";
$log[] = "<C>●</>{$admin['month']}월:<Y>{$nextruler['name']}</>에게 군주의 자리를 물려줍니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:<Y>{$nextruler['name']}</>에게 군주의 자리를 물려줍니다. <1>$date</>";
$youlog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>에게서 군주의 자리를 물려받습니다."; $youlog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>에게서 군주의 자리를 물려받습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 군주자리를 <Y>{$nextruler['name']}</>에게 선양"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 군주자리를 <Y>{$nextruler['name']}</>에게 선양");
pushGeneralHistory($nextruler, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 군주자리를 물려 받음"); pushGeneralHistory($nextruler, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>의 군주자리를 물려 받음");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <Y>{$nextruler['name']}</>에게 선양"); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <Y>{$nextruler['name']}</>에게 선양");
} }
pushGenLog($general, $log); pushGenLog($general, $log);
pushGenLog($nextruler, $youlog); pushGenLog($nextruler, $youlog);
@@ -820,11 +899,12 @@ function process_55(&$general) {
$query = "update general set resturn='SUCCESS',belong=1,level=12,nation='{$nation['nation']}',dedication=dedication+'$ded', experience=experience+'$exp' where no='{$general['no']}'"; $query = "update general set resturn='SUCCESS',belong=1,level=12,nation='{$nation['nation']}',dedication=dedication+'$ded', experience=experience+'$exp' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$josaYi = JosaUtil::pick($general['name'], '이');
$log[] = "<C>●</>{$admin['month']}월:거병에 성공하였습니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:거병에 성공하였습니다. <1>$date</>";
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$city['name']}</b></>에서 거병하였습니다."; $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$city['name']}</b></>에서 거병하였습니다.";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【거병】</b></><D><b>{$general['name']}</b></>(이)가 세력을 결성하였습니다."; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【거병】</b></><D><b>{$general['name']}</b></>{$josaYi} 세력을 결성하였습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$city['name']}</b></>에서 거병"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<G><b>{$city['name']}</b></>에서 거병");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <G><b>{$city['name']}</b></>에서 거병"); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <G><b>{$city['name']}</b></>에서 거병");
// 외교테이블 추가 // 외교테이블 추가
@@ -869,9 +949,11 @@ function process_56(&$general) {
} elseif($citycount != 0) { } elseif($citycount != 0) {
$log[] = "<C>●</>{$admin['month']}월:방랑군이 아닙니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:방랑군이 아닙니다. <1>$date</>";
} else { } else {
$josaYi = JosaUtil::pick($general['name'], '이');
$log[] = "<C>●</>{$admin['month']}월:세력을 해산했습니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:세력을 해산했습니다. <1>$date</>";
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 세력을 해산했습니다."; $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 세력을 해산했습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>(을)를 해산"); $josaUl = JosaUtil::pick($nation['name'], '을');
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$nation['name']}</b></>{$josaUl} 해산");
$query = "select no from general where nation='{$general['nation']}'"; $query = "select no from general where nation='{$general['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -952,14 +1034,15 @@ function process_57(&$general) {
$query = "update general set level='1',experience=experience*0.7 where no='{$ruler['no']}'"; $query = "update general set level='1',experience=experience*0.7 where no='{$ruler['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$josaYi = JosaUtil::pick($general['name'], '이');
$log[] = "<C>●</>{$admin['month']}월:모반에 성공했습니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:모반에 성공했습니다. <1>$date</>";
$youlog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>에게 군주의 자리를 뺏겼습니다."; $youlog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>에게 군주의 자리를 뺏겼습니다.";
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>(이)가 <M>모반</>에 성공했습니다."; $alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <M>모반</>에 성공했습니다.";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【모반】</b></><Y>{$general['name']}</>(이)가 <D><b>{$nation['name']}</b></>의 군주 자리를 찬탈했습니다."; $history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<Y><b>【모반】</b></><Y>{$general['name']}</>{$josaYi} <D><b>{$nation['name']}</b></>의 군주 자리를 찬탈했습니다.";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:모반으로 <D><b>{$nation['name']}</b></>의 군주자리를 찬탈"); pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:모반으로 <D><b>{$nation['name']}</b></>의 군주자리를 찬탈");
pushGeneralHistory($ruler, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$general['name']}</b></>의 모반으로 인해 <D><b>{$nation['name']}</b></>의 군주자리를 박탈당함"); pushGeneralHistory($ruler, "<C>●</>{$admin['year']}{$admin['month']}월:<D><b>{$general['name']}</b></>의 모반으로 인해 <D><b>{$nation['name']}</b></>의 군주자리를 박탈당함");
pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>(이)가 <Y>{$ruler['name']}</>에게서 군주자리를 찬탈"); pushNationHistory($nation, "<C>●</>{$admin['year']}{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <Y>{$ruler['name']}</>에게서 군주자리를 찬탈");
} }
pushGenLog($general, $log); pushGenLog($general, $log);
pushGenLog($ruler, $youlog); pushGenLog($ruler, $youlog);
+18 -9
View File
@@ -64,14 +64,16 @@ function process_32(&$general) {
$ratio += 10; $ratio += 10;
$query = "update general set item=0 where no='{$general['no']}'"; $query = "update general set item=0 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$log[] = "<C>●</><C>".getItemName($general['item'])."</>(을)를 사용!"; $josaUl = JosaUtil::pick($general['item'], '을');
$log[] = "<C>●</><C>".getItemName($general['item'])."</>{$josaUl} 사용!";
$general['item'] = 0; $general['item'] = 0;
} elseif($general['item'] == 6) { } elseif($general['item'] == 6) {
// 향낭 사용 // 향낭 사용
$ratio += 20; $ratio += 20;
$query = "update general set item=0 where no='{$general['no']}'"; $query = "update general set item=0 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$log[] = "<C>●</><C>".getItemName($general['item'])."</>(을)를 사용!"; $josaUl = JosaUtil::pick($general['item'], '을');
$log[] = "<C>●</><C>".getItemName($general['item'])."</>{$josaUl} 사용!";
$general['item'] = 0; $general['item'] = 0;
} elseif($general['item'] >= 21 && $general['item'] <= 22) { } elseif($general['item'] >= 21 && $general['item'] <= 22) {
// 육도, 삼략 사용 // 육도, 삼략 사용
@@ -89,7 +91,8 @@ function process_32(&$general) {
$ratio /= Util::array_get($dist[$destination], 99); $ratio /= Util::array_get($dist[$destination], 99);
if($ratio > $ratio2) { if($ratio > $ratio2) {
$alllog[] = "<C>●</>{$admin['month']}월:<G><b>{$destcity['name']}</b></>(이)가 불타고 있습니다."; $josaYi = JosaUtil::pick($destcity['name'], '이');
$alllog[] = "<C>●</>{$admin['month']}월:<G><b>{$destcity['name']}</b></>{$josaYi} 불타고 있습니다.";
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$destcity['name']}</b></>에 화계가 성공했습니다. <1>$date</>"; $log[] = "<C>●</>{$admin['month']}월:<G><b>{$destcity['name']}</b></>에 화계가 성공했습니다. <1>$date</>";
$destcity['agri'] -= rand() % GameConst::$sabotageAmountCoef + GameConst::$sabotageDefaultAmount; $destcity['agri'] -= rand() % GameConst::$sabotageAmountCoef + GameConst::$sabotageDefaultAmount;
@@ -193,14 +196,16 @@ function process_33(&$general) {
$ratio += 10; $ratio += 10;
$query = "update general set item=0 where no='{$general['no']}'"; $query = "update general set item=0 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$log[] = "<C>●</><C>".getItemName($general['item'])."</>(을)를 사용!"; $josaUl = JosaUtil::pick($general['item'], '을');
$log[] = "<C>●</><C>".getItemName($general['item'])."</>{$josaUl} 사용!";
$general['item'] = 0; $general['item'] = 0;
} elseif($general['item'] == 6) { } elseif($general['item'] == 6) {
// 향낭 사용 // 향낭 사용
$ratio += 20; $ratio += 20;
$query = "update general set item=0 where no='{$general['no']}'"; $query = "update general set item=0 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$log[] = "<C>●</><C>".getItemName($general['item'])."</>(을)를 사용!"; $josaUl = JosaUtil::pick($general['item'], '을');
$log[] = "<C>●</><C>".getItemName($general['item'])."</>{$josaUl} 사용!";
$general['item'] = 0; $general['item'] = 0;
} elseif($general['item'] >= 21 && $general['item'] <= 22) { } elseif($general['item'] >= 21 && $general['item'] <= 22) {
// 육도, 삼략 사용 // 육도, 삼략 사용
@@ -339,14 +344,16 @@ function process_34(&$general) {
$ratio += 10; $ratio += 10;
$query = "update general set item=0 where no='{$general['no']}'"; $query = "update general set item=0 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$log[] = "<C>●</><C>".getItemName($general['item'])."</>(을)를 사용!"; $josaUl = JosaUtil::pick($general['item'], '을');
$log[] = "<C>●</><C>".getItemName($general['item'])."</>{$josaUl} 사용!";
$general['item'] = 0; $general['item'] = 0;
} elseif($general['item'] == 6) { } elseif($general['item'] == 6) {
// 향낭 사용 // 향낭 사용
$ratio += 20; $ratio += 20;
$query = "update general set item=0 where no='{$general['no']}'"; $query = "update general set item=0 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$log[] = "<C>●</><C>".getItemName($general['item'])."</>(을)를 사용!"; $josaUl = JosaUtil::pick($general['item'], '을');
$log[] = "<C>●</><C>".getItemName($general['item'])."</>{$josaUl} 사용!";
$general['item'] = 0; $general['item'] = 0;
} elseif($general['item'] >= 21 && $general['item'] <= 22) { } elseif($general['item'] >= 21 && $general['item'] <= 22) {
// 육도, 삼략 사용 // 육도, 삼략 사용
@@ -466,14 +473,16 @@ function process_35(&$general) {
$ratio += 10; $ratio += 10;
$query = "update general set item=0 where no='{$general['no']}'"; $query = "update general set item=0 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$log[] = "<C>●</><C>".getItemName($general['item'])."</>(을)를 사용!"; $josaUl = JosaUtil::pick($general['item'], '을');
$log[] = "<C>●</><C>".getItemName($general['item'])."</>{$josaUl} 사용!";
$general['item'] = 0; $general['item'] = 0;
} elseif($general['item'] == 6) { } elseif($general['item'] == 6) {
// 향낭 사용 // 향낭 사용
$ratio += 20; $ratio += 20;
$query = "update general set item=0 where no='{$general['no']}'"; $query = "update general set item=0 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$log[] = "<C>●</><C>".getItemName($general['item'])."</>(을)를 사용!"; $josaUl = JosaUtil::pick($general['item'], '을');
$log[] = "<C>●</><C>".getItemName($general['item'])."</>{$josaUl} 사용!";
$general['item'] = 0; $general['item'] = 0;
} elseif($general['item'] >= 21 && $general['item'] <= 22) { } elseif($general['item'] >= 21 && $general['item'] <= 22) {
// 육도, 삼략 사용 // 육도, 삼략 사용
+7 -8
View File
@@ -77,11 +77,11 @@ function allButton() {
$call = "설문조사"; $call = "설문조사";
} }
if(\file_exists("d_setting/templates/allButton.php")){ if(\file_exists(__dir__."/d_setting/templates/allButton.php")){
$templates = new \League\Plates\Engine('d_setting/templates'); $templates = new \League\Plates\Engine(__dir__.'/d_setting/templates');
} }
else{ else{
$templates = new \League\Plates\Engine('templates'); $templates = new \League\Plates\Engine(__dir__.'/templates');
} }
@@ -95,11 +95,10 @@ function allButton() {
function commandButton() { function commandButton() {
$session = Session::getInstance(); $session = Session::getInstance();
$userID = Session::getUserID(); $userID = Session::getUserID();
$generalID = $session->generalID; if(!$session->isGameLoggedIn()){
if($generalID === null){
return ''; return '';
} }
$db = DB::db(); $db = DB::db();
$me = $db->queryFirstRow("select no,nation,level,belong from general where owner=%i", $userID); $me = $db->queryFirstRow("select no,nation,level,belong from general where owner=%i", $userID);
@@ -113,7 +112,7 @@ function commandButton() {
$bgColor = Util::array_get($nation['color'])?:'#000000'; $bgColor = Util::array_get($nation['color'])?:'#000000';
$fgColor = newColor($bgColor); $fgColor = newColor($bgColor);
$templates = new \League\Plates\Engine('templates'); $templates = new \League\Plates\Engine(__dir__.'/templates');
$showSecret = false; $showSecret = false;
if($me['level'] >= 2){ if($me['level'] >= 2){
$showSecret = true; $showSecret = true;
@@ -170,7 +169,7 @@ function formatName(string $name, int $npc): string{
function getMapHtml(){ function getMapHtml(){
//NOTE: 필요한가? //NOTE: 필요한가?
$templates = new \League\Plates\Engine('templates'); $templates = new \League\Plates\Engine(__dir__.'/templates');
return $templates->render('map'); return $templates->render('map');
} }
+86 -29
View File
@@ -109,7 +109,7 @@ function processTournament() {
$second = $unit * $iter; $second = $unit * $iter;
$gameStor->tournament = $tnmt; $gameStor->tournament = $tnmt;
$gameStor->phase = $phase; $gameStor->phase = $phase;
$gameStor->tnmt_time = (new \DateTimeImmutable($gameStor->tnmt_time))->add(new \DateInterval("PT{$second}S"))->format('Y-m-d H:i:s'); $gameStor->tnmt_time = (new \DateTimeImmutable($admin['tnmt_time']))->add(new \DateInterval("PT{$second}S"))->format('Y-m-d H:i:s');
} }
} }
@@ -175,7 +175,7 @@ function printRow($k, $npc, $name, $abil, $tgame, $win, $draw, $lose, $gd, $gl,
if($prmt > 0) { $name = "<font color=orange>".$name."</font>"; } if($prmt > 0) { $name = "<font color=orange>".$name."</font>"; }
elseif($npc >= 2) { $name = "<font color=cyan>".$name."</font>"; } elseif($npc >= 2) { $name = "<font color=cyan>".$name."</font>"; }
elseif($npc == 1) { $name = "<font color=skyblue>".$name."</font>"; } elseif($npc == 1) { $name = "<font color=skyblue>".$name."</font>"; }
echo "<tr align=center><td id=bg2>$k</td><td>$name</td><td>$abil</td><td>$tgame</td><td>$win</td><td>$draw</td><td>$lose</td><td>$gd</td><td>$gl</td></tr>"; echo "<tr align=center><td id=bg2>$k</td><td style='font-size:80%;'>$name</td><td>$abil</td><td>$tgame</td><td>$win</td><td>$draw</td><td>$lose</td><td>$gd</td><td>$gl</td></tr>";
} }
function printFighting($tournament, $phase) { function printFighting($tournament, $phase) {
@@ -255,7 +255,6 @@ function startTournament($auto, $type) {
$gameStor->tournament = 1; $gameStor->tournament = 1;
$gameStor->tnmt_type = $type; $gameStor->tnmt_type = $type;
$gameStor->phase = 0; $gameStor->phase = 0;
$gameStor->bet = 0;
for($i=0;$i<16;$i+=1){ for($i=0;$i<16;$i+=1){
$gameStor->setValue("bet{$i}", 0); $gameStor->setValue("bet{$i}", 0);
} }
@@ -670,8 +669,11 @@ function setGift($tnmt_type, $tnmt, $phase) {
$cost = $admin['develcost'] * 20; $cost = $admin['develcost'] * 20;
$cost2 = $admin['develcost'] * 12; $cost2 = $admin['develcost'] * 12;
$josaYi1 = JosaUtil::pick($general['name'], '이');
$josaYi2 = JosaUtil::pick($general2['name'], '이');
$history = [ $history = [
"<S>◆</>{$admin['year']}{$admin['month']}월: <C>{$tp}</> 대회에서 <Y>{$general['name']}</>(이)가 <C>우승</>, <Y>{$general2['name']}</>(이)가 <C>준우승</>을 차지하여 천하에 이름을 떨칩니다!", "<S>◆</>{$admin['year']}{$admin['month']}월: <C>{$tp}</> 대회에서 <Y>{$general['name']}</>{$josaYi1} <C>우승</>, <Y>{$general2['name']}</>{$josaYi2} <C>준우승</>을 차지하여 천하에 이름을 떨칩니다!",
"<S>◆</>{$admin['year']}{$admin['month']}월: <C>{$tp}</> 대회의 <S>우승자</>에게는 <C>{$cost}</>, <S>준우승자</>에겐 <C>{$cost2}</>의 <S>상금</>과 약간의 <S>명성</>이 주어집니다!" "<S>◆</>{$admin['year']}{$admin['month']}월: <C>{$tp}</> 대회의 <S>우승자</>에게는 <C>{$cost}</>, <S>준우승자</>에겐 <C>{$cost2}</>의 <S>상금</>과 약간의 <S>명성</>이 주어집니다!"
]; ];
pushWorldHistory($history, $admin['year'], $admin['month']); pushWorldHistory($history, $admin['year'], $admin['month']);
@@ -693,7 +695,7 @@ function setGift($tnmt_type, $tnmt, $phase) {
$no = ($general['grp'] - 20) * 2 + $general['grp_no']; $no = ($general['grp'] - 20) * 2 + $general['grp_no'];
$admin = $gameStor->getDBValues(['bet0','bet1','bet2','bet3','bet4','bet5','bet6','bet7','bet8','bet9','bet10','bet11','bet12','bet13','bet14','bet15']); $admin = $gameStor->getValues(['bet0','bet1','bet2','bet3','bet4','bet5','bet6','bet7','bet8','bet9','bet10','bet11','bet12','bet13','bet14','bet15']);
$admin['bet'] = array_sum($admin); $admin['bet'] = array_sum($admin);
$bet = @round($admin['bet'] / $admin["bet{$no}"], 2); $bet = @round($admin['bet'] / $admin["bet{$no}"], 2);
@@ -776,50 +778,105 @@ function fight($tnmt_type, $tnmt, $phs, $group, $g1, $g2, $type) {
//아이템 로그 //아이템 로그
if($gen1['h'] > 6 && ($tnmt_type == 0 || $tnmt_type == 1)) { if($gen1['h'] > 6 && ($tnmt_type == 0 || $tnmt_type == 1)) {
switch(rand()%4) { switch(rand()%4) {
case 0: $log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getHorseName($gen1['h'])."</>(이)가 포효합니다!"; break; case 0:
case 1: $log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getHorseName($gen1['h'])."</>(이)가 그 위용을 뽐냅니다!"; break; $josaYi = JosaUtil::pick(getHorseName($gen1['h']), '이');
case 2: $log[] = "<S>●</> <Y>{$gen1['name']}</>(이)가 <S>".getHorseName($gen1['h'])."</>(을)를 타고 있습니다!"; break; $log[] = "<S>●</> <Y>{$gen1['name']}</> <S>".getHorseName($gen1['h'])."</>{$josaYi} 포효합니다!"; break;
case 3: $log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getHorseName($gen1['h'])."</>(이)가 갈기를 휘날립니다!"; break; case 1:
$josaYi = JosaUtil::pick(getHorseName($gen1['h']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getHorseName($gen1['h'])."</>{$josaYi} 그 위용을 뽐냅니다!"; break;
case 2:
$josaYi = JosaUtil::pick($gen1['name'], '이');
$josaUl = JosaUtil::pick(getHorseName($gen1['h']), '을');
$log[] = "<S>●</> <Y>{$gen1['name']}</>{$josaYi} <S>".getHorseName($gen1['h'])."</>{$josaUl} 타고 있습니다!"; break;
case 3:
$josaYi = JosaUtil::pick(getHorseName($gen1['h']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getHorseName($gen1['h'])."</>{$josaYi} 갈기를 휘날립니다!"; break;
} }
} }
if($gen1['w'] > 6 && ($tnmt_type == 0 || $tnmt_type == 2)) { if($gen1['w'] > 6 && ($tnmt_type == 0 || $tnmt_type == 2)) {
switch(rand()%4) { switch(rand()%4) {
case 0: $log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getWeapName($gen1['w'])."</>(이)가 번뜩입니다!"; break; case 0:
case 1: $log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getWeapName($gen1['w'])."</>(이)가 푸르게 빛납니다!"; break; $josaYi = JosaUtil::pick(getWeapName($gen1['w']), '이');
case 2: $log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getWeapName($gen1['w'])."</>에서 살기가 느껴집니다!"; break; $log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getWeapName($gen1['w'])."</>{$josaYi} 번뜩입니다!"; break;
case 3: $log[] = "<S>●</> <Y>{$gen1['name']}</>의 손에는 <S>".getWeapName($gen1['w'])."</>(이)가 쥐어져 있습니다!"; break; case 1:
$josaYi = JosaUtil::pick(getWeapName($gen1['w']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getWeapName($gen1['w'])."</>{$josaYi} 푸르게 빛납니다!"; break;
case 2:
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getWeapName($gen1['w'])."</>에서 살기가 느껴집니다!"; break;
case 3:
$josaYi = JosaUtil::pick(getWeapName($gen1['w']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 손에는 <S>".getWeapName($gen1['w'])."</>{$josaYi} 쥐어져 있습니다!"; break;
} }
} }
if($gen1['b'] > 6 && ($tnmt_type == 0 || $tnmt_type == 3)) { if($gen1['b'] > 6 && ($tnmt_type == 0 || $tnmt_type == 3)) {
switch(rand()%4) { switch(rand()%4) {
case 0: $log[] = "<S>●</> <Y>{$gen1['name']}</>(이)가 <S>".getBookName($gen1['b'])."</>(을)를 펼쳐듭니다!"; break; case 0:
case 1: $log[] = "<S>●</> <Y>{$gen1['name']}</>(이)가 <S>".getBookName($gen1['b'])."</>(을)를 품에서 꺼냅니다!"; break; $josaYi = JosaUtil::pick($gen1['name'], '');
case 2: $log[] = "<S>●</> <Y>{$gen1['name']}</>(이)가 <S>".getBookName($gen1['b'])."</>(을)를 들고 있습니다!"; break; $josaUl = JosaUtil::pick(getBookName($gen1['b']), '을');
case 3: $log[] = "<S>●</> <Y>{$gen1['name']}</>의 손에는 <S>".getBookName($gen1['b'])."</>(이)가 쥐어져 있습니다!"; break; $log[] = "<S>●</> <Y>{$gen1['name']}</>{$josaYi} <S>".getBookName($gen1['b'])."</>{$josaUl} 펼쳐듭니다!"; break;
case 1:
$josaYi = JosaUtil::pick($gen1['name'], '이');
$josaUl = JosaUtil::pick(getBookName($gen1['b']), '을');
$log[] = "<S>●</> <Y>{$gen1['name']}</>{$josaYi} <S>".getBookName($gen1['b'])."</>{$josaUl} 품에서 꺼냅니다!"; break;
case 2:
$josaYi = JosaUtil::pick($gen1['name'], '이');
$josaUl = JosaUtil::pick(getBookName($gen1['b']), '을');
$log[] = "<S>●</> <Y>{$gen1['name']}</>{$josaYi} <S>".getBookName($gen1['b'])."</>{$josaUl} 들고 있습니다!"; break;
case 3:
$josaYi = JosaUtil::pick(getBookName($gen1['b']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 손에는 <S>".getBookName($gen1['b'])."</>{$josaYi} 쥐어져 있습니다!"; break;
} }
} }
if($gen2['h'] > 6 && ($tnmt_type == 0 || $tnmt_type == 1)) { if($gen2['h'] > 6 && ($tnmt_type == 0 || $tnmt_type == 1)) {
$josaUl = JosaUtil::pick($gen2['h'], '을');
switch(rand()%4) { switch(rand()%4) {
case 0: $log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getHorseName($gen2['h'])."</>(이)가 포효합니다!"; break; case 0:
case 1: $log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getHorseName($gen2['h'])."</>(이)가 그 위용을 뽐냅니다!"; break; $josaYi = JosaUtil::pick(getHorseName($gen2['h']), '이');
case 2: $log[] = "<S>●</> <Y>{$gen2['name']}</>(이)가 <S>".getHorseName($gen2['h'])."</>(을)를 타고 있습니다!"; break; $log[] = "<S>●</> <Y>{$gen2['name']}</> <S>".getHorseName($gen2['h'])."</>{$josaYi} 포효합니다!"; break;
case 3: $log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getHorseName($gen2['h'])."</>(이)가 갈기를 휘날립니다!"; break; case 1:
$josaYi = JosaUtil::pick(getHorseName($gen2['h']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getHorseName($gen2['h'])."</>{$josaYi} 그 위용을 뽐냅니다!"; break;
case 2:
$josaYi = JosaUtil::pick($gen2['name'], '이');
$josaUl = JosaUtil::pick(getHorseName($gen2['h']), '을');
$log[] = "<S>●</> <Y>{$gen2['name']}</>{$josaYi} <S>".getHorseName($gen2['h'])."</>{$josaUl} 타고 있습니다!"; break;
case 3:
$josaYi = JosaUtil::pick(getHorseName($gen2['h']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getHorseName($gen2['h'])."</>{$josaYi} 갈기를 휘날립니다!"; break;
} }
} }
if($gen2['w'] > 6 && ($tnmt_type == 0 || $tnmt_type == 2)) { if($gen2['w'] > 6 && ($tnmt_type == 0 || $tnmt_type == 2)) {
switch(rand()%4) { switch(rand()%4) {
case 0: $log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getWeapName($gen2['w'])."</>(이)가 번뜩입니다!"; break; case 0:
case 1: $log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getWeapName($gen2['w'])."</>(이)가 푸르게 빛납니다!"; break; $josaYi = JosaUtil::pick(getWeapName($gen2['w']), '이');
case 2: $log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getWeapName($gen2['w'])."</>에서 살기가 느껴집니다!"; break; $log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getWeapName($gen2['w'])."</>{$josaYi} 번뜩입니다!"; break;
case 3: $log[] = "<S>●</> <Y>{$gen2['name']}</>의 손에는 <S>".getWeapName($gen2['w'])."</>(이)가 쥐어져 있습니다!"; break; case 1:
$josaYi = JosaUtil::pick(getWeapName($gen2['w']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getWeapName($gen2['w'])."</>{$josaYi} 푸르게 빛납니다!"; break;
case 2:
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getWeapName($gen2['w'])."</>에서 살기가 느껴집니다!"; break;
case 3:
$josaYi = JosaUtil::pick(getWeapName($gen2['w']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 손에는 <S>".getWeapName($gen2['w'])."</>{$josaYi} 쥐어져 있습니다!"; break;
} }
} }
if($gen2['b'] > 6 && ($tnmt_type == 0 || $tnmt_type == 3)) { if($gen2['b'] > 6 && ($tnmt_type == 0 || $tnmt_type == 3)) {
switch(rand()%4) { switch(rand()%4) {
case 0: $log[] = "<S>●</> <Y>{$gen2['name']}</>(이)가 <S>".getBookName($gen2['b'])."</>(을)를 펼쳐듭니다!"; break; case 0:
case 1: $log[] = "<S>●</> <Y>{$gen2['name']}</>(이)가 <S>".getBookName($gen2['b'])."</>(을)를 품에서 꺼냅니다!"; break; $josaYi = JosaUtil::pick($gen2['name'], '');
case 2: $log[] = "<S>●</> <Y>{$gen2['name']}</>(이)가 <S>".getBookName($gen2['b'])."</>(을)를 들고 있습니다!"; break; $josaUl = JosaUtil::pick(getBookName($gen2['b']), '을');
case 3: $log[] = "<S>●</> <Y>{$gen2['name']}</>의 손에는 <S>".getBookName($gen2['b'])."</>(이)가 쥐어져 있습니다!"; break; $log[] = "<S>●</> <Y>{$gen2['name']}</>{$josaYi} <S>".getBookName($gen2['b'])."</>{$josaUl} 펼쳐듭니다!"; break;
case 1:
$josaYi = JosaUtil::pick($gen2['name'], '이');
$josaUl = JosaUtil::pick(getBookName($gen2['b']), '을');
$log[] = "<S>●</> <Y>{$gen2['name']}</>{$josaYi} <S>".getBookName($gen2['b'])."</>{$josaUl} 품에서 꺼냅니다!"; break;
case 2:
$josaYi = JosaUtil::pick($gen2['name'], '이');
$josaUl = JosaUtil::pick(getBookName($gen2['b']), '을');
$log[] = "<S>●</> <Y>{$gen2['name']}</>{$josaYi} <S>".getBookName($gen2['b'])."</>{$josaUl} 들고 있습니다!"; break;
case 3:
$josaYi = JosaUtil::pick(getBookName($gen2['b']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 손에는 <S>".getBookName($gen2['b'])."</>{$josaYi} 쥐어져 있습니다!"; break;
} }
} }
+9 -9
View File
@@ -11,7 +11,6 @@ increaseRefresh("메인", 1);
$db = DB::db(); $db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor = KVStorage::getStorage($db, 'game_env');
$connect=$db->get();
if (!$userID) { if (!$userID) {
header('Location:..'); header('Location:..');
@@ -26,6 +25,11 @@ $me = $db->queryFirstRow(
//턴 실행. //턴 실행.
checkTurn(); checkTurn();
if(!$session->isGameLoggedIn()){
header('Location:..');
die();
}
//그새 사망이면 //그새 사망이면
if ($me === null) { if ($me === null) {
$session->logoutGame(); $session->logoutGame();
@@ -42,9 +46,7 @@ if ($me['newmsg'] == 1 || $me['newvote'] == 1) {
$admin = $gameStor->getValues(['develcost','online','conlimit','tournament','tnmt_type','turnterm','scenario','scenario_text','extended_general','fiction','npcmode','vote']); $admin = $gameStor->getValues(['develcost','online','conlimit','tournament','tnmt_type','turnterm','scenario','scenario_text','extended_general','fiction','npcmode','vote']);
$query = "select plock from plock limit 1"; $plock = $db->queryFirstField('SELECT plock FROM plock LIMIT 1');
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
$plock = MYDB_fetch_array($result);
$con = checkLimit($me['con']); $con = checkLimit($me['con']);
if ($con >= 2) { if ($con >= 2) {
@@ -136,7 +138,7 @@ $(function(){
<tr height=30> <tr height=30>
<td> <td>
<?php <?php
if ($plock['plock'] == 0) { if (!$plock) {
echo "<marquee scrollamount=2><font color=cyan>서버 가동중</font></marquee>"; echo "<marquee scrollamount=2><font color=cyan>서버 가동중</font></marquee>";
} else { } else {
echo "<font color=magenta>서버 동결중</font>"; echo "<font color=magenta>서버 동결중</font>";
@@ -166,9 +168,7 @@ echo "
<td align=center> <td align=center>
"; ";
$query = "select no from auction"; $auctionCount = $db->queryFirstField('SELECT count(`no`) FROM auction');
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
$auctionCount = MYDB_num_rows($result);
if ($auctionCount > 0) { if ($auctionCount > 0) {
echo "<marquee scrollamount=2><font color=cyan>{$auctionCount}건</font> 거래 진행중</marquee>"; echo "<marquee scrollamount=2><font color=cyan>{$auctionCount}건</font> 거래 진행중</marquee>";
} else { } else {
@@ -180,7 +180,7 @@ echo "
<td colspan=2 align=center> <td colspan=2 align=center>
"; ";
$vote = explode("|", $admin['vote']); $vote = $admin['vote']?:[''];
$vote[0] = Tag2Code($vote[0]); $vote[0] = Tag2Code($vote[0]);
if ($vote[0] == "") { if ($vote[0] == "") {
echo "<font color=magenta>진행중 설문 없음</font>"; echo "<font color=magenta>진행중 설문 없음</font>";
+10 -3
View File
@@ -9,7 +9,14 @@ if(!class_exists('\sammo\DB')){
} }
$session = Session::requireLogin(); $session = Session::requireLogin();
if($session->userGrade < 5){
$serverName = DB::prefix();
$serverAcl = $session->acl[$serverName]??[];
$allowReset = in_array('reset', $serverAcl);
$allowFullReset = in_array('fullReset',$serverAcl);
$allowReset |= $allowFullReset;
if($session->userGrade < 5 && !$allowReset){
die('관리자 아님'); die('관리자 아님');
} }
@@ -154,10 +161,10 @@ if($session->userGrade < 5){
<label class="btn btn-secondary"> <label class="btn btn-secondary">
<input type="radio" name="show_img_level" value="1">전콘 <input type="radio" name="show_img_level" value="1">전콘
</label> </label>
<label class="btn btn-secondary active"> <label class="btn btn-secondary">
<input type="radio" name="show_img_level" value="2">전콘, 병종 <input type="radio" name="show_img_level" value="2">전콘, 병종
</label> </label>
<label class="btn btn-secondary"> <label class="btn btn-secondary active">
<input type="radio" name="show_img_level" value="3" checked>전콘, 병종, NPC <input type="radio" name="show_img_level" value="3" checked>전콘, 병종, NPC
</label> </label>
</div> </div>
+1 -1
View File
@@ -24,7 +24,7 @@ if($session->userGrade == 5){
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?> <?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
<?=WebUtil::printJS('../e_lib/jquery.validate.min.js')?> <?=WebUtil::printJS('../e_lib/jquery.validate.min.js')?>
<?=WebUtil::printJS('js/common.js')?> <?=WebUtil::printJS('js/common.js')?>
<?=WebUtil::printJS('js/install.js')?> <?=WebUtil::printJS('js/install_db.js')?>
<?=WebUtil::printCSS('css/normalize.css')?> <?=WebUtil::printCSS('css/normalize.css')?>
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?> <?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
<?=WebUtil::printCSS('css/install.css')?> <?=WebUtil::printCSS('css/install.css')?>
+1 -1
View File
@@ -22,7 +22,7 @@ $now = new \DateTime();
$status = 'not_yet'; $status = 'not_yet';
list($isUnited, $lastTurn) = $gameStor->getValues(['isUnited', 'turntime']); list($isUnited, $lastTurn) = $gameStor->getValuesAsArray(['isunited', 'turntime']);
if($isUnited === null || $lastTurn === null){ if($isUnited === null || $lastTurn === null){
$isUnited = 2; $isUnited = 2;
$lastTurn = '2000-01-01'; $lastTurn = '2000-01-01';
+42 -2
View File
@@ -5,7 +5,21 @@ include "lib.php";
include "func.php"; include "func.php";
$session = Session::requireLogin([])->setReadOnly(); $session = Session::requireLogin([])->setReadOnly();
if($session->userGrade < 5){
if(!class_exists('\\sammo\\DB')){
Json::die([
'result'=>false,
'reason'=>'DB리셋 필요'
]);
}
$serverName = DB::prefix();
$serverAcl = $session->acl[$serverName]??[];
$allowReset = in_array('reset', $serverAcl);
$allowFullReset = in_array('fullReset',$serverAcl);
$allowReset |= $allowFullReset;
if($session->userGrade < 5 && !$allowReset){
Json::die([ Json::die([
'result'=>false, 'result'=>false,
'reason'=>'관리자 아님' 'reason'=>'관리자 아님'
@@ -38,6 +52,30 @@ if(!$v->validate()){
]); ]);
} }
$allowReset = true;
if($session->userGrade < 5 && !$allowFullReset){
//리셋 가능한 조건인지 테스트
$allowReset = false;
if(file_exists(__dir__.'/.htaccess')){
$allowReset = true;
}
else{
$db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env');
if($gameStor->isunited){
$allowReset = true;
}
}
}
if(!$allowReset){
Json::die([
'result'=>false,
'reason'=>'부족한 권한: 서버가 닫혀있거나, 천통되어 있을 경우에만 리셋 가능합니다.'
]);
}
$turnterm = (int)$_POST['turnterm']; $turnterm = (int)$_POST['turnterm'];
$sync = (int)$_POST['sync']; $sync = (int)$_POST['sync'];
$scenario = (int)$_POST['scenario']; $scenario = (int)$_POST['scenario'];
@@ -78,10 +116,12 @@ if($reserve_open){
'extend'=>$extend, 'extend'=>$extend,
'npcmode'=>$npcmode, 'npcmode'=>$npcmode,
'show_img_level'=>$show_img_level, 'show_img_level'=>$show_img_level,
'tournament_trig'=>$tournament_trig 'tournament_trig'=>$tournament_trig,
'gameConf'=>$scenarioObj->getGameConf()
]), ]),
'date'=>$reserve_open->format('Y-m-d H:i:s') 'date'=>$reserve_open->format('Y-m-d H:i:s')
]); ]);
AppConf::getList()[DB::prefix()]->closeServer();
Json::die([ Json::die([
'result'=>true, 'result'=>true,
'reason'=>'예약' 'reason'=>'예약'
+8 -1
View File
@@ -4,7 +4,14 @@ namespace sammo;
require "lib.php"; require "lib.php";
require "func.php"; require "func.php";
$session = Session::requireLogin([])->setReadOnly(); $session = Session::requireLogin([])->setReadOnly();
if($session->userGrade < 5){
$serverName = DB::prefix();
$serverAcl = $session->acl[$serverName]??[];
$allowReset = in_array('reset', $serverAcl);
$allowFullReset = in_array('fullReset',$serverAcl);
$allowReset |= $allowFullReset;
if($session->userGrade < 5 && !$allowReset){
Json::die([ Json::die([
'result'=>false, 'result'=>false,
'reason'=>'관리자가 아닙니다.' 'reason'=>'관리자가 아닙니다.'
+1 -1
View File
@@ -15,7 +15,7 @@ $defaultPost = [
]; ];
$post = WebUtil::parseJsonPost() + $defaultPost; $post = WebUtil::parseJsonPost() + $defaultPost;
if(!$session->isLoggedIn() || !$session->generalID){ if(!$session->isGameLoggedIn()){
$post['neutralView'] = true; $post['neutralView'] = true;
$post['showMe'] = false; $post['showMe'] = false;
} }
+4 -3
View File
@@ -11,8 +11,8 @@ $jsonPost = WebUtil::parseJsonPost();
$reqSequence = (int)Util::array_get($jsonPost['sequence'], 0); $reqSequence = (int)Util::array_get($jsonPost['sequence'], 0);
list($generalID, $nationID) = DB::db()->queryFirstList( list($generalID, $nationID, $generalName) = DB::db()->queryFirstList(
'select `no`, `nation` from `general` where owner = %i', 'select `no`, `nation`, `name` from `general` where owner = %i',
$userID $userID
); );
@@ -58,5 +58,6 @@ $result['diplomacy']= array_map(function(Message $msg)use (&$nextSequence){
}, Message::getMessagesFromMailBox(Message::MAILBOX_NATIONAL + $nationID, Message::MSGTYPE_DIPLOMACY, 10, 0)); }, Message::getMessagesFromMailBox(Message::MAILBOX_NATIONAL + $nationID, Message::MSGTYPE_DIPLOMACY, 10, 0));
$result['sequence'] = $nextSequence; $result['sequence'] = $nextSequence;
$result['nationID'] = $nationID;
$result['generalName'] = $generalName;
Json::die($result); Json::die($result);
+3 -2
View File
@@ -89,9 +89,10 @@ if(!$db->affectedRows()){
$db->delete('select_npc_token', 'owner=%i or valid_until < %s', $userID, $now); $db->delete('select_npc_token', 'owner=%i or valid_until < %s', $userID, $now);
pushGeneralHistory($pickedNPC, "<C>●</>{$year}{$month}월:<Y>{$pickedNPC['name']}</>의 육체에 <Y>{$userNick}</>(이)가 빙의되다."); $josaYi = JosaUtil::pick($userNick, '이');
pushGeneralHistory($pickedNPC, "<C>●</>{$year}{$month}월:<Y>{$pickedNPC['name']}</>의 육체에 <Y>{$userNick}</>{$josaYi} 빙의되다.");
//pushGenLog($me, $mylog); //pushGenLog($me, $mylog);
pushGeneralPublicRecord(["<C>●</>{$month}월:<Y>{$pickedNPC['name']}</>의 육체에 <Y>{$userNick}</>(이)가 <S>빙의</>됩니다!"], $year, $month); pushGeneralPublicRecord(["<C>●</>{$month}월:<Y>{$pickedNPC['name']}</>의 육체에 <Y>{$userNick}</>{$josaYi} <S>빙의</>됩니다!"], $year, $month);
pushAdminLog(["가입 : {$userID} // {$session->userName} // {$pick} // ".getenv("REMOTE_ADDR")]); pushAdminLog(["가입 : {$userID} // {$session->userName} // {$pick} // ".getenv("REMOTE_ADDR")]);
+16 -9
View File
@@ -38,7 +38,8 @@ if(file_exists(__dir__.'/.htaccess')){
'turnterm'=>$options['turnterm'], 'turnterm'=>$options['turnterm'],
'fictionMode'=>($options['fiction']?'가상':'사실'), 'fictionMode'=>($options['fiction']?'가상':'사실'),
'npcMode'=>($options['npcmode']?'가능':'불가'), 'npcMode'=>($options['npcmode']?'가능':'불가'),
'openDatetime'=>$reserved['date'] 'openDatetime'=>$reserved['date'],
'gameConf'=>$options['gameConf']
], ],
'game'=>null, 'game'=>null,
'me'=>null 'me'=>null
@@ -47,18 +48,24 @@ if(file_exists(__dir__.'/.htaccess')){
//TODO: 천통시에도 예약 오픈 알림이 필요..? //TODO: 천통시에도 예약 오픈 알림이 필요..?
$game_env = $gameStor->getValues(['isUnited', 'npcMode', 'year', 'month', 'scenario', 'scenario_text', 'maxgeneral', 'turnTerm']); $admin = $gameStor->getValues(['isunited', 'npcmode', 'year', 'month', 'scenario', 'scenario_text', 'maxgeneral', 'turnterm']);
$game_env['maxUserCnt'] = $game_env['maxgeneral']; $admin['maxUserCnt'] = $admin['maxgeneral'];
unset($game_env['maxgeneral']); $admin['npcMode'] = $admin['npcmode'];
$admin['turnTerm'] = $admin['turnterm'];
$admin['isUnited'] = $admin['isunited'];
unset($admin['npcmode']);
unset($admin['maxgeneral']);
unset($admin['turnterm']);
unset($admin['isunited']);
$nationCnt = $db->queryFirstField('SELECT count(`nation`) from nation where `level` > 0'); $nationCnt = $db->queryFirstField('SELECT count(`nation`) from nation where `level` > 0');
$genCnt = $db->queryFirstField('SELECT count(`no`) from general where `npc` < 2'); $genCnt = $db->queryFirstField('SELECT count(`no`) from general where `npc` < 2');
$npcCnt = $db->queryFirstField('SELECT count(`no`) from general where `npc` >= 2'); $npcCnt = $db->queryFirstField('SELECT count(`no`) from general where `npc` >= 2');
$game_env['scenario'] = $game_env['scenario_text']; $admin['scenario'] = $admin['scenario_text'];
$game_env['userCnt'] = $genCnt; $admin['userCnt'] = $genCnt;
$game_env['npcCnt'] = $npcCnt; $admin['npcCnt'] = $npcCnt;
$game_env['nationCnt'] = $nationCnt; $admin['nationCnt'] = $nationCnt;
$me = []; $me = [];
@@ -75,6 +82,6 @@ if($general){
//TODO: 이를 표현하는 방법은 '이전 버전'의 serverListPost.php를 참고할 것. //TODO: 이를 표현하는 방법은 '이전 버전'의 serverListPost.php를 참고할 것.
Json::die([ Json::die([
'game'=>$game_env, 'game'=>$admin,
'me'=>$me?:null 'me'=>$me?:null
]); ]);
+8 -3
View File
@@ -32,6 +32,11 @@ $connect=$db->get();
<head> <head>
<title><?=UniqueConst::$serverName?>: 장수생성</title> <title><?=UniqueConst::$serverName?>: 장수생성</title>
<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'> <meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
<script>
var defaultStatTotal = <?=GameConst::$defaultStatTotal?>;
var defaultStatMin = <?=GameConst::$defaultStatMin?>;
var defaultStatMax = <?=GameConst::$defaultStatMax?>;
</script>
<?=WebUtil::printCSS('../d_shared/common.css')?> <?=WebUtil::printCSS('../d_shared/common.css')?>
<?=WebUtil::printCSS('css/common.css')?> <?=WebUtil::printCSS('css/common.css')?>
<?=WebUtil::printJS('../e_lib/jquery-3.2.1.min.js')?> <?=WebUtil::printJS('../e_lib/jquery-3.2.1.min.js')?>
@@ -88,7 +93,7 @@ for ($i=0; $i < $nationcount; $i++) {
<tr> <tr>
<td width=498 align=right id=bg1>장수명</td> <td width=498 align=right id=bg1>장수명</td>
<td colspan=2> <td colspan=2>
<input type=text name=name maxlength=6 size=12 style=color:white;background-color:black; value=<?=$member['name']?>>(6글자 이내) <input type=text name=name maxlength=9 size=18 style=color:white;background-color:black; value=<?=$member['name']?>>(9글자 이내)
</td> </td>
</tr> </tr>
<?php <?php
@@ -156,13 +161,13 @@ if ($admin['show_img_level'] >= 1 && $member['grade'] >= 1 && $member['picture']
</tr> </tr>
<tr> <tr>
<td align=center colspan=3> <td align=center colspan=3>
<font color=orange>모든 능력치는 ( 10 <= 능력치 <= 75 ) 사이로 잡으셔야 합니다.<br> <font color=orange>모든 능력치는 ( 10 <= 능력치 <= <?=GameConst::$defaultStatMax?> ) 사이로 잡으셔야 합니다.<br>
그 외의 능력치는 가입되지 않습니다.</font> 그 외의 능력치는 가입되지 않습니다.</font>
</td> </td>
</tr> </tr>
<tr> <tr>
<td align=center colspan=3> <td align=center colspan=3>
능력치의 총합은 150입니다. 가입후 0~10의 능력치 보너스를 받게 됩니다.<br> 능력치의 총합은 <?=GameConst::$defaultStatTotal?>입니다. 가입후 0~10의 능력치 보너스를 받게 됩니다.<br>
임의의 도시에서 재야로 시작하며 건국과 임관은 게임 내에서 실행합니다. 임의의 도시에서 재야로 시작하며 건국과 임관은 게임 내에서 실행합니다.
</td> </td>
</tr> </tr>
+11 -8
View File
@@ -18,17 +18,17 @@ $v
'intel', 'intel',
'character', 'character',
]) ])
->rule('lengthBetween', 'name', 1, 6) ->rule('lengthBetween', 'name', 1, 9)
->rule('min', [ ->rule('min', [
'leader', 'leader',
'power', 'power',
'intel' 'intel'
], 10) ], GameConst::$defaultStatMin)
->rule('max', [ ->rule('max', [
'leader', 'leader',
'power', 'power',
'intel' 'intel'
], 75) ], GameConst::$defaultStatMax)
->rule('min', 'character', 0) ->rule('min', 'character', 0)
->rule('max', 'character', 11); ->rule('max', 'character', 11);
@@ -102,16 +102,16 @@ if (mb_strlen($name) < 1) {
</script>"); </script>");
exit; exit;
} }
if (mb_strlen($name) > 6) { if (mb_strlen($name) > 9) {
echo("<script> echo("<script>
window.alert('이름이 유효하지 않습니다. 다시 가입해주세요!') window.alert('이름이 유효하지 않습니다. 다시 가입해주세요!')
history.go(-1) history.go(-1)
</script>"); </script>");
exit; exit;
} }
if ($leader + $power + $intel > 150) { if ($leader + $power + $intel > GameConst::$defaultStatTotal) {
echo("<script> echo("<script>
window.alert('능력치가 150을 넘어섰습니다. 다시 가입해주세요!') window.alert('능력치가 ".GameConst::$defaultStatTotal."을 넘어섰습니다. 다시 가입해주세요!')
history.go(-1) history.go(-1)
</script>"); </script>");
exit; exit;
@@ -165,6 +165,8 @@ if ($genius) {
$specage = Util::round((80 - $age)/12) + $age; $specage = Util::round((80 - $age)/12) + $age;
$special = 0; $special = 0;
$admin = $gameStor->getValues(['scenario', 'turnterm', 'show_img_level']);
if ($admin['scenario'] > 0) { if ($admin['scenario'] > 0) {
$specage2 = $age + 3; $specage2 = $age + 3;
$specage = $age + 3; $specage = $age + 3;
@@ -237,13 +239,14 @@ $me = [
$log = []; $log = [];
$mylog = []; $mylog = [];
$josaRa = JosaUtil::pick($name, '라');
if ($genius) { if ($genius) {
$log[0] = "<C>●</>{$gameStor->month}월:<G><b>{$cityname}</b></>에서 <Y>{$name}</>(이)라는 기재가 천하에 이름을 알립니다."; $log[0] = "<C>●</>{$gameStor->month}월:<G><b>{$cityname}</b></>에서 <Y>{$name}</>{$josaRa}는 기재가 천하에 이름을 알립니다.";
$log[1] = "<C>●</>{$gameStor->month}월:<C>".getGenSpecial($special2)."</> 특기를 가진 <C>천재</>의 등장으로 온 천하가 떠들썩합니다."; $log[1] = "<C>●</>{$gameStor->month}월:<C>".getGenSpecial($special2)."</> 특기를 가진 <C>천재</>의 등장으로 온 천하가 떠들썩합니다.";
pushWorldHistory(["<C>●</>{$gameStor->year}{$gameStor->month}월:<L><b>【천재】</b></><G><b>{$cityname}</b></>에 천재가 등장했습니다."], $gameStor->year, $gameStor->month); pushWorldHistory(["<C>●</>{$gameStor->year}{$gameStor->month}월:<L><b>【천재】</b></><G><b>{$cityname}</b></>에 천재가 등장했습니다."], $gameStor->year, $gameStor->month);
} else { } else {
$log[0] = "<C>●</>{$gameStor->month}월:<G><b>{$cityname}</b></>에서 <Y>{$name}</>(이)라는 호걸이 천하에 이름을 알립니다."; $log[0] = "<C>●</>{$gameStor->month}월:<G><b>{$cityname}</b></>에서 <Y>{$name}</>{$josaRa}는 호걸이 천하에 이름을 알립니다.";
} }
pushGeneralHistory($me, "<C>●</>{$gameStor->year}{$gameStor->month}월:<Y>{$name}</>, <G>{$cityname}</>에서 큰 뜻을 품다."); pushGeneralHistory($me, "<C>●</>{$gameStor->year}{$gameStor->month}월:<Y>{$name}</>, <G>{$cityname}</>에서 큰 뜻을 품다.");
$mylog[] = "<C>●</>삼국지 모의전투 PHP의 세계에 오신 것을 환영합니다 ^o^"; $mylog[] = "<C>●</>삼국지 모의전투 PHP의 세계에 오신 것을 환영합니다 ^o^";
+3 -2
View File
@@ -39,8 +39,9 @@ function loadScenarios(){
$.each(result.scenario, function(idx, value){ $.each(result.scenario, function(idx, value){
var title = value.title || "-"; var title = value.title || "-";
var titles = title.split(/【|[0-9]*】/); var pat = /【(.*?)[0-9\-_\.a-zA-Z]*】/;
var category = titles.length>2?titles[1]:'-'; var category = pat.exec(title);
category = category?category[1]:'-';
value.title = title; value.title = title;
value.category = category; value.category = category;
+59 -46
View File
@@ -1,7 +1,5 @@
jQuery(function($){ jQuery(function($){
var totalAbil = 150;
var $leader = $('#leader'); var $leader = $('#leader');
var $power = $('#power'); var $power = $('#power');
var $intel = $('#intel'); var $intel = $('#intel');
@@ -12,16 +10,16 @@ jQuery(function($){
var intel = Math.random()*65 + 10; var intel = Math.random()*65 + 10;
var rate = leader + power + intel; var rate = leader + power + intel;
leader = Math.floor(leader / rate * totalAbil); leader = Math.floor(leader / rate * defaultStatTotal);
power = Math.floor(power / rate * totalAbil); power = Math.floor(power / rate * defaultStatTotal);
intel = Math.floor(intel / rate * totalAbil); intel = Math.floor(intel / rate * defaultStatTotal);
while(leader+power+intel < totalAbil){ while(leader+power+intel < defaultStatTotal){
leader+=1; leader+=1;
} }
if(leader > 75 || power > 75 || intel > 75 || leader < 10 || power < 10 || intel < 10){ if(leader > defaultStatMax || power > defaultStatMax || intel > defaultStatMax || leader < defaultStatMin || power < defaultStatMin || intel < defaultStatMin){
return abilityRand(); return abilityRand();
} }
@@ -37,27 +35,32 @@ jQuery(function($){
var intel = Math.random() * 1; var intel = Math.random() * 1;
var rate = leader + power + intel; var rate = leader + power + intel;
leader = Math.floor(leader / rate * totalAbil); leader = Math.floor(leader / rate * defaultStatTotal);
power = Math.floor(power / rate * totalAbil); power = Math.floor(power / rate * defaultStatTotal);
intel = Math.floor(intel / rate * totalAbil); intel = Math.floor(intel / rate * defaultStatTotal);
while(leader+power+intel < totalAbil){ while(leader+power+intel < defaultStatTotal){
power+=1; power+=1;
} }
if(intel < 10){ if(intel < defaultStatMin){
leader -= 10 - intel; leader -= defaultStatMin - intel;
intel = 10; intel = defaultStatMin;
} }
if(leader > 75){ if(leader > defaultStatMax){
power += leader - 75; power += leader - defaultStatMax;
leader = 75; leader = defaultStatMax;
} }
if(power > 75){ if(power > defaultStatMax){
leader += power - 75; leader += power - defaultStatMax;
power = 75; power = defaultStatMax;
}
if(leader > defaultStatMax){
intel += leader - defaultStatMax;
leader = defaultStatMax;
} }
$leader.val(leader); $leader.val(leader);
@@ -71,27 +74,32 @@ jQuery(function($){
var intel = Math.random() * 6; var intel = Math.random() * 6;
var rate = leader + power + intel; var rate = leader + power + intel;
leader = Math.floor(leader / rate * totalAbil); leader = Math.floor(leader / rate * defaultStatTotal);
power = Math.floor(power / rate * totalAbil); power = Math.floor(power / rate * defaultStatTotal);
intel = Math.floor(intel / rate * totalAbil); intel = Math.floor(intel / rate * defaultStatTotal);
while(leader+power+intel < totalAbil){ while(leader+power+intel < defaultStatTotal){
intel+=1; intel+=1;
} }
if(power < 10){ if(power < defaultStatMin){
leader -= 10 - power; leader -= defaultStatMin - power;
power = 10; power = defaultStatMin;
} }
if(leader > 75){ if(leader > defaultStatMax){
intel += leader - 75; intel += leader - defaultStatMax;
leader = 75; leader = defaultStatMax;
} }
if(intel > 75){ if(intel > defaultStatMax){
leader += intel - 75; leader += intel - defaultStatMax;
intel = 75; intel = defaultStatMax;
}
if(leader > defaultStatMax){
power += leader - defaultStatMax;
leader = defaultStatMax;
} }
$leader.val(leader); $leader.val(leader);
@@ -105,27 +113,32 @@ jQuery(function($){
var intel = Math.random() * 6; var intel = Math.random() * 6;
var rate = leader + power + intel; var rate = leader + power + intel;
leader = Math.floor(leader / rate * totalAbil); leader = Math.floor(leader / rate * defaultStatTotal);
power = Math.floor(power / rate * totalAbil); power = Math.floor(power / rate * defaultStatTotal);
intel = Math.floor(intel / rate * totalAbil); intel = Math.floor(intel / rate * defaultStatTotal);
while(leader+power+intel < totalAbil){ while(leader+power+intel < defaultStatTotal){
intel+=1; intel+=1;
} }
if(leader < 10){ if(leader < defaultStatMin){
power -= 10 - leader; power -= defaultStatMin - leader;
leader = 10; leader = defaultStatMin;
} }
if(power > 75){ if(power > defaultStatMax){
intel += power - 75; intel += power - defaultStatMax;
power = 75; power = defaultStatMax;
} }
if(intel > 75){ if(intel > defaultStatMax){
power += intel - 75; power += intel - defaultStatMax;
intel = 75; intel = defaultStatMax;
}
if(power > defaultStatMax){
leader += power - defaultStatMax;
power = defaultStatMax;
} }
$leader.val(leader); $leader.val(leader);
+14
View File
@@ -134,7 +134,21 @@ function redrawMsg(deferred){
$('#last_contact').val(contactTarget).html(generalList[contactTarget].textName).show(); $('#last_contact').val(contactTarget).html(generalList[contactTarget].textName).show();
} }
msg.nationID = obj.nationID;
msg.generalName = obj.generalName;
msg.msgType = msgType; msg.msgType = msgType;
if(msg.src.nation_id == msg.dest.nation_id){
msg.nationType = 'local';
}
else if(msg.nationID == msg.src.nation_id){
msg.nationType = 'src';
}
else{
msg.nationType = 'dest';
}
msg.defaultIcon = pathConfig.sharedIcon+'/default.jpg'; msg.defaultIcon = pathConfig.sharedIcon+'/default.jpg';
var msgHtml = TemplateEngine(messageTemplate, msg); var msgHtml = TemplateEngine(messageTemplate, msg);
+18 -7
View File
@@ -1,10 +1,10 @@
<div <div
class="msg_plate msg_plate_<%msgType%>" class="msg_plate msg_plate_<%msgType%> msg_plate_<%nationType%>""
id="msg_<%id%>" id="msg_<%id%>"
data-id="<%id%>" data-id="<%id%>"
> >
<div class="msg_icon"> <div class="msg_icon">
<%if(src.icon) { %> <%if(src.icon){ %>
<img width='64' height='64' src="<%encodeURI(src.icon)%>"> <img width='64' height='64' src="<%encodeURI(src.icon)%>">
<%} else {%> <%} else {%>
<img width='64' height='64' src="<%encodeURI(defaultIcon)%>"> <img width='64' height='64' src="<%encodeURI(defaultIcon)%>">
@@ -13,15 +13,26 @@
<div class="msg_body"> <div class="msg_body">
<div class="msg_header"> <div class="msg_header">
<%if(msgType == 'private') {%> <%if(msgType == 'private') {%>
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%>:<%e(src.nation)%></span <%if(src.name == generalName){%>
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"></span
><span class="msg_from_to"></span ><span class="msg_from_to"></span
><span class="msg_target msg_<%dest.colorType%>" style="background-color:<%dest.color%>;"><%e(dest.name)%>:<%e(dest.nation)%></span> ><span class="msg_target msg_<%dest.colorType%>" style="background-color:<%dest.color%>;"><%e(dest.name)%>:<%e(dest.nation)%></span>
<%} else if(msgType == 'national' && src.nation_id == dest.nation_id){%> <%}else{%>
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%>:<%e(src.nation)%></span>
<%} else if(msgType == 'national' || msgType == 'diplomacy'){%>
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%>:<%e(src.nation)%></span <span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%>:<%e(src.nation)%></span
><span class="msg_from_to"></span ><span class="msg_from_to"></span
><span class="msg_target msg_<%dest.colorType%>" style="background-color:<%dest.color%>;"></span>
<%}%>
<%} else if(msgType == 'national' && src.nation_id == dest.nation_id){%>
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%></span>
<%} else if(msgType == 'national' || msgType == 'diplomacy'){%>
<%if(src.nation_id == nationID){%>
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%></span
><span class="msg_from_to"></span
><span class="msg_target msg_<%dest.colorType%>" style="background-color:<%dest.color%>;"><%e(dest.nation)%></span> ><span class="msg_target msg_<%dest.colorType%>" style="background-color:<%dest.color%>;"><%e(dest.nation)%></span>
<%}else{%>
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%>:<%e(src.nation)%></span
><span class="msg_from_to"></span>
<%}%>
<%} else {%> <%} else {%>
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%>:<%e(src.nation)%></span> <span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%>:<%e(src.nation)%></span>
<%} %> <%} %>
+3 -5
View File
@@ -7,11 +7,9 @@ $loader->addPsr4('sammo\\', __DIR__.'/sammo', true);
$loader->addClassMap((function () { $loader->addClassMap((function () {
$d_settingMap = []; $d_settingMap = [];
foreach (glob(__dir__.'/d_setting/*.php') as $filepath) { foreach (glob(__dir__.'/d_setting/*.orig.php') as $filepath) {
$filepath = str_replace('.orig.php', '.php', $filepath);
$filename = basename($filepath); $filename = basename($filepath);
if (Util::ends_with($filename, '.orig.php')) {
continue;
}
$classname = explode('.', $filename)[0]; $classname = explode('.', $filename)[0];
$d_settingMap['sammo\\'.$classname] = $filepath; $d_settingMap['sammo\\'.$classname] = $filepath;
}; };
@@ -39,7 +37,7 @@ function Error($message='', $url="")
} }
file_put_contents(__dir__."/logs/_db_bug.txt", "{\"url\":\"$url\",\"msg\":\"$message\"}\n", FILE_APPEND); file_put_contents(__dir__."/logs/_db_bug.txt", "{\"url\":\"$url\",\"msg\":\"$message\"}\n", FILE_APPEND);
$templates = new \League\Plates\Engine('templates'); $templates = new \League\Plates\Engine(__dir__.'/templates');
ob_get_flush(); ob_get_flush();
WebUtil::setHeaderNoCache(); WebUtil::setHeaderNoCache();
+107 -68
View File
@@ -9,14 +9,14 @@ function processWar($general, $city) {
$gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor = KVStorage::getStorage($db, 'game_env');
$connect=$db->get(); $connect=$db->get();
$templates = new \League\Plates\Engine('templates'); $templates = new \League\Plates\Engine(__dir__.'/templates');
$date = substr($general['turntime'],11,5); $date = substr($general['turntime'],11,5);
$game_env = $gameStor->getAll(); $admin = $gameStor->getAll();
$year = $game_env['year']; $year = $admin['year'];
$month = $game_env['month']; $month = $admin['month'];
$log = []; $log = [];
$batlog = []; $batlog = [];
@@ -45,7 +45,8 @@ function processWar($general, $city) {
$genAtmos += 3; $genAtmos += 3;
$query = "update general set item=0 where no='{$general['no']}'"; $query = "update general set item=0 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$log[] = "<C>●</><C>".getItemName($general['item'])."</>(을)를 사용!"; $josaUl = JosaUtil::pick($general['item'], '을');
$log[] = "<C>●</><C>".getItemName($general['item'])."</>{$josaUl} 사용!";
$general['item'] = 0; $general['item'] = 0;
} elseif($general['item'] >= 14 && $general['item'] <= 16) { } elseif($general['item'] >= 14 && $general['item'] <= 16) {
//의적주, 두강주, 보령압주 사용 //의적주, 두강주, 보령압주 사용
@@ -60,7 +61,8 @@ function processWar($general, $city) {
$genTrain += 3; $genTrain += 3;
$query = "update general set item=0 where no='{$general['no']}'"; $query = "update general set item=0 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$log[] = "<C>●</><C>".getItemName($general['item'])."</>(을)를 사용!"; $josaUl = JosaUtil::pick($general['item'], '을');
$log[] = "<C>●</><C>".getItemName($general['item'])."</>{$josaUl} 사용!";
$general['item'] = 0; $general['item'] = 0;
} elseif($general['item'] >= 12 && $general['item'] <= 13) { } elseif($general['item'] >= 12 && $general['item'] <= 13) {
//과실주, 이강주 사용 //과실주, 이강주 사용
@@ -97,12 +99,12 @@ function processWar($general, $city) {
$query = "select no from general where nation='{$general['nation']}'"; $query = "select no from general where nation='{$general['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($result); $gencount = MYDB_num_rows($result);
if($gencount < 10) $gencount = 10; if($gencount < GameConst::$initialNationGenLimit) $gencount = GameConst::$initialNationGenLimit;
//장수수 구함 //장수수 구함
$query = "select no from general where nation='{$destnation['nation']}'"; $query = "select no from general where nation='{$destnation['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$destgencount = MYDB_num_rows($result); $destgencount = MYDB_num_rows($result);
if($destgencount < 10) $destgencount = 10; if($destgencount < GameConst::$initialNationGenLimit) $destgencount = GameConst::$initialNationGenLimit;
$genAtmosBonus = 0; $genTrainBonus = 0; $genAtmosBonus = 0; $genTrainBonus = 0;
$oppAtmosBonus = 0; $oppTrainBonus = 0; $oppAtmosBonus = 0; $oppTrainBonus = 0;
@@ -115,8 +117,10 @@ function processWar($general, $city) {
if($originCity['level'] == 2) { $genAtmosBonus += 5; } // 출병도시가 진이면 공격자 공격보정 if($originCity['level'] == 2) { $genAtmosBonus += 5; } // 출병도시가 진이면 공격자 공격보정
if($city['level'] == 3) { $oppTrainBonus += 5; } // 방어도시가 관이면 방어자 방어보정 if($city['level'] == 3) { $oppTrainBonus += 5; } // 방어도시가 관이면 방어자 방어보정
$alllog[] = "<C>●</>{$month}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>(이)가 <G><b>{$city['name']}</b></>(으)로 진격합니다."; $josaRo = JosaUtil::pick($city['name'], '로');
$log[] = "<C>●</>{$month}월:<G><b>{$city['name']}</b></>(으)로 <M>진격</>합니다. <1>$date</>"; $josaYi = JosaUtil::pick($general['name'], '이');
$alllog[] = "<C>●</>{$month}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <G><b>{$city['name']}</b></>{$josaRo} 진격합니다.";
$log[] = "<C>●</>{$month}월:<G><b>{$city['name']}</b></>{$josaRo} <M>진격</>합니다. <1>$date</>";
// 목표 도시내에 목표 국가 소속 장수 중, 병사가 있는 능력치합+병사수 순으로 훈,사 60, 80 이상 // 목표 도시내에 목표 국가 소속 장수 중, 병사가 있는 능력치합+병사수 순으로 훈,사 60, 80 이상
$query = "select no,name,turntime,personal,special2,crew,crewtype,atmos,train,intel,intel2,book,power,power2,weap,injury,leader,leader2,horse,item,explevel,level,rice,leader+power+intel+weap+horse+book+crew/100 as sum,dex0,dex10,dex20,dex30,dex40 from general where city='{$city['city']}' and nation='{$city['nation']}' and nation!=0 and crew>'0' and rice>round(crew/100) and ((train>=60 and atmos>=60 and mode=1) or (train>=80 and atmos>=80 and mode=2)) order by sum desc"; $query = "select no,name,turntime,personal,special2,crew,crewtype,atmos,train,intel,intel2,book,power,power2,weap,injury,leader,leader2,horse,item,explevel,level,rice,leader+power+intel+weap+horse+book+crew/100 as sum,dex0,dex10,dex20,dex30,dex40 from general where city='{$city['city']}' and nation='{$city['nation']}' and nation!=0 and crew>'0' and rice>round(crew/100) and ((train>=60 and atmos>=60 and mode=1) or (train>=80 and atmos>=80 and mode=2)) order by sum desc";
@@ -136,7 +140,9 @@ function processWar($general, $city) {
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$alllog[] = "<C>●</>{$month}월:병량 부족으로 <G><b>{$city['name']}</b></>의 수비병들이 <R>패퇴</>합니다."; $alllog[] = "<C>●</>{$month}월:병량 부족으로 <G><b>{$city['name']}</b></>의 수비병들이 <R>패퇴</>합니다.";
$history[] = "<C>●</>{$year}{$month}월:<M><b>【패퇴】</b></><D><b>{$destnation['name']}</b></>(이)가 병량 부족으로 <G><b>{$city['name']}</b></>(을)를 뺏기고 말았습니다."; $josaUl = JosaUtil::pick($city['name'], '을');
$josaYi = JosaUtil::pick($general['name'], '이');
$history[] = "<C>●</>{$year}{$month}월:<M><b>【패퇴】</b></><D><b>{$destnation['name']}</b></>{$josaYi} 병량 부족으로 <G><b>{$city['name']}</b></>{$josaUl} 뺏기고 말았습니다.";
pushGenLog($general, $log); pushGenLog($general, $log);
pushGeneralPublicRecord($alllog, $year, $month); pushGeneralPublicRecord($alllog, $year, $month);
pushWorldHistory($history); pushWorldHistory($history);
@@ -154,12 +160,14 @@ function processWar($general, $city) {
$city = addConflict($city, $general['nation'], 1);//NOTE: 이 경우 두 국가가 분쟁 중인 경우에는 병량패퇴의 이득이 없다. $city = addConflict($city, $general['nation'], 1);//NOTE: 이 경우 두 국가가 분쟁 중인 경우에는 병량패퇴의 이득이 없다.
ConquerCity($game_env, $general, $city, $nation, $destnation); ConquerCity($admin, $general, $city, $nation, $destnation);
break; break;
// 장수가 없어서 도시 공격 // 장수가 없어서 도시 공격
} elseif($opposecount == 0) { } elseif($opposecount == 0) {
$alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>(이)가 ".GameUnitConst::byId($general['crewtype'])->name."(으)로 성벽을 공격합니다."; $josaRo = JosaUtil::pick(GameUnitConst::byId($general['crewtype'])->name, '로');
$log[] = "<C>●</>".GameUnitConst::byId($general['crewtype'])->name."(으)로 성벽을 <M>공격</>합니다."; $josaYi = JosaUtil::pick($general['name'], '이');
$alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>{$josaYi} ".GameUnitConst::byId($general['crewtype'])->name."{$josaRo} 성벽을 공격합니다.";
$log[] = "<C>●</>".GameUnitConst::byId($general['crewtype'])->name."{$josaRo} 성벽을 <M>공격</>합니다.";
$general['train'] += 1; //훈련 상승 $general['train'] += 1; //훈련 상승
if($general['train'] > GameConst::$maxTrainByWar) { $general['train'] = GameConst::$maxTrainByWar; } if($general['train'] > GameConst::$maxTrainByWar) { $general['train'] = GameConst::$maxTrainByWar; }
@@ -189,13 +197,13 @@ function processWar($general, $city) {
if($myCrew <= 0) { $myCrew = rand() % 90 + 10; } if($myCrew <= 0) { $myCrew = rand() % 90 + 10; }
//훈련 사기따라 //훈련 사기따라
$myCrew = getCrew($myCrew, $game_env['city_rate']+$oppAtmosBonus, CharTrain($general['train']+$genTrain+$genTrainBonus, $general['personal'])); $myCrew = getCrew($myCrew, $admin['city_rate']+$oppAtmosBonus, CharTrain($general['train']+$genTrain+$genTrainBonus, $general['personal']));
$cityCrew = getCrew($cityCrew, CharAtmos($general['atmos']+$genAtmos+$genAtmosBonus, $general['personal']), $game_env['city_rate']+$oppTrainBonus); $cityCrew = getCrew($cityCrew, CharAtmos($general['atmos']+$genAtmos+$genAtmosBonus, $general['personal']), $admin['city_rate']+$oppTrainBonus);
//숙련도 따라 //숙련도 따라
$genDexAtt = getGenDex($general, $general['crewtype']); $genDexAtt = getGenDex($general, $general['crewtype']);
$genDexDef = getGenDex($general, 40); $genDexDef = getGenDex($general, 40);
$cityCrew *= getDexLog($genDexAtt, ($game_env['city_rate']-60)*7200); $cityCrew *= getDexLog($genDexAtt, ($admin['city_rate']-60)*7200);
$myCrew *= getDexLog(($game_env['city_rate']-60)*7200, $genDexDef); $myCrew *= getDexLog(($admin['city_rate']-60)*7200, $genDexDef);
$avoid = 1; $avoid = 1;
// 병종간 특성 // 병종간 특성
@@ -419,7 +427,7 @@ function processWar($general, $city) {
'year'=>$year, 'year'=>$year,
'month'=>$month, 'month'=>$month,
'war_type'=>'siege', 'war_type'=>'siege',
'war_type_str'=>'', 'war_type_str'=>'',
'me' => $render_attacker, 'me' => $render_attacker,
'you' => $render_defender, 'you' => $render_defender,
])); ]));
@@ -432,7 +440,7 @@ function processWar($general, $city) {
// 도시쌀 소모 계산 // 도시쌀 소모 계산
$opexp = Util::round($opexp / 50 * 0.8); $opexp = Util::round($opexp / 50 * 0.8);
$rice = Util::round($opexp * 5 * getCrewtypeRice(0, 0) * ($game_env['city_rate']/100 - 0.2)); $rice = Util::round($opexp * 5 * getCrewtypeRice(0, 0) * ($admin['city_rate']/100 - 0.2));
$destnation['rice'] -= $rice; $destnation['rice'] -= $rice;
if($destnation['rice'] < 0) { $destnation['rice'] = 0; } if($destnation['rice'] < 0) { $destnation['rice'] = 0; }
$query = "update nation set rice='{$destnation['rice']}' where nation='{$destnation['nation']}'"; $query = "update nation set rice='{$destnation['rice']}' where nation='{$destnation['nation']}'";
@@ -463,7 +471,7 @@ function processWar($general, $city) {
if($nation['type'] == 3 || $nation['type'] == 13) { $num *= 1.1; } if($nation['type'] == 3 || $nation['type'] == 13) { $num *= 1.1; }
if($nation['type'] == 5 || $nation['type'] == 6 || $nation['type'] == 7 || $nation['type'] == 8 || $nation['type'] == 12) { $num *= 0.9; } if($nation['type'] == 5 || $nation['type'] == 6 || $nation['type'] == 7 || $nation['type'] == 8 || $nation['type'] == 12) { $num *= 0.9; }
// 부드러운 기술 제한 // 부드러운 기술 제한
if(TechLimit($game_env['startyear'], $year, $nation['tech'])) { $num = intdiv($num, 4); } if(TechLimit($admin['startyear'], $year, $nation['tech'])) { $num = intdiv($num, 4); }
$query = "update nation set totaltech=totaltech+'$num',tech=totaltech/'$gencount' where nation='{$nation['nation']}'"; $query = "update nation set totaltech=totaltech+'$num',tech=totaltech/'$gencount' where nation='{$nation['nation']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
// 죽은수 기술로 누적 // 죽은수 기술로 누적
@@ -476,7 +484,7 @@ function processWar($general, $city) {
$num *= 0.9; $num *= 0.9;
} }
// 부드러운 기술 제한 // 부드러운 기술 제한
if(TechLimit($game_env['startyear'], $year, $destnation['tech'])) { $num = intdiv($num, 4); } if(TechLimit($admin['startyear'], $year, $destnation['tech'])) { $num = intdiv($num, 4); }
$query = "update nation set totaltech=totaltech+'$num',tech=totaltech/'$destgencount' where nation='{$destnation['nation']}'"; $query = "update nation set totaltech=totaltech+'$num',tech=totaltech/'$destgencount' where nation='{$destnation['nation']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
//양국 평균 기술가격 //양국 평균 기술가격
@@ -516,18 +524,20 @@ function processWar($general, $city) {
$alllog = []; $alllog = [];
$history = []; $history = [];
ConquerCity($game_env, $general, $city, $nation, $destnation); ConquerCity($admin, $general, $city, $nation, $destnation);
break; break;
// 공격 장수 병사 소진시 실패 처리 // 공격 장수 병사 소진시 실패 처리
} elseif($general['crew'] <= 0) { } elseif($general['crew'] <= 0) {
$alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(이)가 퇴각했습니다."; $josaYi = JosaUtil::pick(GameUnitConst::byId($general['crewtype'])->name, '이');
$alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."{$josaYi} 퇴각했습니다.";
$log[] = "<C>●</>퇴각했습니다."; $log[] = "<C>●</>퇴각했습니다.";
$query = "update general set deathnum=deathnum+1 where no='{$general['no']}'"; $query = "update general set deathnum=deathnum+1 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
break; break;
} elseif($myRice <= Util::round($general['crew']/100)) { } elseif($myRice <= Util::round($general['crew']/100)) {
$alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(이)가 퇴각했습니다."; $josaYi = JosaUtil::pick(GameUnitConst::byId($general['crewtype'])->name, '이');
$alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."{$josaYi} 퇴각했습니다.";
$log[] = "<C>●</>군량 부족으로 퇴각합니다."; $log[] = "<C>●</>군량 부족으로 퇴각합니다.";
$query = "update general set deathnum=deathnum+1 where no='{$general['no']}'"; $query = "update general set deathnum=deathnum+1 where no='{$general['no']}'";
@@ -537,9 +547,14 @@ function processWar($general, $city) {
// 장수 대결 // 장수 대결
} else { } else {
$oppose = MYDB_fetch_array($result); $oppose = MYDB_fetch_array($result);
$alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(와)과 <Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."(이)가 대결합니다."; $josaYi = JosaUtil::pick(GameUnitConst::byId($oppose['crewtype'])->name, '이');
$log[] = "<C>●</>".GameUnitConst::byId($general['crewtype'])->name."(으)로 <Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."(을)를 <M>공격</>합니다."; $josaWa = JosaUtil::pick(GameUnitConst::byId($general['crewtype'])->name, '와');
$opplog[] = "<C>●</>".GameUnitConst::byId($oppose['crewtype'])->name."(으)로 <Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(을)를 <M>수비</>합니다."; $alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."{$josaWa} <Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."{$josaYi} 대결합니다.";
$josaUl = JosaUtil::pick(GameUnitConst::byId($oppose['crewtype'])->name, '을');
$josaRo = JosaUtil::pick(GameUnitConst::byId($general['crewtype'])->name, '로');
$log[] = "<C>●</>".GameUnitConst::byId($general['crewtype'])->name."{$josaRo} <Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."{$josaUl} <M>공격</>합니다.";
$josaUl = JosaUtil::pick(GameUnitConst::byId($general['crewtype'])->name, '을');
$opplog[] = "<C>●</>".GameUnitConst::byId($oppose['crewtype'])->name."{$josaRo} <Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."{$josaUl} <M>수비</>합니다.";
$oppAtmos = 0; $oppAtmos = 0;
if($oppose['item'] == 3) { if($oppose['item'] == 3) {
@@ -547,7 +562,8 @@ function processWar($general, $city) {
$oppAtmos += 3; $oppAtmos += 3;
$query = "update general set item=0 where no='{$oppose['no']}'"; $query = "update general set item=0 where no='{$oppose['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$opplog[] = "<C>●</><C>".getItemName($oppose['item'])."</>(을)를 사용!"; $josaUl = JosaUtil::pick($oppose['item'], '을');
$opplog[] = "<C>●</><C>".getItemName($oppose['item'])."</>{$josaUl} 사용!";
$oppose['item'] = 0; $oppose['item'] = 0;
} elseif($oppose['item'] >= 14 && $oppose['item'] <= 16) { } elseif($oppose['item'] >= 14 && $oppose['item'] <= 16) {
//의적주, 두강주, 보령압주 사용 //의적주, 두강주, 보령압주 사용
@@ -562,7 +578,8 @@ function processWar($general, $city) {
$oppTrain += 3; $oppTrain += 3;
$query = "update general set item=0 where no='{$oppose['no']}'"; $query = "update general set item=0 where no='{$oppose['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$opplog[] = "<C>●</><C>".getItemName($oppose['item'])."</>(을)를 사용!"; $josaUl = JosaUtil::pick($oppose['item'], '을');
$opplog[] = "<C>●</><C>".getItemName($oppose['item'])."</>{$josaUl} 사용!";
$oppose['item'] = 0; $oppose['item'] = 0;
} elseif($oppose['item'] >= 12 && $oppose['item'] <= 13) { } elseif($oppose['item'] >= 12 && $oppose['item'] <= 13) {
//과실주, 이강주 사용 //과실주, 이강주 사용
@@ -589,10 +606,12 @@ function processWar($general, $city) {
if($general['item'] == 2) { if($general['item'] == 2) {
$query = "update general set item=0 where no='{$general['no']}'"; $query = "update general set item=0 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$log[] = "<C>●</><C>".getItemName($general['item'])."</>(을)를 사용!"; $josaUl = JosaUtil::pick($general['item'], '을');
$log[] = "<C>●</><C>".getItemName($general['item'])."</>{$josaUl} 사용!";
$general['item'] = 0; $general['item'] = 0;
} elseif($general['weap'] == 10 || $general['weap'] == 14 || $general['weap'] == 18 || $general['weap'] == 22) { } elseif($general['weap'] == 10 || $general['weap'] == 14 || $general['weap'] == 18 || $general['weap'] == 22) {
// $log[] = "<C>●</><C>".getWeapName($general['weap'])."</>(을)를 사용!"; // $josaUl = JosaUtil::pick($general['weap'], '을');
// $log[] = "<C>●</><C>".getWeapName($general['weap'])."</>{$josaUl} 사용!";
} }
$log[] = "<C>●</>상대를 <C>저격</>했다!"; $log[] = "<C>●</>상대를 <C>저격</>했다!";
$batlog[] = "<C>●</>상대를 <C>저격</>했다!"; $batlog[] = "<C>●</>상대를 <C>저격</>했다!";
@@ -604,7 +623,8 @@ function processWar($general, $city) {
} else if($general['item'] == 2 && $ratio <= 40) { } else if($general['item'] == 2 && $ratio <= 40) {
$query = "update general set item=0 where no='{$general['no']}'"; $query = "update general set item=0 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$batlog[] = "<C>●</><C>".getItemName($general['item'])."</>(이)가 빗나갑니다!"; $josaYi = JosaUtil::pick($general['item'], '이');
$batlog[] = "<C>●</><C>".getItemName($general['item'])."</>{$josaYi} 빗나갑니다!";
$general['item'] = 0; $general['item'] = 0;
} }
$ratio = rand() % 100; $ratio = rand() % 100;
@@ -614,10 +634,12 @@ function processWar($general, $city) {
if($oppose['item'] == 2) { if($oppose['item'] == 2) {
$query = "update general set item=0 where no='{$oppose['no']}'"; $query = "update general set item=0 where no='{$oppose['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$opplog[] = "<C>●</><C>".getItemName($oppose['item'])."</>(을)를 사용!"; $josaUl = JosaUtil::pick($oppose['item'], '을');
$opplog[] = "<C>●</><C>".getItemName($oppose['item'])."</>{$josaUl} 사용!";
$oppose['item'] = 0; $oppose['item'] = 0;
} elseif($oppose['weap'] == 10 || $oppose['weap'] == 14 || $oppose['weap'] == 18 || $oppose['weap'] == 22) { } elseif($oppose['weap'] == 10 || $oppose['weap'] == 14 || $oppose['weap'] == 18 || $oppose['weap'] == 22) {
// $opplog[] = "<C>●</><C>".getWeapName($oppose['weap'])."</>(을)를 사용!"; // $josaUl = JosaUtil::pick($oppose['weap'], '을');
// $opplog[] = "<C>●</><C>".getWeapName($oppose['weap'])."</>{$josaUl} 사용!";
} }
$oppbatlog[] = "<C>●</>상대를 <C>저격</>했다!"; $oppbatlog[] = "<C>●</>상대를 <C>저격</>했다!";
$opplog[] = "<C>●</>상대를 <C>저격</>했다!"; $opplog[] = "<C>●</>상대를 <C>저격</>했다!";
@@ -629,7 +651,8 @@ function processWar($general, $city) {
} else if($oppose['item'] == 2 && $ratio <= 40) { } else if($oppose['item'] == 2 && $ratio <= 40) {
$query = "update general set item=0 where no='{$oppose['no']}'"; $query = "update general set item=0 where no='{$oppose['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$oppbatlog[] = "<C>●</><C>".getItemName($oppose['item'])."</>(이)가 빗나갑니다!"; $josaYi = JosaUtil::pick($oppose['item'], '이');
$oppbatlog[] = "<C>●</><C>".getItemName($oppose['item'])."</>{$josaYi} 빗나갑니다!";
$oppose['item'] = 0; $oppose['item'] = 0;
} }
@@ -1295,7 +1318,7 @@ function processWar($general, $city) {
'year'=>$year, 'year'=>$year,
'month'=>$month, 'month'=>$month,
'war_type'=>'attack', 'war_type'=>'attack',
'war_type_str'=>'', 'war_type_str'=>'',
'me' => $render_attacker, 'me' => $render_attacker,
'you' => $render_defender, 'you' => $render_defender,
])); ]));
@@ -1304,7 +1327,7 @@ function processWar($general, $city) {
'year'=>$year, 'year'=>$year,
'month'=>$month, 'month'=>$month,
'war_type'=>'defense', 'war_type'=>'defense',
'war_type_str'=>'', 'war_type_str'=>'',
'me' => $render_defender, 'me' => $render_defender,
'you' => $render_attacker, 'you' => $render_attacker,
])); ]));
@@ -1338,7 +1361,7 @@ function processWar($general, $city) {
if($nation['type'] == 3 || $nation['type'] == 13) { $num *= 1.1; } if($nation['type'] == 3 || $nation['type'] == 13) { $num *= 1.1; }
if($nation['type'] == 5 || $nation['type'] == 6 || $nation['type'] == 7 || $nation['type'] == 8 || $nation['type'] == 12) { $num *= 0.9; } if($nation['type'] == 5 || $nation['type'] == 6 || $nation['type'] == 7 || $nation['type'] == 8 || $nation['type'] == 12) { $num *= 0.9; }
// 부드러운 기술 제한 // 부드러운 기술 제한
if(TechLimit($game_env['startyear'], $year, $nation['tech'])) { $num = intdiv($num, 4); } if(TechLimit($admin['startyear'], $year, $nation['tech'])) { $num = intdiv($num, 4); }
$query = "update nation set totaltech=totaltech+'$num',tech=totaltech/'$gencount' where nation='{$nation['nation']}'"; $query = "update nation set totaltech=totaltech+'$num',tech=totaltech/'$gencount' where nation='{$nation['nation']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -1361,7 +1384,7 @@ function processWar($general, $city) {
if($destnation['type'] == 3 || $destnation['type'] == 13) { $num *= 1.1; } if($destnation['type'] == 3 || $destnation['type'] == 13) { $num *= 1.1; }
if($destnation['type'] == 5 || $destnation['type'] == 6 || $destnation['type'] == 7 || $destnation['type'] == 8 || $destnation['type'] == 12) { $num *= 0.9; } if($destnation['type'] == 5 || $destnation['type'] == 6 || $destnation['type'] == 7 || $destnation['type'] == 8 || $destnation['type'] == 12) { $num *= 0.9; }
// 부드러운 기술 제한 // 부드러운 기술 제한
if(TechLimit($game_env['startyear'], $year, $destnation['tech'])) { $num = intdiv($num, 4); } if(TechLimit($admin['startyear'], $year, $destnation['tech'])) { $num = intdiv($num, 4); }
$query = "update nation set totaltech=totaltech+'$num',tech=totaltech/'$destgencount' where nation='{$destnation['nation']}'"; $query = "update nation set totaltech=totaltech+'$num',tech=totaltech/'$destgencount' where nation='{$destnation['nation']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
//양국 평균 기술가격 //양국 평균 기술가격
@@ -1385,12 +1408,14 @@ function processWar($general, $city) {
// 상대 병사 소진이나 쌀 소진시 다음 장수 // 상대 병사 소진이나 쌀 소진시 다음 장수
if($oppose['crew'] <= 0 || ($opRice <= Util::round($oppose['crew']/100) && $general['crew'] > 0)) { if($oppose['crew'] <= 0 || ($opRice <= Util::round($oppose['crew']/100) && $general['crew'] > 0)) {
if($opRice <= Util::round($oppose['crew']/100)) { if($opRice <= Util::round($oppose['crew']/100)) {
$alllog[] = "<C>●</>{$month}월:<Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."(이)가 패퇴했습니다."; $josaYi = JosaUtil::pick(GameUnitConst::byId($oppose['crewtype'])->name, '이');
$log[] = "<C>●</><Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."(이)가 패퇴했습니다."; $alllog[] = "<C>●</>{$month}월:<Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."{$josaYi} 패퇴했습니다.";
$log[] = "<C>●</><Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."{$josaYi} 패퇴했습니다.";
$opplog[] = "<C>●</>군량 부족으로 패퇴합니다."; $opplog[] = "<C>●</>군량 부족으로 패퇴합니다.";
} else { } else {
$alllog[] = "<C>●</>{$month}월:<Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."(이)가 전멸했습니다."; $josaYi = JosaUtil::pick(GameUnitConst::byId($oppose['crewtype'])->name, '이');
$log[] = "<C>●</><Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."(이)가 전멸했습니다."; $alllog[] = "<C>●</>{$month}월:<Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."{$josaYi} 전멸했습니다.";
$log[] = "<C>●</><Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."{$josaYi} 전멸했습니다.";
$opplog[] = "<C>●</>전멸했습니다."; $opplog[] = "<C>●</>전멸했습니다.";
} }
$opposecount--; $opposecount--;
@@ -1424,13 +1449,15 @@ function processWar($general, $city) {
// 공격 장수 병사 소진이나 쌀 소진시 실패 처리 // 공격 장수 병사 소진이나 쌀 소진시 실패 처리
} elseif($general['crew'] <= 0 || $myRice <= Util::round($general['crew']/100)) { } elseif($general['crew'] <= 0 || $myRice <= Util::round($general['crew']/100)) {
if($myRice <= Util::round($general['crew']/100)) { if($myRice <= Util::round($general['crew']/100)) {
$alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(이)가 퇴각했습니다."; $josaYi = JosaUtil::pick(GameUnitConst::byId($general['crewtype'])->name, '이');
$alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."{$josaYi} 퇴각했습니다.";
$log[] = "<C>●</>군량 부족으로 퇴각합니다."; $log[] = "<C>●</>군량 부족으로 퇴각합니다.";
$opplog[] = "<C>●</><Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(이)가 퇴각했습니다."; $opplog[] = "<C>●</><Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."{$josaYi} 퇴각했습니다.";
} else { } else {
$alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(이)가 퇴각했습니다."; $josaYi = JosaUtil::pick(GameUnitConst::byId($general['crewtype'])->name, '이');
$alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."{$josaYi} 퇴각했습니다.";
$log[] = "<C>●</>퇴각했습니다."; $log[] = "<C>●</>퇴각했습니다.";
$opplog[] = "<C>●</><Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(이)가 퇴각했습니다."; $opplog[] = "<C>●</><Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."{$josaYi} 퇴각했습니다.";
} }
// 경험치 상승 // 경험치 상승
@@ -1466,7 +1493,8 @@ function processWar($general, $city) {
unset($opplog); unset($opplog);
unset($oppbatlog); unset($oppbatlog);
unset($oppbatres); unset($oppbatres);
// $alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>(이)가 }<G>{$city['name']}</> 공략에 실패했습니다. <1>$date</>"; // $josaYi = JosaUtil::pick($general['name'], '이');
// $alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>{$josaYi} }<G>{$city['name']}</> 공략에 실패했습니다. <1>$date</>";
// $log[] = "<C>●</> <G>{$city['name']}</> 공략에 실패했습니다. <1>$date</>"; // $log[] = "<C>●</> <G>{$city['name']}</> 공략에 실패했습니다. <1>$date</>";
break; break;
} else { } else {
@@ -1626,9 +1654,9 @@ function getCityDef($city) {
return $def; return $def;
} }
function getRate($game_env, $type, $dtype) { function getRate($admin, $type, $dtype) {
$t = "{$dtype}{$type}"; $t = "{$dtype}{$type}";
return $game_env[$t]; return $admin[$t];
} }
function addConflict($city, $nationID, $mykillnum) { function addConflict($city, $nationID, $mykillnum) {
@@ -1658,7 +1686,8 @@ function addConflict($city, $nationID, $mykillnum) {
arsort($conflict); arsort($conflict);
$nation = getNationStaticInfo($nationID); $nation = getNationStaticInfo($nationID);
pushWorldHistory(["<C>●</>{$year}{$month}월:<M><b>【분쟁】</b></><D><b>{$nation['name']}</b></>(이)가 <G><b>{$city['name']}</b></> 공략에 가담하여 분쟁이 발생하고 있습니다."]); $josaYi = JosaUtil::pick($nation['name'], '이');
pushWorldHistory(["<C>●</>{$year}{$month}월:<M><b>【분쟁】</b></><D><b>{$nation['name']}</b></>{$josaYi} <G><b>{$city['name']}</b></> 공략에 가담하여 분쟁이 발생하고 있습니다."]);
} }
$rawConflict = Json::encode($conflict); $rawConflict = Json::encode($conflict);
@@ -1697,7 +1726,7 @@ function getConquerNation($city) : int {
return Util::array_first_key($conflict); return Util::array_first_key($conflict);
} }
function ConquerCity($game_env, $general, $city, $nation, $destnation) { function ConquerCity($admin, $general, $city, $nation, $destnation) {
'@phan-var array<string,mixed> $city'; '@phan-var array<string,mixed> $city';
$db = DB::db(); $db = DB::db();
$connect=$db->get(); $connect=$db->get();
@@ -1712,15 +1741,19 @@ function ConquerCity($game_env, $general, $city, $nation, $destnation) {
$destnationName = "공백지인"; $destnationName = "공백지인";
} }
$year = $game_env['year']; $year = $admin['year'];
$month = $game_env['month']; $month = $admin['month'];
$alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>(이)가 <G><b>{$city['name']}</b></> 공략에 <S>성공</>했습니다."; $josaUl = JosaUtil::pick($city['name'], '을');
$josaYiNation = JosaUtil::pick($nation['name'], '이');
$josaYiGen = JosaUtil::pick($general['name'], '이');
$josaYiCity = JosaUtil::pick($city['name'], '이');
$alllog[] = "<C>●</>{$month}월:<Y>{$general['name']}</>{$josaYiGen} <G><b>{$city['name']}</b></> 공략에 <S>성공</>했습니다.";
$log[] = "<C>●</><G><b>{$city['name']}</b></> 공략에 <S>성공</>했습니다."; $log[] = "<C>●</><G><b>{$city['name']}</b></> 공략에 <S>성공</>했습니다.";
$history[] = "<C>●</>{$year}{$month}월:<S><b>【지배】</b></><D><b>{$nation['name']}</b></>(이)가 <G><b>{$city['name']}</b></>(을)를 지배했습니다."; $history[] = "<C>●</>{$year}{$month}월:<S><b>【지배】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} <G><b>{$city['name']}</b></>{$josaUl} 지배했습니다.";
pushGeneralHistory($general, "<C>●</>{$year}{$month}월:<G><b>{$city['name']}</b></>(을)를 <S>함락</>시킴"); pushGeneralHistory($general, "<C>●</>{$year}{$month}월:<G><b>{$city['name']}</b></>{$josaUl} <S>함락</>시킴");
pushNationHistory($nation, "<C>●</>{$year}{$month}월:<Y>{$general['name']}</>(이)가 {$destnationName} <G><b>{$city['name']}</b></>(을)를 <S>점령</>"); pushNationHistory($nation, "<C>●</>{$year}{$month}월:<Y>{$general['name']}</>{$josaYiGen} {$destnationName} <G><b>{$city['name']}</b></>{$josaUl} <S>점령</>");
pushNationHistory($destnation, "<C>●</>{$year}{$month}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>에 의해 <G><b>{$city['name']}</b></>(이)가 <span class='ev_highlight'>함락</span>"); pushNationHistory($destnation, "<C>●</>{$year}{$month}월:<D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>에 의해 <G><b>{$city['name']}</b></>{$josaYiCity} <span class='ev_highlight'>함락</span>");
$query = "select city from city where nation='{$city['nation']}'"; $query = "select city from city where nation='{$city['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -1733,8 +1766,10 @@ function ConquerCity($game_env, $general, $city, $nation, $destnation) {
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$losenation = MYDB_fetch_array($result); $losenation = MYDB_fetch_array($result);
$history[] = "<C>●</>{$year}{$month}월:<R><b>【멸망】</b></><D><b>{$losenation['name']}</b></>(이)가 멸망하였습니다."; $josaYi = JosaUtil::pick($losenation['name'], '이');
pushNationHistory($nation, "<C>●</>{$year}{$month}월:<D><b>{$losenation['name']}</b></>(을)를 정복"); $josaUl = JosaUtil::pick($losenation['name'], '을');
$history[] = "<C>●</>{$year}{$month}월:<R><b>【멸망】</b></><D><b>{$losenation['name']}</b></>{$josaYi} 멸망하였습니다.";
pushNationHistory($nation, "<C>●</>{$year}{$month}월:<D><b>{$losenation['name']}</b></>{$josaUl} 정복");
$query = "select no, nation from general where nation='{$general['nation']}' and level='12'"; $query = "select no, nation from general where nation='{$general['nation']}' and level='12'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -1751,7 +1786,8 @@ function ConquerCity($game_env, $general, $city, $nation, $destnation) {
$query = "select no,name,nation,npc,gold,rice from general where nation='{$city['nation']}'"; $query = "select no,name,nation,npc,gold,rice from general where nation='{$city['nation']}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$gencount = MYDB_num_rows($result); $gencount = MYDB_num_rows($result);
$genlog = ["<C>●</><D><b>{$losenation['name']}</b></>(이)가 <R>멸망</>했습니다."]; $josaYi = JosaUtil::pick($losenation['name'], '이');
$genlog = ["<C>●</><D><b>{$losenation['name']}</b></>{$josaYi} <R>멸망</>했습니다."];
for($i=0; $i < $gencount; $i++) { for($i=0; $i < $gencount; $i++) {
$gen = MYDB_fetch_array($result); $gen = MYDB_fetch_array($result);
@@ -1764,7 +1800,7 @@ function ConquerCity($game_env, $general, $city, $nation, $destnation) {
pushGenLog($gen, $genlog); pushGenLog($gen, $genlog);
pushGeneralHistory($gen, "<C>●</>{$year}{$month}월:<D><b>{$losenation['name']}</b></>(이)가 <R>멸망</>"); pushGeneralHistory($gen, "<C>●</>{$year}{$month}월:<D><b>{$losenation['name']}</b></>{$josaYi} <R>멸망</>");
$loseGeneralGold += $loseGold; $loseGeneralGold += $loseGold;
$loseGeneralRice += $loseRice; $loseGeneralRice += $loseRice;
@@ -1859,7 +1895,8 @@ function ConquerCity($game_env, $general, $city, $nation, $destnation) {
$minCityName = CityConst::byID($minCity)->name; $minCityName = CityConst::byID($minCity)->name;
$history[] = "<C>●</>{$year}{$month}월:<M><b>【긴급천도】</b></><D><b>{$destnation['name']}</b></>(이)가 수도가 함락되어 <G><b>$minCityName</b></>으로 긴급천도하였습니다."; $josaYi = JosaUtil::pick($destnation['name'], '이');
$history[] = "<C>●</>{$year}{$month}월:<M><b>【긴급천도】</b></><D><b>{$destnation['name']}</b></>{$josaYi} 수도가 함락되어 <G><b>$minCityName</b></>으로 긴급천도하였습니다.";
//아국 수뇌부에게 로그 전달 //아국 수뇌부에게 로그 전달
$query = "select no,name,nation from general where nation='{$destnation['nation']}' and level>='5'"; $query = "select no,name,nation from general where nation='{$destnation['nation']}' and level>='5'";
@@ -1915,9 +1952,11 @@ function ConquerCity($game_env, $general, $city, $nation, $destnation) {
$history[] = "<C>●</>{$year}{$month}월:<Y><b>【분쟁협상】</b></><D><b>{$conquerNationArray['name']}</b></>(이)가 영토분쟁에서 우위를 점하여 <G><b>{$city['name']}</b></>(을)를 양도받았습니다."; $josaUl = JosaUtil::pick($city['name'], '을');
pushNationHistory($nation, "<C>●</>{$year}{$month}월:<G><b>{$city['name']}</b></>(을)를 <D><b>{$conquerNationArray['name']}</b></>에 <Y>양도</>"); $josaYi = JosaUtil::pick($conquerNationArray['name'], '이');
pushNationHistory($conquerNationArray, "<C>●</>{$year}{$month}월:<D><b>{$nation['name']}</b></>에서 <G><b>{$city['name']}</b></>(을)를 <S>양도</> 받음"); $history[] = "<C>●</>{$year}{$month}월:<Y><b>【분쟁협상】</b></><D><b>{$conquerNationArray['name']}</b></>{$josaYi} 영토분쟁에서 우위를 점하여 <G><b>{$city['name']}</b></>{$josaUl} 양도받았습니다.";
pushNationHistory($nation, "<C>●</>{$year}{$month}월:<G><b>{$city['name']}</b></>{$josaUl} <D><b>{$conquerNationArray['name']}</b></>에 <Y>양도</>");
pushNationHistory($conquerNationArray, "<C>●</>{$year}{$month}월:<D><b>{$nation['name']}</b></>에서 <G><b>{$city['name']}</b></>{$josaUl} <S>양도</> 받음");
// 이동X 및 사기 변경 // 이동X 및 사기 변경
$query = "update general set atmos='{$general['atmos']}',killnum=killnum+1 where no='{$general['no']}'"; $query = "update general set atmos='{$general['atmos']}',killnum=killnum+1 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
+9 -7
View File
@@ -967,6 +967,8 @@ function command_25($turn, $command) {
$result = MYDB_query($query, $connect) or Error("command_27 ".MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error("command_27 ".MYDB_error($connect),"");
$me = MYDB_fetch_array($result); $me = MYDB_fetch_array($result);
$joinedNations = Json::decode($me['nations']);
$query = "select nation,name,color,scout,scoutmsg,sabotagelimit,gennum from nation order by gennum"; $query = "select nation,name,color,scout,scoutmsg,sabotagelimit,gennum from nation order by gennum";
$result = MYDB_query($query, $connect) or Error("aaa_processing.php ".MYDB_error($connect),""); $result = MYDB_query($query, $connect) or Error("aaa_processing.php ".MYDB_error($connect),"");
$count = MYDB_num_rows($result); $count = MYDB_num_rows($result);
@@ -979,7 +981,7 @@ function command_25($turn, $command) {
!!!는 방랑군을 포함한 랜덤임관입니다. 유니크를 기대하신다면!<br> !!!는 방랑군을 포함한 랜덤임관입니다. 유니크를 기대하신다면!<br>
???는 방랑군을 제외한 랜덤임관입니다. 유니크 혜택은 없습니다.<br> ???는 방랑군을 제외한 랜덤임관입니다. 유니크 혜택은 없습니다.<br>
임관 금지이거나 초기 제한중인 국가는 붉은색 배경으로 표시됩니다.<br> 임관 금지이거나 초기 제한중인 국가는 붉은색 배경으로 표시됩니다.<br>
900px x 200px 넘는 높이를 점유할 시 통보없이 제한될 수 있습니다.<br> 870px x 200px 넘는 높이를 점유할 시 통보없이 제한될 수 있습니다.<br>
<form name=form1 action=c_double.php method=post> <form name=form1 action=c_double.php method=post>
<select name=double size=1 style=color:white;background-color:black> <select name=double size=1 style=color:white;background-color:black>
<option value=99 style=color:white;background-color:black;>!!!</option> <option value=99 style=color:white;background-color:black;>!!!</option>
@@ -990,18 +992,18 @@ function command_25($turn, $command) {
$nation = MYDB_fetch_array($result); $nation = MYDB_fetch_array($result);
if($nation['scoutmsg'] == "") { if($nation['scoutmsg'] == "") {
$scoutStr .= "<tr><td align=center width=100 style=color:".newColor($nation['color']).";background-color:{$nation['color']};>{$nation['name']}</td><td width=900 style=color:".newColor($nation['color']).";background-color:{$nation['color']}>-</td></tr>"; $scoutStr .= "<tr><td align=center width=130 style=color:".newColor($nation['color']).";background-color:{$nation['color']};>{$nation['name']}</td><td width=870 style=color:".newColor($nation['color']).";background-color:{$nation['color']}>-</td></tr>";
} else { } else {
$scoutStr .= "<tr><td align=center width=100 style=color:".newColor($nation['color']).";background-color:{$nation['color']};>{$nation['name']}</td><td width=900 style=color:".newColor($nation['color']).";background-color:{$nation['color']}>".$nation['scoutmsg']."</td></tr>"; $scoutStr .= "<tr><td align=center width=130 style=color:".newColor($nation['color']).";background-color:{$nation['color']};>{$nation['name']}</td><td width=870 style=color:".newColor($nation['color']).";background-color:{$nation['color']}>".$nation['scoutmsg']."</td></tr>";
} }
if($gameStor->year < $gameStor->startyear+3 && $nation['gennum'] >= 10) { if($gameStor->year < $gameStor->startyear+3 && $nation['gennum'] >= GameConst::$initialNationGenLimit) {
echo " echo "
<option value={$nation['nation']} style=color:{$nation['color']};background-color:red;>【 {$nation['name']} 】</option>"; <option value={$nation['nation']} style=color:{$nation['color']};background-color:red;>【 {$nation['name']} 】</option>";
} elseif($nation['scout'] == 1) { } elseif($nation['scout'] == 1) {
echo " echo "
<option value={$nation['nation']} style=color:{$nation['color']};background-color:red;>【 {$nation['name']} 】</option>"; <option value={$nation['nation']} style=color:{$nation['color']};background-color:red;>【 {$nation['name']} 】</option>";
} elseif(strpos($me['nations'], ",{$nation['nation']},") > 0) { } elseif(in_array($nation['nation'], $joinedNations)) {
/* /*
echo " echo "
<option value={$nation['nation']} style=color:{$nation['color']};background-color:red; disabled>【 {$nation['name']} 】</option>"; <option value={$nation['nation']} style=color:{$nation['color']};background-color:red; disabled>【 {$nation['name']} 】</option>";
@@ -1584,7 +1586,7 @@ function command_46($turn, $command) {
- 명 가 : <font color=cyan>기술↑ 인구↑</font> <font color=magenta>쌀수입↓ 수성↓</font><br> - 명 가 : <font color=cyan>기술↑ 인구↑</font> <font color=magenta>쌀수입↓ 수성↓</font><br>
<form name=form1 action=c_double.php method=post> <form name=form1 action=c_double.php method=post>
국명 : <input type=text name=name size=12 maxlength=6 style=text-align:right;color:white;background-color:black> 국명 : <input type=text name=name size=18 maxlength=9 style=text-align:right;color:white;background-color:black>
색깔 : <select name=double size=1> 색깔 : <select name=double size=1>
<?php <?php
foreach(GetNationColors() as $idx=>$color) { foreach(GetNationColors() as $idx=>$color) {
@@ -1930,7 +1932,7 @@ function command_53($turn, $command) {
echo " echo "
</select> </select>
통합국명 : <input type=text name=nationname size=12 maxlength=6 style=text-align:right;color:white;background-color:black> 통합국명 : <input type=text name=nationname size=18 maxlength=9 style=text-align:right;color:white;background-color:black>
<input type=submit value=통합제의> <input type=submit value=통합제의>
<input type=hidden name=command value=$command>"; <input type=hidden name=command value=$command>";
for($i=0; $i < count($turn); $i++) { for($i=0; $i < count($turn); $i++) {
+14
View File
@@ -317,8 +317,22 @@ class CityConst{
] ]
]; ];
private static function test(){
static::_generate();
foreach(static::all() as $id=>$city){
foreach($city->path as $connId=>$connCityText){
$connCity = static::byID($connId);
if(!key_exists($id, $connCity->path)){
throw new \RuntimeException(sprintf('도시 연결이 올바르지 않음! %s <=> %s', $city->name, $connCity->name));
}
}
}
}
public static function build(){ public static function build(){
static::_generate(); static::_generate();
static::test();
$queries = array_map(function(CityInitialDetail $city){ $queries = array_map(function(CityInitialDetail $city){
$initValue = static::$buildInit[$city->level]; $initValue = static::$buildInit[$city->level];
+5 -1
View File
@@ -76,7 +76,11 @@ class CityHelper{
self::generateCache(); self::generateCache();
} }
return self::$listInv[$cityName]; $city = self::$listInv[$cityName]??null;
if($city === null){
trigger_error("$cityName 에 해당하는 도시가 없습니다.");
}
return $city;
} }
+82 -36
View File
@@ -86,12 +86,17 @@ class DiplomaticMessage extends Message{
return $chk; return $chk;
} }
$youlog[] = "<C>●</><D><b>{$this->dest->nationName}</b></>(와)과 <C>$year</>년 불가침에 성공했습니다."; $josa = JosaUtil::pick($this->dest->nationName, '와');
$mylog[] = "<C>●</><D><b>{$this->src->nationName}</b></>(와)과 <C>$year</>년 불가침에 합의했습니다."; $youlog[] = "<C>●</><D><b>{$this->dest->nationName}</b></>{$josa} <C>$year</>년 불가침에 성공했습니다.";
$josa = JosaUtil::pick($this->src->nationName, '와');
$mylog[] = "<C>●</><D><b>{$this->src->nationName}</b></>{$josa} <C>$year</>년 불가침에 합의했습니다.";
pushGenLog(['no'=>$this->dest->generalID], $mylog); pushGenLog(['no'=>$this->dest->generalID], $mylog);
pushGenLog(['no'=>$this->src->generalID], $youlog); pushGenLog(['no'=>$this->src->generalID], $youlog);
pushGeneralHistory(['no'=>$this->src->generalID], "<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->dest->nationName}</b></>(와)과 {$year}년 불가침 성공"); $josaWa = JosaUtil::pick($this->src->nationName, '와');
pushGeneralHistory(['no'=>$this->dest->generalID], "<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->src->nationName}</b></>(와)과 {$year}년 불가침 수락"); pushGeneralHistory(['no'=>$this->src->generalID], "<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->dest->nationName}</b></>{$josaWa} {$year}년 불가침 성공");
$josaWa = JosaUtil::pick($this->dest->nationName, '와');
pushGeneralHistory(['no'=>$this->dest->generalID], "<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->src->nationName}</b></>{$josaWa} {$year}년 불가침 수락");
return $chk; return $chk;
} }
@@ -103,12 +108,25 @@ class DiplomaticMessage extends Message{
return $chk; return $chk;
} }
$alllog[] = "<C>●</>{$helper->month}월:<Y>{$this->dest->generalName}</>(이)가 <D><b>{$this->src->nationName}</b></>(와)과 <M>조약 파기</>에 합의."; $josaYi = JosaUtil::pick($this->dest->generalName, '이');
$history[] = "<C>●</>{$helper->year}{$helper->month}월:<Y><b>【파기】</b></><D><b>{$this->dest->nationName}</b></>(이)가 <D><b>{$this->src->nationName}</b></>(와)과 불가침을 파기 하였습니다."; $josaWa = JosaUtil::pick($this->src->nationName, '와');
$youlog[] = "<C>●</><D><b>{$this->dest->nationName}</b></>(와)과 파기에 성공했습니다."; $alllog[] = "<C>●</>{$helper->month}월:<Y>{$this->dest->generalName}</>{$josaYi} <D><b>{$this->src->nationName}</b></>{$josaWa} <M>조약 파기</>에 합의.";
$mylog[] = "<C>●</><D><b>{$this->src->nationName}</b></>(와)과 파기에 합의했습니다.";
pushGeneralHistory(['no'=>$this->src->generalID], "<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->dest->nationName}</b></>(와)과 파기 성공"); $josaYi = JosaUtil::pick($this->dest->nationName, '이');
pushGeneralHistory(['no'=>$this->dest->generalID], "<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->src->nationName}</b></>(와)과 파기 수락"); $josaWa = JosaUtil::pick($this->src->nationName, '와');
$history[] = "<C>●</>{$helper->year}{$helper->month}월:<Y><b>【파기】</b></><D><b>{$this->dest->nationName}</b></>{$josaYi} <D><b>{$this->src->nationName}</b></>{$josaWa} 불가침을 파기 하였습니다.";
$josaWa = JosaUtil::pick($this->dest->nationName, '와');
$youlog[] = "<C>●</><D><b>{$this->dest->nationName}</b></>{$josaWa} 파기에 성공했습니다.";
$josaWa = JosaUtil::pick($this->src->nationName, '와');
$mylog[] = "<C>●</><D><b>{$this->src->nationName}</b></>{$josaWa} 파기에 합의했습니다.";
$josaWa = JosaUtil::pick($this->dest->nationName, '와');
pushGeneralHistory(['no'=>$this->src->generalID], "<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->dest->nationName}</b></>{$josaWa} 파기 성공");
$josaWa = JosaUtil::pick($this->src->nationName, '와');
pushGeneralHistory(['no'=>$this->dest->generalID], "<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->src->nationName}</b></>{$josaWa} 파기 수락");
pushGenLog(['no'=>$this->dest->generalID], $mylog); pushGenLog(['no'=>$this->dest->generalID], $mylog);
pushGenLog(['no'=>$this->src->generalID], $youlog); pushGenLog(['no'=>$this->src->generalID], $youlog);
@@ -125,12 +143,25 @@ class DiplomaticMessage extends Message{
return $chk; return $chk;
} }
$alllog[] = "<C>●</>{$helper->month}월:<Y>{$this->dest->generalName}</>(이)가 <D><b>{$this->src->nationName}</b></>(와)과 <M>종전 합의</> 하였습니다."; $josaYi = JosaUtil::pick($this->dest->generalName, '이');
$history[] = "<C>●</>{$helper->year}{$helper->month}월:<Y><b>【종전】</b></><D><b>{$this->dest->nationName}</b></>(이)가 <D><b>{$this->src->nationName}</b></>(와)과 <M>종전 합의</> 하였습니다."; $josaWa = JosaUtil::pick($this->src->nationName, '와');
$youlog[] = "<C>●</><D><b>{$this->dest->nationName}</b></>(와)과 종전에 성공했습니다."; $alllog[] = "<C>●</>{$helper->month}월:<Y>{$this->dest->generalName}</>{$josaYi} <D><b>{$this->src->nationName}</b></>{$josaWa} <M>종전 합의</> 하였습니다.";
$mylog[] = "<C>●</><D><b>{$this->src->nationName}</b></>(와)과 종전에 합의했습니다.";
pushGeneralHistory(['no'=>$this->src->generalID], "<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->dest->nationName}</b></>(와)과 종전 성공"); $josaYi = JosaUtil::pick($this->dest->nationName, '이');
pushGeneralHistory(['no'=>$this->dest->generalID], "<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->src->nationName}</b></>(와)과 종전 수락"); $josaWa = JosaUtil::pick($this->src->nationName, '와');
$history[] = "<C>●</>{$helper->year}{$helper->month}월:<Y><b>【종전】</b></><D><b>{$this->dest->nationName}</b></>{$josaYi} <D><b>{$this->src->nationName}</b></>{$josaWa} <M>종전 합의</> 하였습니다.";
$josaWa = JosaUtil::pick($this->dest->nationName, '와');
$youlog[] = "<C>●</><D><b>{$this->dest->nationName}</b></>{$josaWa} 종전에 성공했습니다.";
$josaWa = JosaUtil::pick($this->src->nationName, '와');
$mylog[] = "<C>●</><D><b>{$this->src->nationName}</b></>{$josaWa} 종전에 합의했습니다.";
$josaWa = JosaUtil::pick($this->dest->nationName, '와');
pushGeneralHistory(['no'=>$this->src->generalID], "<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->dest->nationName}</b></>{$josaWa} 종전 성공");
$josaWa = JosaUtil::pick($this->src->nationName, '와');
pushGeneralHistory(['no'=>$this->dest->generalID], "<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->src->nationName}</b></>{$josaWa} 종전 수락");
pushGenLog(['no'=>$this->dest->generalID], $mylog); pushGenLog(['no'=>$this->dest->generalID], $mylog);
pushGenLog(['no'=>$this->src->generalID], $youlog); pushGenLog(['no'=>$this->src->generalID], $youlog);
@@ -147,28 +178,37 @@ class DiplomaticMessage extends Message{
return $chk; return $chk;
} }
pushGeneralHistory( $josaWa = JosaUtil::pick($this->src->nationName, '와');
['no'=>$this->src->generalID],
["<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->dest->nationName}</b></>(와)과 통합 시도"]
);
pushGeneralHistory( pushGeneralHistory(
['no'=>$this->dest->generalID], ['no'=>$this->dest->generalID],
["<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->src->nationName}</b></>(와)과 통합 시도"] ["<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->src->nationName}</b></>{$josaWa} 통합 시도"]
); );
pushGenLog( pushGenLog(
['no'=>$this->dest->generalID], ['no'=>$this->dest->generalID],
["<C>●</><D><b>{$this->src->nationName}</b></>(와)과 통합에 동의했습니다."] ["<C>●</><D><b>{$this->src->nationName}</b></>{$josaWa} 통합에 동의했습니다."]
);
pushGenLog(
['no'=>$this->src->generalID],
["<C>●</><D><b>{$this->dest->nationName}</b></>(이)가 통합에 동의했습니다."]
); );
$josaWa = JosaUtil::pick($this->src->nationName, '와');
$josaYi = JosaUtil::pick($this->dest->generalName, '이');
pushGeneralPublicRecord( pushGeneralPublicRecord(
["<C>●</>{$helper->month}월:<Y>{$this->dest->generalName}</>(이)가 <D><b>{$this->src->nationName}</b></>(와)과 <M>통합</>에 동의하였습니다."], ["<C>●</>{$helper->month}월:<Y>{$this->dest->generalName}</>{$josaYi} <D><b>{$this->src->nationName}</b></>{$josaWa} <M>통합</>에 동의하였습니다."],
$helper->year, $helper->year,
$helper->month); $helper->month);
$josaYi = JosaUtil::pick($this->src->generalName, '이');
$josaWa = JosaUtil::pick($this->dest->nationName, '와');
pushGeneralHistory(
['no'=>$this->src->generalID],
["<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->dest->nationName}</b></>{$josaWa} 통합 시도"]
);
$josaYi = JosaUtil::pick($this->dest->nationName, '이');
pushGenLog(
['no'=>$this->src->generalID],
["<C>●</><D><b>{$this->dest->nationName}</b></>{$josaYi} 통합에 동의했습니다."]
);
pushWorldHistory( pushWorldHistory(
["<C>●</>{$helper->year}{$helper->month}월:<Y><b>【통합시도】</b></><D><b>{$this->dest->nationName}</b></>(와)과 <D><b>{$this->src->nationName}</b></>(이)가 통합을 시도합니다."], ["<C>●</>{$helper->year}{$helper->month}월:<Y><b>【통합시도】</b></><D><b>{$this->dest->nationName}</b></>{$josaWa}과 <D><b>{$this->src->nationName}</b></>{$josaYi} 통합을 시도합니다."],
$helper->year, $helper->year,
$helper->month $helper->month
); );
@@ -183,28 +223,32 @@ class DiplomaticMessage extends Message{
return $chk; return $chk;
} }
$josaRo = JosaUtil::pick($this->src->nationName, '로');
pushGeneralHistory( pushGeneralHistory(
['no'=>$this->src->generalID], ['no'=>$this->src->generalID],
"<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->dest->nationName}</b></>(와)과 투항 제의" "<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->dest->nationName}</b></>에게 투항 제의"
); );
pushGeneralHistory( pushGeneralHistory(
['no'=>$this->dest->generalID], ['no'=>$this->dest->generalID],
"<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->src->nationName}</b></>(으)로 투항 동의" "<C>●</>{$helper->year}{$helper->month}월:<D><b>{$this->src->nationName}</b></>{$josaRo} 투항 동의"
); );
pushGenLog( pushGenLog(
['no'=>$this->dest->generalID], ['no'=>$this->dest->generalID],
["<C>●</><D><b>{$this->src->nationName}</b></>(으)로 투항에 동의했습니다."] ["<C>●</><D><b>{$this->src->nationName}</b></>{$josaRo} 투항에 동의했습니다."]
); );
$josaYi = JosaUtil::pick($this->dest->nationName, '이');
pushGenLog( pushGenLog(
['no'=>$this->src->generalID], ['no'=>$this->src->generalID],
["<C>●</><D><b>{$this->dest->nationName}</b></>(이)가 투항에 동의했습니다."] ["<C>●</><D><b>{$this->dest->nationName}</b></>{$josaYi} 투항에 동의했습니다."]
); );
$josaYi = JosaUtil::pick($this->dest->generalName, '이');
pushGeneralPublicRecord( pushGeneralPublicRecord(
["<C>●</>{$helper->month}월:<Y>{$this->dest->generalName}</>(이)가 <D><b>{$this->src->nationName}</b></>(으)로 <M>투항</>에 동의하였습니다."], ["<C>●</>{$helper->month}월:<Y>{$this->dest->generalName}</>{$josaYi} <D><b>{$this->src->nationName}</b></>{$josaRo} <M>투항</>에 동의하였습니다."],
$helper->year, $helper->year,
$helper->month); $helper->month);
$josaYi = JosaUtil::pick($this->dest->nationName, '이');
pushWorldHistory( pushWorldHistory(
["<C>●</>{$helper->year}{$helper->month}월:<Y><b>【투항시도】</b></><D><b>{$this->dest->nationName}</b></>(이)가 <D><b>{$this->src->nationName}</b></>(으)로 투항합니다."], ["<C>●</>{$helper->year}{$helper->month}월:<Y><b>【투항시도】</b></><D><b>{$this->dest->nationName}</b></>{$josaYi} <D><b>{$this->src->nationName}</b></>{$josaRo} 투항합니다."],
$helper->year, $helper->year,
$helper->month $helper->month
); );
@@ -292,11 +336,12 @@ class DiplomaticMessage extends Message{
$this->invalidate(); $this->invalidate();
$this->validDiplomacy = false; $this->validDiplomacy = false;
$josaYi = JosaUtil::pick($this->src->nationName, '이');
$newMsg = new Message( $newMsg = new Message(
self::MSGTYPE_NATIONAL, self::MSGTYPE_NATIONAL,
$this->dest, $this->dest,
$this->src, $this->src,
"【외교】{$year}{$month}월: {$this->src->nationName}(이)가 {$this->dest->nationName}에게 제안한 {$this->diplomacyDetail}{$this->diplomacyName} 동의.", "【외교】{$year}{$month}월: {$this->src->nationName}{$josaYi} {$this->dest->nationName}에게 제안한 {$this->diplomacyDetail}{$this->diplomacyName} 동의.",
new \DateTime(), new \DateTime(),
new \DateTime('9999-12-31'), new \DateTime('9999-12-31'),
[ [
@@ -335,8 +380,9 @@ class DiplomaticMessage extends Message{
return $result; return $result;
} }
$josaYi = JosaUtil::pick($this->dest->nationName, '이');
pushGenLog(['no'=>$receiverID], "<C>●</><D>{$this->src->nationName}</>의 {$this->diplomacyName} 제안을 거절했습니다."); pushGenLog(['no'=>$receiverID], "<C>●</><D>{$this->src->nationName}</>의 {$this->diplomacyName} 제안을 거절했습니다.");
pushGenLog(['no'=>$this->src->generalID], "<C>●</><Y>{$this->dest->nationName}</>(이)가 {$this->diplomacyName} 제안을 거절했습니다."); pushGenLog(['no'=>$this->src->generalID], "<C>●</><Y>{$this->dest->nationName}</>{$josaYi} {$this->diplomacyName} 제안을 거절했습니다.");
$this->_declineMessage(); $this->_declineMessage();
return self::DECLINED; return self::DECLINED;
} }
+3
View File
@@ -3,6 +3,9 @@ namespace sammo\Engine;
use \sammo\DB; use \sammo\DB;
use \sammo\DiplomaticMessage; use \sammo\DiplomaticMessage;
use \sammo\KVStorage;
use \sammo\Json;
use \sammo\GameConst;
//NOTE: A가 B에게 항복, 통합 서신을 보냈을 때 통합 후 대상이 A이므로 A가 주체임. //NOTE: A가 B에게 항복, 통합 서신을 보냈을 때 통합 후 대상이 A이므로 A가 주체임.
class Diplomacy{ class Diplomacy{
+12 -7
View File
@@ -3,7 +3,9 @@ namespace sammo\Engine;
use \sammo\DB; use \sammo\DB;
use \sammo\ScoutMessage; use \sammo\ScoutMessage;
use \sammo\KVStorage;
use \sammo\Json;
use \sammo\GameConst;
/** /**
* 인사(등용, 추방, 임명, 망명) 헬퍼 클래스? * 인사(등용, 추방, 임명, 망명) 헬퍼 클래스?
* Nation 클래스가 있고 그걸 상속한 구조가 더 나을지도? * Nation 클래스가 있고 그걸 상속한 구조가 더 나을지도?
@@ -70,7 +72,7 @@ class Personnel{
return [ScoutMessage::DECLINED, '군주는 등용장을 수락할 수 없습니다.']; return [ScoutMessage::DECLINED, '군주는 등용장을 수락할 수 없습니다.'];
} }
if(strpos($general['nations'], ",{$this->nation['nation']},") !== false){ if(in_array($this->nation['nation'], Json::decode($general['nations']))){
return [ScoutMessage::DECLINED, '이미 임관했었던 국가입니다.']; return [ScoutMessage::DECLINED, '이미 임관했었던 국가입니다.'];
} }
@@ -109,22 +111,25 @@ class Personnel{
} }
$scoutNationGeneralCnt+=1; $scoutNationGeneralCnt+=1;
if($scoutNationGeneralCnt < 10){ if($scoutNationGeneralCnt < GameConst::$initialNationGenLimit){
$scoutNationGeneralCnt = 10;//XXX: 상수! $scoutNationGeneralCnt = GameConst::$initialNationGenLimit;
} }
$originalNationGeneralCnt-=1; $originalNationGeneralCnt-=1;
if($originalNationGeneralCnt < 10){ if($originalNationGeneralCnt < GameConst::$initialNationGenLimit){
$originalNationGeneralCnt = 10;//XXX: 상수! $originalNationGeneralCnt = GameConst::$initialNationGenLimit;
} }
$joinedNations = Json::decode($general['nations']);
$joinedNations[] = $this->nation['nation'];
// 국가 변경, 도시 변경, 일반으로, 수도로 // 국가 변경, 도시 변경, 일반으로, 수도로
$setValues = [ $setValues = [
'belong'=>1, 'belong'=>1,
'level'=>1, 'level'=>1,
'nation'=>$this->nation['nation'], 'nation'=>$this->nation['nation'],
'city'=>$this->nation['capital'], 'city'=>$this->nation['capital'],
'nations'=>$db->sqleval('CONCAT(nations, %s)', "{$this->nation['nation']},"), 'nations'=>Json::encode($joinedNations),
'troop'=>0, 'troop'=>0,
]; ];
+3 -3
View File
@@ -9,7 +9,7 @@ class RegNPC extends \sammo\Event\Action{
public function __construct( public function __construct(
int $affinity, int $affinity,
string $name, string $name,
int $pictureID, $picturePath,
int $nationID, int $nationID,
$locatedCity, $locatedCity,
int $leadership, int $leadership,
@@ -18,13 +18,13 @@ class RegNPC extends \sammo\Event\Action{
int $birth = 160, int $birth = 160,
int $death = 300, int $death = 300,
$ego = null, $ego = null,
string $char = '', $char = '',
$text = '' $text = ''
){ ){
$this->npc = new \sammo\Scenario\NPC( $this->npc = new \sammo\Scenario\NPC(
$affinity, $affinity,
$name, $name,
$pictureID, $picturePath,
$nationID, $nationID,
$locatedCity, $locatedCity,
$leadership, $leadership,
+4 -7
View File
@@ -1,7 +1,7 @@
<?php <?php
namespace sammo; namespace sammo;
class GameConst class GameConst extends GameCustomConst
{ {
/** @var string 버전 */ /** @var string 버전 */
public static $title = "삼국지 모의전투 PHP HiDCHe"; public static $title = "삼국지 모의전투 PHP HiDCHe";
@@ -45,12 +45,6 @@ class GameConst
public static $sabotageDefaultAmount = 100; public static $sabotageDefaultAmount = 100;
/** @var int 계략시 수치 감소량($firingbase ~ $firingpower)*/ /** @var int 계략시 수치 감소량($firingbase ~ $firingpower)*/
public static $sabotageAmountCoef = 400; public static $sabotageAmountCoef = 400;
/** @var int 명장,지장에 사용될 통솔 제한*/
public static $goodgenleader = 65;
/** @var int 명장에 사용될 무력 제한*/
public static $goodgenpower = 65;
/** @var int 지장에 사용될 지력 제한*/
public static $goodgenintel = 65;
/** @var string 기본 배경색깔 푸른색*/ /** @var string 기본 배경색깔 푸른색*/
public static $basecolor = "#000044"; public static $basecolor = "#000044";
/** @var string 기본 배경색깔 초록색*/ /** @var string 기본 배경색깔 초록색*/
@@ -74,6 +68,9 @@ class GameConst
/** @var float 성인 연령 */ /** @var float 성인 연령 */
public static $adultAge = 14; public static $adultAge = 14;
/** @var int 초기 제한시 장수 제한 */
public static $initialNationGenLimit = 10;
/** @var int 초기 최대 장수수 */ /** @var int 초기 최대 장수수 */
public static $defaultMaxGeneral = 500; public static $defaultMaxGeneral = 500;
/** @var int 초기 최대 국가 수 */ /** @var int 초기 최대 국가 수 */
+5 -1
View File
@@ -127,8 +127,9 @@ class ResetHelper{
} }
$scenarioObj = new Scenario($scenario, false); $scenarioObj = new Scenario($scenario, false);
$startyear = $scenarioObj->getYear()??GameConst::$defaultStartYear; $scenarioObj->buildConf();
$startyear = $scenarioObj->getYear()??GameConst::$defaultStartYear;
$db = DB::db(); $db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor = KVStorage::getStorage($db, 'game_env');
@@ -160,9 +161,12 @@ class ResetHelper{
$killturn = 4800 / $turnterm; $killturn = 4800 / $turnterm;
if($npcmode == 1) { $killturn = intdiv($killturn, 3); } if($npcmode == 1) { $killturn = intdiv($killturn, 3); }
$env = [ $env = [
'scenario'=>$scenario, 'scenario'=>$scenario,
'scenario_text'=>$scenarioObj->getTitle(), 'scenario_text'=>$scenarioObj->getTitle(),
'icon_path'=>$scenarioObj->getIconPath(),
'startyear'=>$startyear, 'startyear'=>$startyear,
'year'=> $year, 'year'=> $year,
'month'=> $month, 'month'=> $month,
+87 -9
View File
@@ -7,6 +7,7 @@ class Scenario{
private $scenarioIdx; private $scenarioIdx;
private $scenarioPath; private $scenarioPath;
private $iconPath = '.';
private $data; private $data;
private $year; private $year;
@@ -15,6 +16,8 @@ class Scenario{
private $history; private $history;
private $nations; private $nations;
private $nationsInv;
private $diplomacy; private $diplomacy;
private $generals; private $generals;
@@ -27,6 +30,8 @@ class Scenario{
private $initOK = false; private $initOK = false;
private $gameConf = null;
private function initFull(){ private function initFull(){
if($this->initOK){ if($this->initOK){
return; return;
@@ -34,13 +39,17 @@ class Scenario{
$this->initOK = true; $this->initOK = true;
$data = $this->data; $data = $this->data;
$neutralNation = new Scenario\Nation(0, '재야', '#000000', 0, 0);
$this->nations = []; $this->nations = [];
$this->nations[0] = new Scenario\Nation(0, '재야', '#000000', 0, 0); $this->nations[0] = $neutralNation;
$this->nationsInv = [$neutralNation->getName() => $neutralNation];
foreach (Util::array_get($data['nation'],[]) as $idx=>$rawNation) { foreach (Util::array_get($data['nation'],[]) as $idx=>$rawNation) {
list($name, $color, $gold, $rice, $infoText, $tech, $type, $nationLevel, $cities) = $rawNation; list($name, $color, $gold, $rice, $infoText, $tech, $type, $nationLevel, $cities) = $rawNation;
$nationID = $idx+1; $nationID = $idx+1;
$this->nations[$nationID] = new Scenario\Nation(
$nation = new Scenario\Nation(
$nationID, $nationID,
$name, $name,
$color, $color,
@@ -52,6 +61,8 @@ class Scenario{
$nationLevel, $nationLevel,
$cities $cities
); );
$this->nations[$nationID] = $nation;
$this->nationsInv[$nation->getName()] = $nation;
} }
$this->diplomacy = Util::array_get($data['diplomacy'], []); $this->diplomacy = Util::array_get($data['diplomacy'], []);
@@ -63,12 +74,18 @@ class Scenario{
} }
list( list(
$affinity, $name, $pictureID, $nationID, $locatedCity, $affinity, $name, $picturePath, $nationName, $locatedCity,
$leadership, $power, $intel, $level, $birth, $death, $ego, $leadership, $power, $intel, $level, $birth, $death, $ego,
$char, $text $char, $text
) = $rawGeneral; ) = $rawGeneral;
if(!key_exists($nationID, $this->nations)){ if(key_exists($nationName, $this->nationsInv)){
$nationID = $this->nationsInv[$nationName]->getID();
}
else if(key_exists($nationName, $this->nations)){
$nationID = (int)$nationName;
}
else{
$nationID = 0; $nationID = 0;
} }
@@ -77,7 +94,7 @@ class Scenario{
return new Scenario\NPC( return new Scenario\NPC(
$affinity, $affinity,
$name, $name,
$pictureID, $picturePath,
$nationID, $nationID,
$locatedCity, $locatedCity,
$leadership, $leadership,
@@ -98,12 +115,18 @@ class Scenario{
} }
list( list(
$affinity, $name, $pictureID, $nationID, $locatedCity, $affinity, $name, $picturePath, $nationName, $locatedCity,
$leadership, $power, $intel, $level, $birth, $death, $ego, $leadership, $power, $intel, $level, $birth, $death, $ego,
$char, $text $char, $text
) = $rawGeneral; ) = $rawGeneral;
if(!key_exists($nationID, $this->nations)){ if(key_exists($nationName, $this->nationsInv)){
$nationID = $this->nationsInv[$nationName]->id;;
}
else if(key_exists($nationName, $this->nations)){
$nationID = (int)$nationName;
}
else{
$nationID = 0; $nationID = 0;
} }
@@ -112,7 +135,7 @@ class Scenario{
return new Scenario\NPC( return new Scenario\NPC(
$affinity, $affinity,
$name, $name,
$pictureID, $picturePath,
$nationID, $nationID,
$locatedCity, $locatedCity,
$leadership, $leadership,
@@ -126,7 +149,7 @@ class Scenario{
$text $text
); );
}, Util::array_get($data['generalEx'], [])); }, Util::array_get($data['general_ex'], []));
$this->initialEvents = array_map(function($rawEvent){ $this->initialEvents = array_map(function($rawEvent){
$cond = $rawEvent[0]; $cond = $rawEvent[0];
@@ -148,6 +171,29 @@ class Scenario{
}, Util::array_get($data['events'], [])); }, Util::array_get($data['events'], []));
} }
public function getGameConf(){
if($this->gameConf){
return $this->gameConf;
}
$defaultPath = self::SCENARIO_PATH."/default.json";
if(!file_exists($defaultPath)){
throw new \RuntimeException('기본 시나리오 설정 파일 없음!');
}
$default = Json::decode(file_get_contents($defaultPath));
$stat = [
'statTotal'=>$this->data['stat']['total']??$default['stat']['total'],
'statMin'=>$this->data['stat']['min']??$default['stat']['min'],
'statMax'=>$this->data['stat']['max']??$default['stat']['max'],
'statNPCMax'=>$this->data['stat']['npcMax']??$default['stat']['npcMax'],
'statChiefMin'=>$this->data['stat']['chiefMin']??$default['stat']['chiefMin'],
];
$this->gameConf = array_merge($stat);
$this->iconPath = $this->data['iconPath']??$default['iconPath'];
return $this->gameConf;
}
public function __construct(int $scenarioIdx, bool $lazyInit = true){ public function __construct(int $scenarioIdx, bool $lazyInit = true){
$scenarioPath = self::SCENARIO_PATH."/scenario_{$scenarioIdx}.json"; $scenarioPath = self::SCENARIO_PATH."/scenario_{$scenarioIdx}.json";
@@ -157,6 +203,8 @@ class Scenario{
$data = Json::decode(file_get_contents($scenarioPath)); $data = Json::decode(file_get_contents($scenarioPath));
$this->data = $data; $this->data = $data;
$this->getGameConf();
$this->year = Util::array_get($data['startYear']); $this->year = Util::array_get($data['startYear']);
$this->title = Util::array_get($data['title'] , ''); $this->title = Util::array_get($data['title'] , '');
@@ -180,6 +228,10 @@ class Scenario{
return $this->title; return $this->title;
} }
public function getIconPath(){
return $this->iconPath;
}
public function getNPC(){ public function getNPC(){
$this->initFull(); $this->initFull();
return $this->generals; return $this->generals;
@@ -240,6 +292,17 @@ class Scenario{
private function buildGenerals($env){ private function buildGenerals($env){
$this->initFull(); $this->initFull();
try{
$text = \file_get_contents(ServConfig::getSharedIconPath('../hook/list.json?1'));
$storedIcons = Json::decode($text);
}
catch(\Exception $e){
$storedIcons = [];
}
$env['stored_icons'] = $storedIcons;
$remainGenerals = []; $remainGenerals = [];
foreach($this->generals as $general){ foreach($this->generals as $general){
if($general->build($env)){ if($general->build($env)){
@@ -292,7 +355,19 @@ class Scenario{
} }
} }
public function buildConf(){
$path = __dir__.'/../d_setting';
Util::generateFileUsingSimpleTemplate(
$path.'/GameCustomConst.orig.php',
$path.'/GameCustomConst.php',
$this->gameConf,
true
);
}
public function build($env=[]){ public function build($env=[]){
$this->initFull(); $this->initFull();
//NOTE: 초기화가 되어있다고 가정함. //NOTE: 초기화가 되어있다고 가정함.
@@ -306,6 +381,9 @@ class Scenario{
event변수 : currentEventID event변수 : currentEventID
*/ */
$db = DB::db(); $db = DB::db();
foreach($this->nations as $id=>$nation){ foreach($this->nations as $id=>$nation){
+41 -14
View File
@@ -1,6 +1,7 @@
<?php <?php
namespace sammo\Scenario; namespace sammo\Scenario;
use \sammo\Util; use \sammo\Util;
use \sammo\JosaUtil;
use \sammo\DB; use \sammo\DB;
use \sammo\CityHelper; use \sammo\CityHelper;
@@ -8,7 +9,7 @@ class NPC{
public $affinity; public $affinity;
public $name; public $name;
public $pictureID; public $picturePath;
public $nationID; public $nationID;
public $locatedCity; public $locatedCity;
public $leadership; public $leadership;
@@ -26,7 +27,7 @@ class NPC{
public function __construct( public function __construct(
int $affinity, int $affinity,
string $name, string $name,
int $pictureID, $picturePath,
int $nationID, int $nationID,
$locatedCity, //FIXME: 7.1로 올릴 때 ?string 으로 변경 $locatedCity, //FIXME: 7.1로 올릴 때 ?string 으로 변경
int $leadership, int $leadership,
@@ -41,7 +42,7 @@ class NPC{
){ ){
$this->affinity = $affinity; $this->affinity = $affinity;
$this->name = $name; $this->name = $name;
$this->pictureID = $pictureID; $this->picturePath = $picturePath;
$this->nationID = $nationID; $this->nationID = $nationID;
$this->locatedCity = $locatedCity; $this->locatedCity = $locatedCity;
$this->leadership = $leadership; $this->leadership = $leadership;
@@ -116,7 +117,8 @@ class NPC{
$db = DB::db(); $db = DB::db();
if($isNewGeneral){ if($isNewGeneral){
\sammo\pushWorldHistory(["<C>●</>{$month}월:<Y>{$name}</>(이)가 성인이 되어 <S>등장</>했습니다."], $year, $month); $josaYi = JosaUtil::pick($name, '이');
\sammo\pushWorldHistory(["<C>●</>{$month}월:<Y>{$name}</>{$josaYi} 성인이 되어 <S>등장</>했습니다."], $year, $month);
} }
if($this->ego == null || $isFictionMode){ if($this->ego == null || $isFictionMode){
@@ -142,15 +144,42 @@ class NPC{
$name = 'ⓝ'.$this->name; $name = 'ⓝ'.$this->name;
$pictureID = $this->pictureID; $picturePath = $this->picturePath;
if($env['show_img_level'] == 3 && $pictureID > 0){ if($env['show_img_level'] < 3){
$picture = "{$pictureID}.jpg"; $picturePath = 'default.jpg';
} }
else{ else if(is_numeric($picturePath)){
$picture = 'default.jpg'; if($picturePath < 0){
$picturePath = null;
}
else if(\key_exists($picturePath, $env['stored_icons']['.']??[])){
$picturePath = $env['stored_icons']['.'][$picturePath];
}
else{
$picturePath = null;
}
}
else if($picturePath !== null && in_array($picturePath, $env['stored_icons'][$env['icon_path']??'.']??[])){
$picturePath = ($env['icon_path']??'.').'/'.$picturePath;
}
else if($picturePath === null && \key_exists('stored_icons', $env)){
$target = $env['stored_icons']??[];
$target = $target[$env['icon_path']??'.']??[];
$picturePath = $target[$this->name]??null;
if($picturePath){
$picturePath = ($env['icon_path']??'.').'/'.$picturePath;
}
}
if($picturePath === null){
$picturePath = 'default.jpg';
} }
$city = $this->locatedCity; $city = $this->locatedCity;
if($city !== null){
$city = CityHelper::getCityByName($city)['id']??null;
}
if($city === null){ if($city === null){
if($nationID == 0 || !CityHelper::getAllNationCities($nationID)){ if($nationID == 0 || !CityHelper::getAllNationCities($nationID)){
$cityObj = Util::choiceRandom(CityHelper::getAllCities()); $cityObj = Util::choiceRandom(CityHelper::getAllCities());
@@ -161,14 +190,12 @@ class NPC{
'@phan-var array<string,string|int> $cityObj'; '@phan-var array<string,string|int> $cityObj';
$city = $cityObj['id']; $city = $cityObj['id'];
} }
else{
$city = CityHelper::getCityByName($city)['id'];
}
$experience = $age * 100; $experience = $age * 100;
$dedication = $age * 100; $dedication = $age * 100;
$level = $this->level; $level = $this->level;
if(!$level){ if(!$level || $isNewGeneral){
$level = $nationID?1:0; $level = $nationID?1:0;
} }
@@ -187,7 +214,7 @@ class NPC{
'npc_org'=>2, 'npc_org'=>2,
'affinity'=>$affinity, 'affinity'=>$affinity,
'name'=>$name, 'name'=>$name,
'picture'=>$picture, 'picture'=>$picturePath,
'nation'=>$nationID, 'nation'=>$nationID,
'city'=>$city, 'city'=>$city,
'leader'=>$this->leadership, 'leader'=>$this->leadership,
+11
View File
@@ -55,6 +55,10 @@ class Nation{
return $this->id; return $this->id;
} }
public function getName(){
return $this->name;
}
public function build($env=[]){ public function build($env=[]){
//NOTE: NPC의 숫자는 아직 확정된 것이 아니다. //NOTE: NPC의 숫자는 아직 확정된 것이 아니다.
$cities = array_map(function($cityName){ $cities = array_map(function($cityName){
@@ -133,6 +137,13 @@ class Nation{
'gennum'=>$npc_cnt, 'gennum'=>$npc_cnt,
'totaltech'=>$this->tech*$npc_cnt 'totaltech'=>$this->tech*$npc_cnt
], 'nation=%i', $this->id); ], 'nation=%i', $this->id);
//군주가 없는지 확인
$hasRuler = $db->queryFirstField('SELECT count(*) FROM general WHERE nation=%i AND level=12', $this->id);
if(!$hasRuler){
$newRuler = $db->queryFirstField('SELECT `no` FROM general WHERE nation=%i ORDER BY leader+power+intel DESC LIMIT 1', $this->id);
$db->update('general',['level'=>12], 'no=%i', $newRuler);
}
} }
public function getBrief(){ public function getBrief(){
+15 -9
View File
@@ -89,9 +89,11 @@ class ScoutMessage extends Message{
$this->invalidate(); $this->invalidate();
$this->validScout = false; $this->validScout = false;
$josaRo = JosaUtil::pick($this->src->nationName, '로');
$josaYi = JosaUtil::pick($this->dest->generalName, '이');
pushGenLog( pushGenLog(
['no'=>$this->dest->generalID], ['no'=>$this->dest->generalID],
["<C>●</><D>{$this->src->nationName}</>(으)로 망명하여 수도로 이동합니다."]); ["<C>●</><D>{$this->src->nationName}</>{$josaRo} 망명하여 수도로 이동합니다."]);
pushGenLog( pushGenLog(
['no'=>$this->src->generalID], ['no'=>$this->src->generalID],
["<C>●</><Y>{$this->dest->generalName}</> 등용에 성공했습니다."] ["<C>●</><Y>{$this->dest->generalName}</> 등용에 성공했습니다."]
@@ -101,10 +103,10 @@ class ScoutMessage extends Message{
"<C>●</>{$helper->year}{$helper->month}월:<Y>{$this->dest->generalName}</> 등용에 성공"); "<C>●</>{$helper->year}{$helper->month}월:<Y>{$this->dest->generalName}</> 등용에 성공");
pushGeneralHistory( pushGeneralHistory(
['no'=>$this->dest->generalID], ['no'=>$this->dest->generalID],
"<C>●</>{$helper->year}{$helper->month}월:<D>{$this->src->nationName}</>(으)로 망명" "<C>●</>{$helper->year}{$helper->month}월:<D>{$this->src->nationName}</>{$josaRo} 망명"
); );
pushGeneralPublicRecord( pushGeneralPublicRecord(
["<C>●</>{$helper->month}월:<Y>{$this->dest->generalName}</>(이)가 <D><b>{$this->src->nationName}</b></>(으)로 <S>망명</>하였습니다."], ["<C>●</>{$helper->month}월:<Y>{$this->dest->generalName}</>{$josaYi} <D><b>{$this->src->nationName}</b></>{$josaRo} <S>망명</>하였습니다."],
$helper->year, $helper->year,
$helper->month $helper->month
); );
@@ -113,7 +115,7 @@ class ScoutMessage extends Message{
self::MSGTYPE_PRIVATE, self::MSGTYPE_PRIVATE,
$this->src, $this->src,
$this->dest, $this->dest,
"{$this->src->nationName}(으)로 등용 제의 수락", "{$this->src->nationName}{$josaRo} 등용 제의 수락",
new \DateTime(), new \DateTime(),
new \DateTime('9999-12-31'), new \DateTime('9999-12-31'),
[ [
@@ -130,11 +132,12 @@ class ScoutMessage extends Message{
$this->invalidate(); $this->invalidate();
$this->validScout = false; $this->validScout = false;
$josaRo = JosaUtil::pick($this->src->nationName, '로');
$newMsg = new Message( $newMsg = new Message(
self::MSGTYPE_PRIVATE, self::MSGTYPE_PRIVATE,
$this->src, $this->src,
$this->dest, $this->dest,
"{$this->src->nationName}(으)로 등용 제의 거부", "{$this->src->nationName}{$josaRo} 등용 제의 거부",
new \DateTime(), new \DateTime(),
new \DateTime('9999-12-31'), new \DateTime('9999-12-31'),
[ [
@@ -158,14 +161,16 @@ class ScoutMessage extends Message{
return $result; return $result;
} }
pushGenLog(['no'=>$receiverID], "<C>●</><D>{$this->src->nationName}</>(으)로 망명을 거부했습니다."); $josaRo = JosaUtil::pick($this->src->nationName, '로');
pushGenLog(['no'=>$this->src->generalID], "<C>●</><Y>{$this->dest->generalName}</>(이)가 등용을 거부했습니다."); $josaYi = JosaUtil::pick($this->dest->generalName, '이');
pushGenLog(['no'=>$receiverID], "<C>●</><D>{$this->src->nationName}</>{$josaRo} 망명을 거부했습니다.");
pushGenLog(['no'=>$this->src->generalID], "<C>●</><Y>{$this->dest->generalName}</>{$josaYi} 등용을 거부했습니다.");
$this->_declineMessage(); $this->_declineMessage();
return self::DECLINED; return self::DECLINED;
} }
public static function buildScoutMessage(int $srcGeneralID, int $destGeneralID, &$reason = null, \DateTime $date = null): Message{ public static function buildScoutMessage(int $srcGeneralID, int $destGeneralID, &$reason = null, \DateTime $date = null){
if($srcGeneralID == $destGeneralID){ if($srcGeneralID == $destGeneralID){
if($reason !== null){ if($reason !== null){
$reason = '같은 장수에게 등용장을 보낼 수 없습니다'; $reason = '같은 장수에게 등용장을 보낼 수 없습니다';
@@ -220,7 +225,8 @@ class ScoutMessage extends Message{
$destNationInfo['color'] $destNationInfo['color']
); );
$msg = "{$src->nationName}(으)로 망명 권유 서신"; $josaRo = JosaUtil::pick($src->nationName, '로');
$msg = "{$src->nationName}{$josaRo} 망명 권유 서신";
$validUntil = new \DateTime("9999-12-31 12:59:59"); $validUntil = new \DateTime("9999-12-31 12:59:59");
$msgOption = [ $msgOption = [
+5 -2
View File
@@ -2,6 +2,9 @@
"stat":{ "stat":{
"total":150, "total":150,
"min":10, "min":10,
"max":75 "max":75,
} "npcMax":95,
"chiefMin":65
},
"iconPath":"."
} }
+30
View File
@@ -0,0 +1,30 @@
{
"title":"【모드명】 시나리오 명",
"life":0,
"fiction":0,
"nation":[
["str:국가명", "RGB string:국가컬러(사용가능한 것만)", "int:금", "int:쌀", "str:국가설명", "int:기술", "str:성향", "int:국가규모(0:방랑군 ~ 7:황제)",
["str:소속도시(첫번째 도시가 수도)"]
]
],
"diplomacy":[
["int:국가", "int:국가", "int:외교종류(0:전쟁, 1:선포, 7:불가침)", "int:기간(개월)"]
],
"general":[
["int?:상성(1~150, 999:영구재야, null:랜덤)", "str:장수명","str?:전콘경로(시나리오명/장수명.jpg,빈칸:없음)", "str?:소속국가(빈칸:재야)", "str?:도시(null:'랜덤)", "int:통", "int:무", "int:지", "int:관직(0:재야, 1:장수, 5~10:수뇌, 11:참모, 12:군주)", "int:생년", "int:몰년", "str?:성격(null:랜덤)", "str?:내특/전특(랜덤, 랜덤내특, 랜덤전특, null:미정)", "opt,str:대사"]
],
"general_ex":[
],
"cities":[
],
"history":[
"str:역사"
],
"initialActions":[
"array:event form"
],
"events":[
"array:event form"
]
}
+351 -353
View File
@@ -8,361 +8,359 @@
], ],
"stat":{ "stat":{
"total":220, "total":220,
"min":10, "min":40,
"max":95 "max":95,
"npcMax":95
}, },
"general":[ "general":[
[0, "김일융", -1, 0, null, 88, 83, 79, 0, 160, 300, null, null], [0, "김일융", null, 0, null, 88, 83, 79, 0, 160, 300, null, null],
[0, "이승엽", -1, 0, null, 90, 108, 37, 0, 160, 300, null, "위압", "안녕하세요 국민타자 이승엽입니다."], [0, "이승엽", null, 0, null, 90, 108, 37, 0, 160, 300, null, "위압", "안녕하세요 국민타자 이승엽입니다."],
[0, "마해영", -1, 0, null, 84, 84, 22, 0, 160, 300, null, null], [0, "마해영", null, 0, null, 84, 84, 22, 0, 160, 300, null, null],
[0, "채태인", -1, 0, null, 86, 54, 15, 0, 160, 300, null, null, "신대륙은 어디에…"], [0, "채태인", null, 0, null, 86, 54, 15, 0, 160, 300, null, null, "신대륙은 어디에…"],
[0, "김성래", -1, 0, null, 75, 86, 19, 0, 160, 300, null, null], [0, "김성래", null, 0, null, 75, 86, 19, 0, 160, 300, null, null],
[0, "강기웅", -1, 0, null, 82, 61, 83, 0, 160, 300, null, null], [0, "강기웅", null, 0, null, 82, 61, 83, 0, 160, 300, null, null],
[0, "나바로", -1, 0, null, 82, 85, 79, 0, 160, 300, null, null], [0, "나바로", null, 0, null, 82, 85, 79, 0, 160, 300, null, null],
[0, "김한수", -1, 0, null, 80, 82, 48, 0, 160, 300, null, null], [0, "김한수", null, 0, null, 80, 82, 48, 0, 160, 300, null, null],
[0, "조동찬", -1, 0, null, 55, 68, 75, 0, 160, 300, null, null], [0, "조동찬", null, 0, null, 55, 68, 75, 0, 160, 300, null, null],
[0, "류중일", -1, 0, null, 68, 34, 78, 0, 160, 300, null, null, "내 아들 상수야…"], [0, "류중일", null, 0, null, 68, 34, 78, 0, 160, 300, null, null, "내 아들 상수야…"],
[0, "김상수", -1, 0, null, 68, 21, 80, 0, 160, 300, null, null, "예 아부지…"], [0, "김상수", null, 0, null, 68, 21, 80, 0, 160, 300, null, null, "예 아부지…"],
[0, "박진만", -1, 0, null, 72, 78, 69, 0, 160, 300, null, null], [0, "박진만", null, 0, null, 72, 78, 69, 0, 160, 300, null, null],
[0, "양준혁", -1, 0, null, 97, 98, 91, 0, 160, 300, null, "무쌍", "내보다 강미노가 머리 더 큰데?"], [0, "양준혁", null, 0, null, 97, 98, 91, 0, 160, 300, null, "무쌍", "내보다 강미노가 머리 더 큰데?"],
[0, "박한이", -1, 0, null, 83, 77, 79, 0, 160, 300, null, null, "킁킁"], [0, "박한이", null, 0, null, 83, 77, 79, 0, 160, 300, null, null, "킁킁"],
[0, "최형우", -1, 0, null, 87, 86, 20, 0, 160, 300, null, null], [0, "최형우", null, 0, null, 87, 86, 20, 0, 160, 300, null, null],
[0, "장효조", -1, 0, null, 95, 39, 68, 0, 160, 300, null, null], [0, "장효조", null, 0, null, 95, 39, 68, 0, 160, 300, null, null],
[0, "동봉철", -1, 0, null, 65, 41, 74, 0, 160, 300, null, null], [0, "동봉철", null, 0, null, 65, 41, 74, 0, 160, 300, null, null],
[0, "강동우", -1, 0, null, 67, 53, 79, 0, 160, 300, null, null], [0, "강동우", null, 0, null, 67, 53, 79, 0, 160, 300, null, null],
[0, "신동주", -1, 0, null, 68, 71, 76, 0, 160, 300, null, null], [0, "이만수", null, 0, null, 89, 97, 49, 0, 160, 300, null, "필살"],
[0, "이만수", -1, 0, null, 89, 97, 49, 0, 160, 300, null, "필살"], [0, "진갑용", null, 0, null, 74, 80, 15, 0, 160, 300, null, null],
[0, "진갑용", -1, 0, null, 74, 80, 15, 0, 160, 300, null, null], [0, "김시진", null, 0, null, 84, 88, 75, 0, 160, 300, null, null],
[0, "김시진", -1, 0, null, 84, 88, 75, 0, 160, 300, null, null], [0, "배영수", null, 0, null, 79, 86, 87, 0, 160, 300, null, null],
[0, "배영수", -1, 0, null, 79, 86, 87, 0, 160, 300, null, null], [0, "윤성환", null, 0, null, 74, 86, 87, 0, 160, 300, null, null],
[0, "윤성환", -1, 0, null, 74, 86, 87, 0, 160, 300, null, null], [0, "안지만", null, 0, null, 69, 79, 75, 0, 160, 300, null, null],
[0, "안지만", -1, 0, null, 69, 79, 75, 0, 160, 300, null, null], [0, "김현욱", null, 0, null, 82, 85, 84, 0, 160, 300, null, null],
[0, "현욱", -1, 0, null, 82, 85, 84, 0, 160, 300, null, null], [0, "현욱", null, 0, null, 74, 83, 77, 0, 160, 300, null, null],
[0, "정현욱", -1, 0, null, 74, 83, 77, 0, 160, 300, null, null], [0, "권혁", null, 0, null, 75, 86, 62, 0, 160, 300, null, null],
[0, "권혁", -1, 0, null, 75, 86, 62, 0, 160, 300, null, null], [0, "임창용", null, 0, null, 83, 86, 80, 0, 160, 300, null, null],
[0, "임창용", -1, 0, null, 83, 86, 80, 0, 160, 300, null, null], [0, "오승환", null, 0, null, 97, 92, 89, 0, 160, 300, null, "위압"],
[0, "오승환", -1, 0, null, 97, 92, 89, 0, 160, 300, null, "위압"], [0, "권영호", null, 0, null, 83, 53, 76, 0, 160, 300, null, null],
[0, "권영호", -1, 0, null, 83, 53, 76, 0, 160, 300, null, null], [0, "이선희", null, 0, null, 83, 49, 74, 0, 160, 300, null, null],
[0, "이선희", -1, 0, null, 83, 49, 74, 0, 160, 300, null, null], [0, "공필성", null, 0, null, 46, 47, 77, 0, 160, 300, null, null],
[0, "공필성", -1, 0, null, 46, 47, 77, 0, 160, 300, null, null], [0, "양상문", null, 0, null, 76, 54, 76, 0, 160, 300, null, null],
[0, "양상문", -1, 0, null, 76, 54, 76, 0, 160, 300, null, null], [0, "윤형배", null, 0, null, 77, 69, 73, 0, 160, 300, null, null],
[0, "윤형배", -1, 0, null, 77, 69, 73, 0, 160, 300, null, null], [0, "박정태", null, 0, null, 84, 74, 39, 0, 160, 300, null, null],
[0, "박정태", -1, 0, null, 84, 74, 39, 0, 160, 300, null, null], [0, "주형광", null, 0, null, 79, 86, 84, 0, 160, 300, null, null],
[0, "주형광", -1, 0, null, 79, 86, 84, 0, 160, 300, null, null], [0, "강영식", null, 0, null, 63, 69, 60, 0, 160, 300, null, null],
[0, "강영식", -1, 0, null, 63, 69, 60, 0, 160, 300, null, null], [0, "김사율", null, 0, null, 74, 66, 67, 0, 160, 300, null, null],
[0, "김사율", -1, 0, null, 74, 66, 67, 0, 160, 300, null, null], [0, "배장호", null, 0, null, 62, 48, 60, 0, 160, 300, null, null],
[0, "배장호", -1, 0, null, 62, 48, 60, 0, 160, 300, null, null], [0, "손민한", null, 0, null, 85, 84, 94, 0, 160, 300, null, null, "팝콘이 먹고싶다"],
[0, "손민한", -1, 0, null, 85, 84, 94, 0, 160, 300, null, "환술", "팝콘이 먹고싶다"], [0, "송승준", null, 0, null, 65, 84, 67, 0, 160, 300, null, null],
[0, "송승준", -1, 0, null, 65, 84, 67, 0, 160, 300, null, null], [0, "이용훈", null, 0, null, 48, 58, 63, 0, 160, 300, null, null],
[0, "이용훈", -1, 0, null, 48, 58, 63, 0, 160, 300, null, null], [0, "임경완", null, 0, null, 68, 57, 39, 0, 160, 300, null, null],
[0, "임경완", -1, 0, null, 68, 57, 39, 0, 160, 300, null, null], [0, "장원준", null, 0, null, 75, 83, 74, 0, 160, 300, null, null],
[0, "장원준", -1, 0, null, 75, 83, 74, 0, 160, 300, null, null], [0, "조정훈", null, 0, null, 67, 59, 79, 0, 160, 300, null, null],
[0, "조정훈", -1, 0, null, 67, 59, 79, 0, 160, 300, null, null], [0, "최대성", null, 0, null, 69, 63, 38, 0, 160, 300, null, null],
[0, "최대성", -1, 0, null, 69, 63, 38, 0, 160, 300, null, null], [0, "허준혁", null, 0, null, 58, 51, 48, 0, 160, 300, null, null],
[0, "허준혁", -1, 0, null, 58, 51, 48, 0, 160, 300, null, null], [0, "강민호", null, 0, null, 75, 86, 48, 0, 160, 300, null, null, "모텔에 간민호"],
[0, "강민호", -1, 0, null, 75, 86, 48, 0, 160, 300, null, null, "모텔에 간민호"], [0, "최기문", null, 0, null, 65, 37, 64, 0, 160, 300, null, null],
[0, "최기문", -1, 0, null, 65, 37, 64, 0, 160, 300, null, null], [0, "임수혁", null, 0, null, 67, 44, 56, 0, 160, 300, null, null],
[0, "임수혁", -1, 0, null, 67, 44, 56, 0, 160, 300, null, null], [0, "김주찬", null, 0, null, 75, 53, 88, 0, 160, 300, null, null],
[0, "김주찬", -1, 0, null, 75, 53, 88, 0, 160, 300, null, null], [0, "문규현", null, 0, null, 46, 22, 49, 0, 160, 300, null, null],
[0, "문규현", -1, 0, null, 46, 22, 49, 0, 160, 300, null, null], [0, "박기혁", null, 0, null, 48, 25, 70, 0, 160, 300, null, null],
[0, "박기혁", -1, 0, null, 48, 25, 70, 0, 160, 300, null, null], [0, "이대호", null, 0, null, 95, 98, 10, 0, 160, 300, null, "무쌍", "마 니 일로 내리와"],
[0, "이대호", -1, 0, null, 95, 98, 10, 0, 160, 300, null, "무쌍", "마 니 일로 내리와 "], [0, "전준우", null, 0, null, 80, 72, 75, 0, 160, 300, null, null, "홈런! 홈런!....아냐?"],
[0, "전준우", -1, 0, null, 80, 72, 75, 0, 160, 300, null, null, "홈런! 홈런!....아냐?"], [0, "손아섭", null, 0, null, 89, 75, 82, 0, 160, 300, null, null],
[0, "손아섭", -1, 0, null, 89, 75, 82, 0, 160, 300, null, null], [0, "홍성흔", null, 0, null, 86, 77, 53, 0, 160, 300, null, null],
[0, "홍성흔", -1, 0, null, 86, 77, 53, 0, 160, 300, null, null], [0, "조성환", null, 0, null, 79, 42, 77, 0, 160, 300, null, null],
[0, "조성환", -1, 0, null, 79, 42, 77, 0, 160, 300, null, null], [0, "가르시아", null, 0, null, 70, 85, 12, 0, 160, 300, null, null],
[0, "가르시아", -1, 0, null, 70, 85, 12, 0, 160, 300, null, null], [0, "정보명", null, 0, null, 69, 31, 39, 0, 160, 300, null, null],
[0, "정보명", -1, 0, null, 69, 31, 39, 0, 160, 300, null, null], [0, "이재곤", null, 0, null, 40, 41, 39, 0, 160, 300, null, null],
[0, "이재곤", -1, 0, null, 40, 41, 39, 0, 160, 300, null, null], [0, "염종석", null, 0, null, 83, 90, 93, 0, 160, 300, null, null],
[0, "염종석", -1, 0, null, 83, 90, 93, 0, 160, 300, null, null], [0, "황재균", null, 0, null, 79, 77, 83, 0, 160, 300, null, null, "안녕하세요 섹머입니다"],
[0, "황재균", -1, 0, null, 79, 77, 83, 0, 160, 300, null, null, "안녕하세요 섹머입니다"], [0, "윤학길", null, 0, null, 81, 76, 82, 0, 160, 300, null, null],
[0, "윤학길", -1, 0, null, 81, 76, 82, 0, 160, 300, null, "집중"], [0, "가득염", null, 0, null, 60, 67, 61, 0, 160, 300, null, null],
[0, "가득염", -1, 0, null, 60, 67, 61, 0, 160, 300, null, null], [0, "조경환", null, 0, null, 57, 78, 20, 0, 160, 300, null, null],
[0, "조경환", -1, 0, null, 57, 78, 20, 0, 160, 300, null, null], [0, "강상수", null, 0, null, 65, 66, 58, 0, 160, 300, null, null],
[0, "강상수", -1, 0, null, 65, 66, 58, 0, 160, 300, null, null], [0, "최준석", null, 0, null, 79, 86, 10, 0, 160, 300, null, null],
[0, "최준석", -1, 0, null, 79, 86, 10, 0, 160, 300, null, null], [0, "최동원", null, 0, null, 98, 94, 96, 0, 160, 300, null, "환술", "무쇠팔 최동원"],
[0, "최동원", -1, 0, null, 98, 94, 96, 0, 160, 300, null, "환술", "무쇠팔 최동원"], [0, "김용철", null, 0, null, 77, 79, 67, 0, 160, 300, null, null],
[0, "김용", -1, 0, null, 77, 79, 67, 0, 160, 300, null, null], [0, "김용", null, 0, null, 67, 64, 21, 0, 160, 300, null, null],
[0, "김용희", -1, 0, null, 67, 64, 21, 0, 160, 300, null, null], [0, "호세", null, 0, null, 88, 86, 39, 0, 160, 300, null, null, "헤이 영쑤! 돈 두 댓!"],
[0, "호세", -1, 0, null, 88, 86, 39, 0, 160, 300, null, null, "헤이 영쑤! 돈 두 댓!"], [0, "감사용", null, 0, null, 37, 18, 65, 0, 160, 300, null, null],
[0, "감사용", -1, 0, null, 37, 18, 65, 0, 160, 300, null, null], [0, "금광옥", null, 0, null, 31, 30, 39, 0, 160, 300, null, null],
[0, "금광옥", -1, 0, null, 31, 30, 39, 0, 160, 300, null, null], [0, "김무관", null, 0, null, 20, 7, 43, 0, 160, 300, null, null],
[0, "김무관", -1, 0, null, 20, 7, 43, 0, 160, 300, null, null], [0, "양승관", null, 0, null, 46, 44, 22, 0, 160, 300, null, null],
[0, "양승관", -1, 0, null, 46, 44, 22, 0, 160, 300, null, null], [0, "박철순", null, 0, null, 89, 82, 80, 0, 160, 300, null, "무쌍"],
[0, "박철순", -1, 0, null, 89, 82, 80, 0, 160, 300, null, "필살"], [0, "하기룡", null, 0, null, 82, 58, 64, 0, 160, 300, null, null],
[0, "하기룡", -1, 0, null, 82, 58, 64, 0, 160, 300, null, null], [0, "황규봉", null, 0, null, 83, 48, 72, 0, 160, 300, null, null],
[0, "황규봉", -1, 0, null, 83, 48, 72, 0, 160, 300, null, null], [0, "계형철", null, 0, null, 74, 75, 70, 0, 160, 300, null, null],
[0, "계형철", -1, 0, null, 74, 75, 70, 0, 160, 300, null, null], [0, "김경문", null, 0, null, 48, 9, 34, 0, 160, 300, null, null],
[0, "김경문", -1, 0, null, 48, 9, 34, 0, 160, 300, null, null], [0, "조범현", null, 0, null, 29, 25, 83, 0, 160, 300, null, null],
[0, "조범현", -1, 0, null, 29, 25, 83, 0, 160, 300, null, null], [0, "백인천", null, 0, null, 95, 77, 66, 0, 160, 300, null, null],
[0, "백인천", -1, 0, null, 95, 77, 66, 0, 160, 300, null, null], [0, "김인식", null, 0, null, 58, 15, 75, 0, 160, 300, null, null],
[0, "김인식", -1, 0, null, 58, 15, 75, 0, 160, 300, null, null], [0, "김재박", null, 0, null, 73, 29, 91, 0, 160, 300, null, null],
[0, "김재박", -1, 0, null, 73, 29, 91, 0, 160, 300, null, null], [0, "박정현", null, 0, null, 82, 78, 80, 0, 160, 300, null, null],
[0, "박정현", -1, 0, null, 82, 78, 80, 0, 160, 300, null, null], [0, "전준호", null, 0, null, 79, 42, 101, 0, 160, 300, null, null, "전설의 대도"],
[0, "전준호", -1, 0, null, 79, 42, 101, 0, 160, 300, null, null, "전설의 대도"], [0, "심정수", null, 0, null, 80, 92, 41, 0, 160, 300, null, null],
[0, "심정수", -1, 0, null, 80, 92, 41, 0, 160, 300, null, null], [0, "박재홍", null, 0, null, 87, 95, 94, 0, 160, 300, null, "무쌍"],
[0, "박재홍", -1, 0, null, 87, 95, 94, 0, 160, 300, null, "무쌍"], [0, "박경완", null, 0, null, 48, 89, 79, 0, 160, 300, null, null],
[0, "박경완", -1, 0, null, 48, 89, 79, 0, 160, 300, null, null], [0, "박종호", null, 0, null, 76, 76, 81, 0, 160, 300, null, null],
[0, "박종호", -1, 0, null, 76, 76, 81, 0, 160, 300, null, null], [0, "이숭용", null, 0, null, 81, 83, 67, 0, 160, 300, null, null],
[0, "이숭용", -1, 0, null, 81, 83, 67, 0, 160, 300, null, null], [0, "송지만", null, 0, null, 78, 89, 86, 0, 160, 300, null, null],
[0, "송지만", -1, 0, null, 78, 89, 86, 0, 160, 300, null, null], [0, "나이트", null, 0, null, 75, 79, 82, 0, 160, 300, null, null],
[0, "나이트", -1, 0, null, 75, 79, 82, 0, 160, 300, null, null], [0, "송신영", null, 0, null, 67, 69, 69, 0, 160, 300, null, null],
[0, "송신영", -1, 0, null, 67, 69, 69, 0, 160, 300, null, null], [0, "이택근", null, 0, null, 86, 80, 83, 0, 160, 300, null, null],
[0, "이택근", -1, 0, null, 86, 80, 83, 0, 160, 300, null, null], [0, "위재영", null, 0, null, 80, 69, 67, 0, 160, 300, null, null],
[0, "위재영", -1, 0, null, 80, 69, 67, 0, 160, 300, null, null], [0, "데이비스", null, 0, null, 89, 83, 77, 0, 160, 300, null, null],
[0, "김성래", -1, 0, null, 77, 81, 23, 0, 160, 300, null, null], [0, "임선동", null, 0, null, 67, 72, 76, 0, 160, 300, null, null],
[0, "데이비스", -1, 0, null, 89, 83, 77, 0, 160, 300, null, null], [0, "우즈", null, 0, null, 89, 90, 36, 0, 160, 300, null, "필살"],
[0, "임선동", -1, 0, null, 67, 72, 76, 0, 160, 300, null, null], [0, "성준", null, 0, null, 78, 58, 67, 0, 160, 300, null, null],
[0, "우즈", -1, 0, null, 89, 90, 36, 0, 160, 300, null, "필살"], [0, "장명부", null, 0, null, 84, 82, 76, 0, 160, 300, null, null],
[0, "성준", -1, 0, null, 78, 58, 67, 0, 160, 300, null, null], [0, "정명원", null, 0, null, 89, 84, 76, 0, 160, 300, null, null],
[0, "장명부", -1, 0, null, 84, 82, 76, 0, 160, 300, null, null], [0, "김응국", null, 0, null, 82, 79, 86, 0, 160, 300, null, null],
[0, "정명원", -1, 0, null, 89, 84, 76, 0, 160, 300, null, null], [0, "강정호", null, 0, null, 81, 81, 48, 0, 160, 300, null, null],
[0, "김응국", -1, 0, null, 82, 79, 86, 0, 160, 300, null, null], [0, "박병호", null, 0, null, 80, 95, 56, 0, 160, 300, null, "위압"],
[0, "강정호", -1, 0, null, 81, 81, 48, 0, 160, 300, null, null], [0, "김민성", null, 0, null, 79, 80, 38, 0, 160, 300, null, null],
[0, "박병호", -1, 0, null, 80, 95, 56, 0, 160, 300, null, "위압"], [0, "서건창", null, 0, null, 94, 26, 91, 0, 160, 300, null, "환술"],
[0, "김성", -1, 0, null, 79, 80, 38, 0, 160, 300, null, null], [0, "김성", null, 0, null, 80, 63, 69, 0, 160, 300, null, null],
[0, "서건창", -1, 0, null, 94, 26, 91, 0, 160, 300, null, "환술"], [0, "이정후", null, 0, null, 86, 8, 15, 0, 160, 300, null, null],
[0, "김하성", -1, 0, null, 80, 63, 69, 0, 160, 300, null, null], [0, "정민태", null, 0, null, 77, 78, 82, 0, 160, 300, null, null],
[0, "이정후", -1, 0, null, 86, 8, 15, 0, 160, 300, null, null], [0, "정경배", null, 0, null, 64, 76, 67, 0, 160, 300, null, null],
[0, "정민태", -1, 0, null, 77, 78, 82, 0, 160, 300, null, null], [0, "김기태", null, 0, null, 86, 90, 76, 0, 160, 300, null, null],
[0, "정경배", -1, 0, null, 64, 76, 67, 0, 160, 300, null, null], [0, "이승호", null, 0, null, 71, 80, 53, 0, 160, 300, null, null],
[0, "김기태", -1, 0, null, 86, 90, 76, 0, 160, 300, null, null], [0, "김광현", null, 0, null, 84, 90, 86, 0, 160, 300, null, "무쌍", "제가 현진이형보단 낫죠"],
[0, "이승호", -1, 0, null, 71, 80, 53, 0, 160, 300, null, null], [0, "박정배", null, 0, null, 62, 63, 67, 0, 160, 300, null, null],
[0, "김광현", -1, 0, null, 84, 90, 86, 0, 160, 300, null, "무쌍", "제가 현진이형보단 낫죠"], [0, "채병용", null, 0, null, 68, 77, 79, 0, 160, 300, null, null],
[0, "박정배", -1, 0, null, 62, 63, 67, 0, 160, 300, null, null], [0, "윤희상", null, 0, null, 56, 58, 67, 0, 160, 300, null, null],
[0, "채병용", -1, 0, null, 68, 77, 79, 0, 160, 300, null, null], [0, "이재원", null, 0, null, 83, 67, 10, 0, 160, 300, null, null],
[0, "윤희상", -1, 0, null, 56, 58, 67, 0, 160, 300, null, null], [0, "박정권", null, 0, null, 78, 83, 53, 0, 160, 300, null, null],
[0, "이재원", -1, 0, null, 83, 67, 10, 0, 160, 300, null, null], [0, "나주환", null, 0, null, 68, 67, 72, 0, 160, 300, null, null],
[0, "박정권", -1, 0, null, 78, 83, 53, 0, 160, 300, null, null], [0, "최정", null, 0, null, 89, 91, 88, 0, 160, 300, null, "무쌍"],
[0, "나주환", -1, 0, null, 68, 67, 72, 0, 160, 300, null, null], [0, "조동화", null, 0, null, 48, 11, 83, 0, 160, 300, null, null],
[0, "최정", -1, 0, null, 89, 91, 88, 0, 160, 300, null, "무쌍"], [0, "김강민", null, 0, null, 77, 77, 82, 0, 160, 300, null, null],
[0, "조동화", -1, 0, null, 48, 11, 83, 0, 160, 300, null, null], [0, "박용택", null, 0, null, 92, 90, 92, 0, 160, 300, null, "신중", "팬 여러분 올해는 유광잠바 준비하셔야 될 겁니다"],
[0, "김강민", -1, 0, null, 77, 77, 82, 0, 160, 300, null, null], [0, "이병규", null, 0, null, 93, 90, 89, 0, 160, 300, null, "필살"],
[0, "박용택", -1, 0, null, 92, 90, 92, 0, 160, 300, null, "환술", "팬 여러분 올해는 유광잠바 준비하셔야 될 겁니다"], [0, "조인성", null, 0, null, 49, 86, 25, 0, 160, 300, null, null],
[0, "이병규", -1, 0, null, 93, 90, 89, 0, 160, 300, null, "위압"], [0, "김동수", null, 0, null, 65, 86, 65, 0, 160, 300, null, null],
[0, "조인성", -1, 0, null, 49, 86, 25, 0, 160, 300, null, null], [0, "유지현", null, 0, null, 76, 57, 87, 0, 160, 300, null, null],
[0, "김동수", -1, 0, null, 65, 86, 65, 0, 160, 300, null, null], [0, "김재현", null, 0, null, 85, 86, 77, 0, 160, 300, null, null],
[0, "유지현", -1, 0, null, 76, 57, 87, 0, 160, 300, null, null], [0, "이상훈", null, 0, null, 95, 90, 87, 0, 160, 300, null, "무쌍"],
[0, "김재현", -1, 0, null, 85, 86, 77, 0, 160, 300, null, null], [0, "서용빈", null, 0, null, 81, 22, 87, 0, 160, 300, null, null],
[0, "이상훈", -1, 0, null, 95, 90, 87, 0, 160, 300, null, "무쌍"], [0, "봉중근", null, 0, null, 77, 68, 44, 0, 160, 300, null, null],
[0, "서용빈", -1, 0, null, 81, 22, 87, 0, 160, 300, null, null], [0, "차우찬", null, 0, null, 67, 82, 49, 0, 160, 300, null, null],
[0, "봉중근", -1, 0, null, 77, 68, 44, 0, 160, 300, null, null], [0, "오지환", null, 0, null, 57, 68, 80, 0, 160, 300, null, null, "경기를 지배하는 오지배입니다"],
[0, "차우찬", -1, 0, null, 67, 82, 49, 0, 160, 300, null, null], [0, "금민철", null, 0, null, 61, 50, 42, 0, 160, 300, null, null],
[0, "오지환", -1, 0, null, 57, 68, 80, 0, 160, 300, null, null, "경기를 지배하는 오지배입니다"], [0, "김동주", null, 0, null, 92, 92, 48, 0, 160, 300, null, "위압"],
[0, "금민철", -1, 0, null, 61, 50, 42, 0, 160, 300, null, null], [0, "김선우", null, 0, null, 65, 67, 74, 0, 160, 300, null, null],
[0, "김동주", -1, 0, null, 92, 92, 48, 0, 160, 300, null, "위압"], [0, "김재호", null, 0, null, 68, 21, 58, 0, 160, 300, null, null],
[0, "김선우", -1, 0, null, 65, 67, 74, 0, 160, 300, null, null], [0, "노경은", null, 0, null, 48, 59, 61, 0, 160, 300, null, null],
[0, "김재호", -1, 0, null, 68, 21, 58, 0, 160, 300, null, null], [0, "니퍼트", null, 0, null, 76, 88, 67, 0, 160, 300, null, null],
[0, "노경은", -1, 0, null, 48, 59, 61, 0, 160, 300, null, null], [0, "류택현", null, 0, null, 65, 79, 63, 0, 160, 300, null, null],
[0, "니퍼트", -1, 0, null, 76, 88, 67, 0, 160, 300, null, null], [0, "민병헌", null, 0, null, 84, 53, 81, 0, 160, 300, null, null],
[0, "류택현", -1, 0, null, 65, 79, 63, 0, 160, 300, null, null], [0, "박명환", null, 0, null, 72, 80, 41, 0, 160, 300, null, null, "배추 좀 주세요"],
[0, "민병헌", -1, 0, null, 84, 53, 81, 0, 160, 300, null, null], [0, "안경현", null, 0, null, 67, 78, 34, 0, 160, 300, null, null],
[0, "박명환", -1, 0, null, 72, 80, 41, 0, 160, 300, null, null, "배추 좀 주세요"], [0, "양의지", null, 0, null, 83, 77, 39, 0, 160, 300, null, null],
[0, "안경현", -1, 0, null, 67, 78, 34, 0, 160, 300, null, null], [0, "오재원", null, 0, null, 67, 30, 87, 0, 160, 300, null, null, "식빵!"],
[0, "양의지", -1, 0, null, 83, 77, 39, 0, 160, 300, null, null], [0, "유희관", null, 0, null, 65, 76, 69, 0, 160, 300, null, null, "싸인해드릴까요?"],
[0, "오재원", -1, 0, null, 67, 30, 87, 0, 160, 300, null, null, "식빵!"], [0, "이용찬", null, 0, null, 68, 72, 74, 0, 160, 300, null, null],
[0, "유희관", -1, 0, null, 65, 76, 69, 0, 160, 300, null, null, "싸인해드릴까요?"], [0, "이성열", null, 0, null, 48, 77, 41, 0, 160, 300, null, null],
[0, "이용찬", -1, 0, null, 68, 72, 74, 0, 160, 300, null, null], [0, "이재영", null, 0, null, 63, 64, 39, 0, 160, 300, null, null],
[0, "이성열", -1, 0, null, 48, 77, 41, 0, 160, 300, null, null], [0, "이종욱", null, 0, null, 83, 35, 91, 0, 160, 300, null, null],
[0, "이재영", -1, 0, null, 63, 64, 39, 0, 160, 300, null, null], [0, "이현승", null, 0, null, 63, 65, 67, 0, 160, 300, null, null],
[0, "이종욱", -1, 0, null, 83, 35, 91, 0, 160, 300, null, null], [0, "이혜천", null, 0, null, 62, 50, 48, 0, 160, 300, null, null],
[0, "이현승", -1, 0, null, 63, 65, 67, 0, 160, 300, null, null], [0, "전병두", null, 0, null, 71, 78, 29, 0, 160, 300, null, null],
[0, "이혜천", -1, 0, null, 62, 50, 48, 0, 160, 300, null, null], [0, "정대현", null, 0, null, 88, 58, 70, 0, 160, 300, null, null],
[0, "전병두", -1, 0, null, 71, 78, 29, 0, 160, 300, null, null], [0, "정수빈", null, 0, null, 72, 19, 83, 0, 160, 300, null, null],
[0, "정대현", -1, 0, null, 88, 58, 70, 0, 160, 300, null, null], [0, "정수근", null, 0, null, 76, 26, 89, 0, 160, 300, null, null],
[0, "정수빈", -1, 0, null, 72, 19, 83, 0, 160, 300, null, null], [0, "홍상삼", null, 0, null, 59, 49, 51, 0, 160, 300, null, null],
[0, "정수근", -1, 0, null, 76, 26, 89, 0, 160, 300, null, null], [0, "손시헌", null, 0, null, 68, 57, 31, 0, 160, 300, null, null],
[0, "홍상삼", -1, 0, null, 59, 49, 51, 0, 160, 300, null, null], [0, "박민우", null, 0, null, 86, 8, 76, 0, 160, 300, null, null],
[0, "손시헌", -1, 0, null, 68, 57, 31, 0, 160, 300, null, null], [0, "모창민", null, 0, null, 68, 57, 60, 0, 160, 300, null, null],
[0, "박민우", -1, 0, null, 86, 8, 76, 0, 160, 300, null, null], [0, "지석훈", null, 0, null, 39, 38, 12, 0, 160, 300, null, null],
[0, "모창민", -1, 0, null, 68, 57, 60, 0, 160, 300, null, null], [0, "박석민", null, 0, null, 79, 84, 23, 0, 160, 300, null, null, "브로콜리 돼지 나가신다"],
[0, "지석훈", -1, 0, null, 39, 38, 12, 0, 160, 300, null, null], [0, "이민호", null, 0, null, 57, 78, 53, 0, 160, 300, null, null],
[0, "박석민", -1, 0, null, 79, 84, 23, 0, 160, 300, null, null, "브로콜리 돼지 나가신다"], [0, "김진성", null, 0, null, 63, 67, 69, 0, 160, 300, null, null],
[0, "이민호", -1, 0, null, 57, 78, 53, 0, 160, 300, null, null], [0, "권희동", null, 0, null, 49, 41, 21, 0, 160, 300, null, null],
[0, "김진성", -1, 0, null, 63, 67, 69, 0, 160, 300, null, null], [0, "임창민", null, 0, null, 71, 67, 63, 0, 160, 300, null, null],
[0, "권희동", -1, 0, null, 49, 41, 21, 0, 160, 300, null, null], [0, "원종현", null, 0, null, 62, 67, 71, 0, 160, 300, null, null],
[0, "임창민", -1, 0, null, 71, 67, 63, 0, 160, 300, null, null], [0, "이재학", null, 0, null, 62, 53, 58, 0, 160, 300, null, null],
[0, "원종현", -1, 0, null, 62, 67, 71, 0, 160, 300, null, null], [0, "최금강", null, 0, null, 44, 48, 53, 0, 160, 300, null, null],
[0, "이재학", -1, 0, null, 62, 53, 58, 0, 160, 300, null, null], [0, "김상엽", null, 0, null, 68, 60, 39, 0, 160, 300, null, null],
[0, "최금강", -1, 0, null, 44, 48, 53, 0, 160, 300, null, null], [0, "김수경", null, 0, null, 67, 82, 58, 0, 160, 300, null, null],
[0, "김상엽", -1, 0, null, 68, 60, 39, 0, 160, 300, null, null], [0, "테임즈", null, 0, null, 94, 96, 76, 0, 160, 300, null, "무쌍", "황재균은 섹x머신이다"],
[0, "김수경", -1, 0, null, 67, 82, 58, 0, 160, 300, null, null], [0, "나성범", null, 0, null, 90, 83, 70, 0, 160, 300, null, "필살"],
[0, "테임즈", -1, 0, null, 94, 96, 76, 0, 160, 300, null, "무쌍", "황재균은 섹x머신이다"], [0, "김성한", null, 0, null, 80, 86, 79, 0, 160, 300, null, null],
[0, "나성범", -1, 0, null, 90, 83, 70, 0, 160, 300, null, "필살"], [0, "방수원", null, 0, null, 74, 53, 76, 0, 160, 300, null, null],
[0, "김성한", -1, 0, null, 80, 86, 79, 0, 160, 300, null, null], [0, "김봉연", null, 0, null, 74, 79, 40, 0, 160, 300, null, null],
[0, "방수원", -1, 0, null, 74, 53, 76, 0, 160, 300, null, null], [0, "김일권", null, 0, null, 53, 29, 95, 0, 160, 300, null, null],
[0, "김봉연", -1, 0, null, 74, 79, 40, 0, 160, 300, null, null], [0, "김종모", null, 0, null, 85, 70, 31, 0, 160, 300, null, null],
[0, "김일권", -1, 0, null, 53, 29, 95, 0, 160, 300, null, null], [0, "선동열", null, 0, null, 104, 96, 99, 0, 160, 300, null, "집중", "무등산 폭격기"],
[0, "김종모", -1, 0, null, 85, 70, 31, 0, 160, 300, null, null], [0, "이종범", null, 0, null, 91, 93, 103, 0, 160, 300, null, "환술", "내겐 보이지 않는 무언가가 있다"],
[0, "선동열", -1, 0, null, 104, 96, 99, 0, 160, 300, null, "집중", "무등산 폭격기"], [0, "문희수", null, 0, null, 72, 61, 63, 0, 160, 300, null, null],
[0, "이종범", -1, 0, null, 91, 93, 103, 0, 160, 300, null, "환술", "내겐 보이지 않는 무언가가 있다"], [0, "이순철", null, 0, null, 63, 80, 87, 0, 160, 300, null, null, "LG는 내 덕에 강팀이 되었지"],
[0, "문희수", -1, 0, null, 72, 61, 63, 0, 160, 300, null, null], [0, "차동철", null, 0, null, 73, 23, 67, 0, 160, 300, null, null],
[0, "유승안", -1, 0, null, 65, 73, 34, 0, 160, 300, null, null], [0, "한대화", null, 0, null, 79, 82, 71, 0, 160, 300, null, null],
[0, "이철", -1, 0, null, 63, 80, 87, 0, 160, 300, null, null, "LG는 내 덕에 강팀이 되었지"], [0, "이철", null, 0, null, 83, 81, 62, 0, 160, 300, null, null],
[0, "차동철", -1, 0, null, 73, 23, 67, 0, 160, 300, null, null], [0, "조계현", null, 0, null, 86, 71, 73, 0, 160, 300, null, "무쌍"],
[0, "한대화", -1, 0, null, 79, 82, 71, 0, 160, 300, null, null], [0, "최향남", null, 0, null, 63, 64, 34, 0, 160, 300, null, null],
[0, "이강철", -1, 0, null, 83, 81, 62, 0, 160, 300, null, null], [0, "홍현우", null, 0, null, 71, 84, 81, 0, 160, 300, null, null],
[0, "조계현", -1, 0, null, 86, 71, 73, 0, 160, 300, null, "무쌍"], [0, "이대진", null, 0, null, 73, 74, 58, 0, 160, 300, null, null],
[0, "최향남", -1, 0, null, 63, 64, 34, 0, 160, 300, null, null], [0, "장채근", null, 0, null, 30, 72, 31, 0, 160, 300, null, null],
[0, "홍현우", -1, 0, null, 71, 84, 81, 0, 160, 300, null, null], [0, "김종국", null, 0, null, 46, 62, 86, 0, 160, 300, null, null],
[0, "이대진", -1, 0, null, 73, 74, 58, 0, 160, 300, null, null], [0, "곽채진", null, 0, null, 61, 67, 59, 0, 160, 300, null, null],
[0, "장채근", -1, 0, null, 30, 72, 31, 0, 160, 300, null, null], [0, "황두성", null, 0, null, 73, 79, 51, 0, 160, 300, null, null],
[0, "김종국", -1, 0, null, 46, 62, 86, 0, 160, 300, null, null], [0, "이호준", null, 0, null, 82, 86, 51, 0, 160, 300, null, null, "인생은 이호준처럼"],
[0, "곽채진", -1, 0, null, 61, 67, 59, 0, 160, 300, null, null], [0, "장성호", null, 0, null, 84, 83, 74, 0, 160, 300, null, null],
[0, "황두성", -1, 0, null, 73, 79, 51, 0, 160, 300, null, null], [0, "정성훈", null, 0, null, 84, 80, 77, 0, 160, 300, null, null],
[0, "이호준", -1, 0, null, 82, 86, 51, 0, 160, 300, null, null, "인생은 이호준처럼"], [0, "최상덕", null, 0, null, 61, 67, 73, 0, 160, 300, null, null],
[0, "장성호", -1, 0, null, 84, 83, 74, 0, 160, 300, null, null], [0, "홍세완", null, 0, null, 67, 72, 39, 0, 160, 300, null, null],
[0, "정성훈", -1, 0, null, 84, 80, 77, 0, 160, 300, null, null], [0, "리오스", null, 0, null, 81, 76, 71, 0, 160, 300, null, null],
[0, "최상덕", -1, 0, null, 61, 67, 73, 0, 160, 300, null, null], [0, "차일목", null, 0, null, 38, 31, 34, 0, 160, 300, null, null],
[0, "홍세완", -1, 0, null, 67, 72, 39, 0, 160, 300, null, null], [0, "진필중", null, 0, null, 79, 83, 75, 0, 160, 300, null, null],
[0, "리오스", -1, 0, null, 81, 76, 71, 0, 160, 300, null, null], [0, "유동훈", null, 0, null, 74, 51, 64, 0, 160, 300, null, null],
[0, "차일목", -1, 0, null, 38, 31, 34, 0, 160, 300, null, null], [0, "이재주", null, 0, null, 48, 77, 6, 0, 160, 300, null, null],
[0, "진필중", -1, 0, null, 79, 83, 75, 0, 160, 300, null, null], [0, "심재학", null, 0, null, 66, 75, 26, 0, 160, 300, null, null],
[0, "유동훈", -1, 0, null, 74, 51, 64, 0, 160, 300, null, null], [0, "이용규", null, 0, null, 86, 20, 86, 0, 160, 300, null, null],
[0, "이재주", -1, 0, null, 48, 77, 6, 0, 160, 300, null, null], [0, "윤석민", null, 0, null, 86, 79, 81, 0, 160, 300, null, null, "죄송합니다 제가 공황장애가 와서.."],
[0, "심재학", -1, 0, null, 66, 75, 26, 0, 160, 300, null, null], [0, "조규제", null, 0, null, 83, 76, 58, 0, 160, 300, null, null],
[0, "이용규", -1, 0, null, 86, 20, 86, 0, 160, 300, null, null], [0, "한기주", null, 0, null, 72, 57, 58, 0, 160, 300, null, null, "속이 꽉찬 남자 99.9"],
[0, "윤석민", -1, 0, null, 86, 79, 81, 0, 160, 300, null, null, "죄송합니다 제가 공황장애가 와서.."], [0, "이동현", null, 0, null, 71, 63, 50, 0, 160, 300, null, null],
[0, "조규제", -1, 0, null, 83, 76, 58, 0, 160, 300, null, null], [0, "김원섭", null, 0, null, 67, 29, 77, 0, 160, 300, null, null],
[0, "한기주", -1, 0, null, 72, 57, 58, 0, 160, 300, null, null, "속이 꽉찬 남자 99.9"], [0, "신동주", null, 0, null, 68, 76, 79, 0, 160, 300, null, null],
[0, "이동현", -1, 0, null, 71, 63, 50, 0, 160, 300, null, null], [0, "김진우", null, 0, null, 70, 72, 59, 0, 160, 300, null, null],
[0, "김원섭", -1, 0, null, 67, 29, 77, 0, 160, 300, null, null], [0, "최희섭", null, 0, null, 82, 79, 29, 0, 160, 300, null, null, "형 저 메이저리거에요"],
[0, "신동주", -1, 0, null, 68, 76, 79, 0, 160, 300, null, null], [0, "서재응", null, 0, null, 67, 69, 80, 0, 160, 300, null, null],
[0, "김진우", -1, 0, null, 70, 72, 59, 0, 160, 300, null, null], [0, "나지완", null, 0, null, 76, 81, 33, 0, 160, 300, null, null],
[0, "최희섭", -1, 0, null, 82, 79, 29, 0, 160, 300, null, null, "형 저 메이저리거에요"], [0, "채종범", null, 0, null, 60, 48, 31, 0, 160, 300, null, null],
[0, "서재응", -1, 0, null, 67, 69, 80, 0, 160, 300, null, null], [0, "로페즈", null, 0, null, 73, 67, 80, 0, 160, 300, null, null],
[0, "나지완", -1, 0, null, 76, 81, 33, 0, 160, 300, null, null], [0, "안치홍", null, 0, null, 83, 67, 73, 0, 160, 300, null, null],
[0, "채종범", -1, 0, null, 60, 48, 31, 0, 160, 300, null, null], [0, "양현종", null, 0, null, 75, 78, 72, 0, 160, 300, null, null],
[0, "로페즈", -1, 0, null, 73, 67, 80, 0, 160, 300, null, null], [0, "김선빈", null, 0, null, 86, 16, 76, 0, 160, 300, null, null],
[0, "안치홍", -1, 0, null, 83, 67, 73, 0, 160, 300, null, null], [0, "이범호", null, 0, null, 67, 88, 48, 0, 160, 300, null, null, "꽃보다 아름다운 남자"],
[0, "양현종", -1, 0, null, 75, 78, 72, 0, 160, 300, null, null], [0, "김상현", null, 0, null, 53, 82, 50, 0, 160, 300, null, null],
[0, "김선빈", -1, 0, null, 86, 16, 76, 0, 160, 300, null, null], [0, "이대형", null, 0, null, 74, 12, 94, 0, 160, 300, null, null, "누구보다 빠르게 난 남들과는 다르게"],
[0, "이범호", -1, 0, null, 67, 88, 48, 0, 160, 300, null, null, "꽃보다 아름다운 남자"], [0, "김병현", null, 0, null, 97, 92, 73, 0, 160, 300, null, "필살"],
[0, "김상현", -1, 0, null, 53, 82, 50, 0, 160, 300, null, null], [0, "박찬호", null, 0, null, 102, 103, 96, 0, 160, 300, null, "위압", "안녕하세요 제가 LA에 있을 시절부터 놀란 라이언같은 투수가 되고 싶었는데요. 그래서 런닝도 하고 웨이트도 하다보니 어느덧 강속구 투수가 되어서…"],
[0, "이대형", -1, 0, null, 74, 12, 94, 0, 160, 300, null, null, "누구보다 빠르게 난 남들과는 다르게"],
[0, "김병현", -1, 0, null, 97, 92, 73, 0, 160, 300, null, "필살"], [0, "송은범", null, 0, null, 60, 57, 63, 0, 160, 300, null, null],
[0, "박찬호", -1, 0, null, 102, 103, 96, 0, 160, 300, null, "위압", "안녕하세요 제가 LA에 있을 시절부터 놀란 라이언같은 투수가 되고 싶었는데요. 그래서 런닝도 하고 웨이트도 하다보니 어느덧 강속구 투수가 되어서…"], [0, "심수창", null, 0, null, 40, 53, 39, 0, 160, 300, null, null],
[0, "송은범", -1, 0, null, 60, 57, 63, 0, 160, 300, null, null], [0, "윤규진", null, 0, null, 53, 60, 38, 0, 160, 300, null, null],
[0, "심수창", -1, 0, null, 40, 53, 39, 0, 160, 300, null, null], [0, "정우람", null, 0, null, 81, 76, 79, 0, 160, 300, null, null],
[0, "윤규진", -1, 0, null, 53, 60, 38, 0, 160, 300, null, null], [0, "김태균", null, 0, null, 91, 91, 36, 0, 160, 300, null, "필살"],
[0, "정우람", -1, 0, null, 81, 76, 79, 0, 160, 300, null, null], [0, "송광민", null, 0, null, 80, 72, 19, 0, 160, 300, null, null],
[0, "김태균", -1, 0, null, 91, 91, 36, 0, 160, 300, null, "필살"], [0, "정근우", null, 0, null, 86, 74, 87, 0, 160, 300, null, null],
[0, "송광민", -1, 0, null, 80, 72, 19, 0, 160, 300, null, null], [0, "최진행", null, 0, null, 57, 76, 12, 0, 160, 300, null, null, "약 좀 주세요"],
[0, "정근우", -1, 0, null, 86, 74, 87, 0, 160, 300, null, null], [0, "한용덕", null, 0, null, 75, 76, 79, 0, 160, 300, null, null],
[0, "최진행", -1, 0, null, 57, 76, 12, 0, 160, 300, null, null, "약 좀 주세요"], [0, "구대성", null, 0, null, 88, 86, 72, 0, 160, 300, null, null],
[0, "한용덕", -1, 0, null, 75, 76, 79, 0, 160, 300, null, null], [0, "유승안", null, 0, null, 72, 73, 22, 0, 160, 300, null, null],
[0, "구대성", -1, 0, null, 88, 86, 72, 0, 160, 300, null, null], [0, "정민철", null, 0, null, 72, 79, 85, 0, 160, 300, null, null],
[0, "유승안", -1, 0, null, 72, 73, 22, 0, 160, 300, null, null], [0, "장종훈", null, 0, null, 81, 94, 83, 0, 160, 300, null, "무쌍", "신고선수의 전설"],
[0, "정민철", -1, 0, null, 72, 79, 85, 0, 160, 300, null, null], [0, "송진우", null, 0, null, 80, 83, 86, 0, 160, 300, null, "환술"],
[0, "장종훈", -1, 0, null, 81, 94, 83, 0, 160, 300, null, "무쌍", "신고선수의 전설"], [0, "이강돈", null, 0, null, 77, 72, 76, 0, 160, 300, null, null],
[0, "송진우", -1, 0, null, 80, 83, 86, 0, 160, 300, null, "환술"], [0, "이상목", null, 0, null, 67, 73, 79, 0, 160, 300, null, null],
[0, "이강돈", -1, 0, null, 77, 72, 76, 0, 160, 300, null, null], [0, "한희민", null, 0, null, 80, 58, 74, 0, 160, 300, null, null],
[0, "이상목", -1, 0, null, 67, 73, 79, 0, 160, 300, null, null], [0, "류현진", null, 0, null, 97, 98, 92, 0, 160, 300, null, "위압", "야구는 수비를 믿지 말고 내가 잘해야 이긴다"],
[0, "한희민", -1, 0, null, 80, 58, 74, 0, 160, 300, null, null], [0, "이정훈", null, 0, null, 83, 60, 81, 0, 160, 300, null, null],
[0, "류현진", -1, 0, null, 97, 98, 92, 0, 160, 300, null, "위압", "야구는 수비를 믿지 말고 내가 잘해야 이긴다"], [0, "이영우", null, 0, null, 82, 79, 77, 0, 160, 300, null, null],
[0, "이정훈", -1, 0, null, 83, 60, 81, 0, 160, 300, null, null], [0, "김현수", null, 0, null, 88, 81, 48, 0, 160, 300, null, null, "사서 쓰라고"],
[0, "이영우", -1, 0, null, 82, 79, 77, 0, 160, 300, null, null], [0, "추신수", null, 0, null, 99, 99, 96, 0, 160, 300, null, "무쌍", "Go! Choo! Go! Choo!"],
[0, "동봉철", -1, 0, null, 63, 32, 77, 0, 160, 300, null, null], [0, "최원호", null, 0, null, 55, 53, 53, 0, 160, 300, null, null],
[0, "김현수", -1, 0, null, 88, 81, 48, 0, 160, 300, null, null, "사서 쓰라고"], [0, "신명철", null, 0, null, 41, 53, 76, 0, 160, 300, null, null],
[0, "추신수", -1, 0, null, 99, 99, 96, 0, 160, 300, null, "무쌍", "Go! Choo! Go! Choo!"], [0, "백재호", null, 0, null, 44, 63, 22, 0, 160, 300, null, null],
[0, "최원호", -1, 0, null, 55, 53, 53, 0, 160, 300, null, null], [0, "노장진", null, 0, null, 64, 82, 48, 0, 160, 300, null, null],
[0, "신명철", -1, 0, null, 41, 53, 76, 0, 160, 300, null, null], [0, "조용준", null, 0, null, 86, 61, 69, 0, 160, 300, null, null],
[0, "백재호", -1, 0, null, 44, 63, 22, 0, 160, 300, null, null], [0, "이진영", null, 0, null, 86, 82, 79, 0, 160, 300, null, null, "어디로 던져도 난 머리에 맞는다"],
[0, "노장진", -1, 0, null, 64, 82, 48, 0, 160, 300, null, null], [0, "장원삼", null, 0, null, 70, 80, 83, 0, 160, 300, null, null],
[0, "조용준", -1, 0, null, 86, 61, 69, 0, 160, 300, null, null], [0, "고영민", null, 0, null, 50, 45, 76, 0, 160, 300, null, null],
[0, "이진영", -1, 0, null, 86, 82, 79, 0, 160, 300, null, null, "어디로 던져도 난 머리에 맞는다"], [0, "옥스프링", null, 0, null, 74, 68, 72, 0, 160, 300, null, null],
[0, "장원삼", -1, 0, null, 70, 80, 83, 0, 160, 300, null, null], [0, "사도스키", null, 0, null, 68, 68, 76, 0, 160, 300, null, null],
[0, "고영민", -1, 0, null, 50, 45, 76, 0, 160, 300, null, null], [0, "해커", null, 0, null, 85, 88, 89, 0, 160, 300, null, "집중", "x까! x빨놈아!"],
[0, "옥스프링", -1, 0, null, 74, 68, 72, 0, 160, 300, null, null], [0, "브룸바", null, 0, null, 84, 77, 22, 0, 160, 300, null, null],
[0, "사도스키", -1, 0, null, 68, 68, 76, 0, 160, 300, null, null], [0, "밴헤켄", null, 0, null, 80, 82, 86, 0, 160, 300, null, "환술"],
[0, "해커", -1, 0, null, 85, 88, 89, 0, 160, 300, null, "집중", "x까! x빨놈아!"], [0, "레일리", null, 0, null, 67, 74, 77, 0, 160, 300, null, null],
[0, "브룸바", -1, 0, null, 84, 77, 22, 0, 160, 300, null, null], [0, "그레이싱어", null, 0, null, 75, 74, 67, 0, 160, 300, null, null],
[0, "밴헤켄", -1, 0, null, 80, 82, 86, 0, 160, 300, null, "환술"], [0, "글로버", null, 0, null, 72, 84, 50, 0, 160, 300, null, null],
[0, "레일리", -1, 0, null, 67, 74, 77, 0, 160, 300, null, null], [0, "소사", null, 0, null, 69, 80, 72, 0, 160, 300, null, null],
[0, "그레이싱어", -1, 0, null, 75, 74, 67, 0, 160, 300, null, null], [0, "레스", null, 0, null, 76, 74, 51, 0, 160, 300, null, null],
[0, "글로버", -1, 0, null, 72, 84, 50, 0, 160, 300, null, null], [0, "켈리", null, 0, null, 73, 77, 70, 0, 160, 300, null, null],
[0, "소사", -1, 0, null, 69, 80, 72, 0, 160, 300, null, null], [0, "피어밴드", null, 0, null, 70, 73, 77, 0, 160, 300, null, null],
[0, "레스", -1, 0, null, 76, 74, 51, 0, 160, 300, null, null], [0, "김종훈", null, 0, null, 67, 54, 71, 0, 160, 300, null, null],
[0, "켈리", -1, 0, null, 73, 77, 70, 0, 160, 300, null, null], [0, "김태한", null, 0, null, 52, 41, 41, 0, 160, 300, null, null],
[0, "피어밴드", -1, 0, null, 70, 73, 77, 0, 160, 300, null, null], [0, "류명선", null, 0, null, 60, 54, 34, 0, 160, 300, null, null],
[0, "김종훈", -1, 0, null, 67, 54, 71, 0, 160, 300, null, null], [0, "박충식", null, 0, null, 78, 61, 77, 0, 160, 300, null, null],
[0, "김태한", -1, 0, null, 52, 41, 41, 0, 160, 300, null, null], [0, "전병호", null, 0, null, 66, 41, 57, 0, 160, 300, null, null],
[0, "류명선", -1, 0, null, 60, 54, 34, 0, 160, 300, null, null], [0, "김대익", null, 0, null, 70, 34, 70, 0, 160, 300, null, null],
[0, "박충식", -1, 0, null, 78, 61, 77, 0, 160, 300, null, null], [0, "김상진", null, 0, null, 54, 41, 66, 0, 160, 300, null, null],
[0, "전병호", -1, 0, null, 66, 41, 57, 0, 160, 300, null, null], [0, "김실", null, 0, null, 55, 46, 57, 0, 160, 300, null, null],
[0, "김대익", -1, 0, null, 70, 34, 70, 0, 160, 300, null, null], [0, "김종호", null, 0, null, 76, 18, 78, 0, 160, 300, null, null],
[0, "김상진", -1, 0, null, 54, 41, 66, 0, 160, 300, null, null], [0, "나광남", null, 0, null, 18, 18, 18, 0, 160, 300, null, null, "오심도 경기의 일부입니다."],
[0, "김실", -1, 0, null, 55, 46, 57, 0, 160, 300, null, null], [0, "박석진", null, 0, null, 71, 49, 63, 0, 160, 300, null, null],
[0, "김종호", -1, 0, null, 76, 18, 78, 0, 160, 300, null, null], [0, "손인호", null, 0, null, 55, 32, 51, 0, 160, 300, null, null],
[0, "나광남", -1, 0, null, 18, 18, 18, 0, 160, 300, null, null, "오심도 경기의 일부입니다."], [0, "김일경", null, 0, null, 49, 12, 56, 0, 160, 300, null, null],
[0, "박석진", -1, 0, null, 71, 49, 63, 0, 160, 300, null, null], [0, "최동수", null, 0, null, 61, 33, 45, 0, 160, 300, null, null],
[0, "손인호", -1, 0, null, 55, 32, 51, 0, 160, 300, null, null], [0, "송구홍", null, 0, null, 57, 29, 48, 0, 160, 300, null, null],
[0, "김일경", -1, 0, null, 49, 12, 56, 0, 160, 300, null, null], [0, "김광삼", null, 0, null, 49, 23, 68, 0, 160, 300, null, null],
[0, "최동수", -1, 0, null, 61, 33, 45, 0, 160, 300, null, null], [0, "류제국", null, 0, null, 70, 46, 81, 0, 160, 300, null, null],
[0, "송구홍", -1, 0, null, 57, 29, 48, 0, 160, 300, null, null], [0, "임찬규", null, 0, null, 59, 55, 60, 0, 160, 300, null, null],
[0, "김광삼", -1, 0, null, 49, 23, 68, 0, 160, 300, null, null], [0, "진해수", null, 0, null, 49, 63, 50, 0, 160, 300, null, null],
[0, "류제국", -1, 0, null, 70, 46, 81, 0, 160, 300, null, null], [0, "백승현", null, 0, null, 40, 54, 55, 0, 160, 300, null, null],
[0, "임찬규", -1, 0, null, 59, 55, 60, 0, 160, 300, null, null], [0, "김용의", null, 0, null, 60, 41, 35, 0, 160, 300, null, null],
[0, "진해수", -1, 0, null, 49, 63, 50, 0, 160, 300, null, null], [0, "박지철", null, 0, null, 70, 51, 62, 0, 160, 300, null, null],
[0, "백승현", -1, 0, null, 40, 54, 55, 0, 160, 300, null, null], [0, "강성우", null, 0, null, 77, 21, 61, 0, 160, 300, null, null],
[0, "김용의", -1, 0, null, 60, 41, 35, 0, 160, 300, null, null], [0, "한문연", null, 0, null, 70, 51, 36, 0, 160, 300, null, null],
[0, "박지철", -1, 0, null, 70, 51, 62, 0, 160, 300, null, null], [0, "김민호", null, 0, null, 82, 73, 31, 0, 160, 300, null, null],
[0, "강성우", -1, 0, null, 77, 21, 61, 0, 160, 300, null, null], [0, "유두열", null, 0, null, 73, 54, 67, 0, 160, 300, null, null],
[0, "한문연", -1, 0, null, 70, 51, 36, 0, 160, 300, null, null], [0, "이종운", null, 0, null, 76, 12, 81, 0, 160, 300, null, null],
[0, "김민호", -1, 0, null, 82, 73, 31, 0, 160, 300, null, null], [0, "박현승", null, 0, null, 49, 46, 23, 0, 160, 300, null, null],
[0, "유두열", -1, 0, null, 73, 54, 67, 0, 160, 300, null, null], [0, "고원준", null, 0, null, 47, 41, 43, 0, 160, 300, null, null],
[0, "이종운", -1, 0, null, 76, 12, 81, 0, 160, 300, null, null], [0, "문동환", null, 0, null, 79, 69, 45, 0, 160, 300, null, null],
[0, "박현승", -1, 0, null, 49, 46, 23, 0, 160, 300, null, null], [0, "박동수", null, 0, null, 73, 64, 52, 0, 160, 300, null, null],
[0, "고원준", -1, 0, null, 47, 41, 43, 0, 160, 300, null, null], [0, "이현곤", null, 0, null, 66, 42, 36, 0, 160, 300, null, null, "광고니! 제가 타석에 서면 다음은 광고입니다."],
[0, "문동환", -1, 0, null, 79, 69, 45, 0, 160, 300, null, null], [0, "신용운", null, 0, null, 60, 66, 67, 0, 160, 300, null, null],
[0, "박동수", -1, 0, null, 73, 64, 52, 0, 160, 300, null, null], [0, "장문석", null, 0, null, 68, 41, 78, 0, 160, 300, null, null],
[0, "이현곤", -1, 0, null, 66, 42, 36, 0, 160, 300, null, null, "광고니! 제가 타석에 서면 다음은 광고입니다."], [0, "이병훈", null, 0, null, 71, 24, 70, 0, 160, 300, null, null],
[0, "신용운", -1, 0, null, 60, 66, 67, 0, 160, 300, null, null], [0, "이상화", null, 0, null, 51, 48, 44, 0, 160, 300, null, null],
[0, "장문석", -1, 0, null, 68, 41, 78, 0, 160, 300, null, null], [0, "손영민", null, 0, null, 55, 41, 49, 0, 160, 300, null, null],
[0, "이병훈", -1, 0, null, 71, 24, 70, 0, 160, 300, null, null], [0, "곽정철", null, 0, null, 57, 55, 54, 0, 160, 300, null, null],
[0, "이상화", -1, 0, null, 51, 48, 44, 0, 160, 300, null, null], [0, "이범석", null, 0, null, 67, 41, 54, 0, 160, 300, null, null],
[0, "손영민", -1, 0, null, 55, 41, 49, 0, 160, 300, null, null], [0, "조도연", null, 0, null, 70, 66, 54, 0, 160, 300, null, null],
[0, "곽정철", -1, 0, null, 57, 55, 54, 0, 160, 300, null, null], [0, "김무종", null, 0, null, 66, 55, 41, 0, 160, 300, null, null],
[0, "이범석", -1, 0, null, 67, 41, 54, 0, 160, 300, null, null], [0, "강봉규", null, 0, null, 70, 67, 44, 0, 160, 300, null, null],
[0, "조도연", -1, 0, null, 70, 66, 54, 0, 160, 300, null, null], [0, "김진욱", null, 0, null, 51, 55, 41, 0, 160, 300, null, null],
[0, "김무종", -1, 0, null, 66, 55, 41, 0, 160, 300, null, null], [0, "변진수", null, 0, null, 40, 51, 48, 0, 160, 300, null, null],
[0, "강봉규", -1, 0, null, 70, 67, 44, 0, 160, 300, null, null], [0, "손혁", null, 0, null, 59, 58, 61, 0, 160, 300, null, null],
[0, "김진욱", -1, 0, null, 51, 55, 41, 0, 160, 300, null, null], [0, "오재일", null, 0, null, 58, 71, 41, 0, 160, 300, null, null],
[0, "변진수", -1, 0, null, 40, 51, 48, 0, 160, 300, null, null], [0, "이도형", null, 0, null, 43, 61, 40, 0, 160, 300, null, null],
[0, "손혁", -1, 0, null, 59, 58, 61, 0, 160, 300, null, null], [0, "이원석", null, 0, null, 50, 60, 34, 0, 160, 300, null, null],
[0, "오재일", -1, 0, null, 58, 71, 41, 0, 160, 300, null, null], [0, "진야곱", null, 0, null, 48, 51, 47, 0, 160, 300, null, null],
[0, "이도형", -1, 0, null, 43, 61, 40, 0, 160, 300, null, null], [0, "채상병", null, 0, null, 41, 43, 61, 0, 160, 300, null, null],
[0, "이원석", -1, 0, null, 50, 60, 34, 0, 160, 300, null, null], [0, "추성건", null, 0, null, 40, 50, 61, 0, 160, 300, null, null],
[0, "진야곱", -1, 0, null, 48, 51, 47, 0, 160, 300, null, null], [0, "홍원기", null, 0, null, 51, 43, 66, 0, 160, 300, null, null],
[0, "채상병", -1, 0, null, 41, 43, 61, 0, 160, 300, null, null], [0, "가내영", null, 0, null, 46, 42, 51, 0, 160, 300, null, null],
[0, "추성건", -1, 0, null, 40, 50, 61, 0, 160, 300, null, null], [0, "김신부", null, 0, null, 51, 36, 41, 0, 160, 300, null, null],
[0, "홍원기", -1, 0, null, 51, 43, 66, 0, 160, 300, null, null], [0, "김홍집", null, 0, null, 61, 51, 66, 0, 160, 300, null, null],
[0, "가내영", -1, 0, null, 46, 42, 51, 0, 160, 300, null, null], [0, "안병원", null, 0, null, 59, 41, 71, 0, 160, 300, null, null],
[0, "김신부", -1, 0, null, 51, 36, 41, 0, 160, 300, null, null], [0, "임호균", null, 0, null, 66, 46, 73, 0, 160, 300, null, null],
[0, "김홍집", -1, 0, null, 61, 51, 66, 0, 160, 300, null, null], [0, "조웅천", null, 0, null, 82, 67, 84, 0, 160, 300, null, null],
[0, "안병원", -1, 0, null, 59, 41, 71, 0, 160, 300, null, null], [0, "최창호", null, 0, null, 83, 71, 79, 0, 160, 300, null, null],
[0, "임호균", -1, 0, null, 66, 46, 73, 0, 160, 300, null, null], [0, "김동기", null, 0, null, 62, 81, 22, 0, 160, 300, null, null],
[0, "조웅천", -1, 0, null, 82, 67, 84, 0, 160, 300, null, null], [0, "김바위", null, 0, null, 44, 70, 23, 0, 160, 300, null, null],
[0, "최창호", -1, 0, null, 83, 71, 79, 0, 160, 300, null, null], [0, "김성갑", null, 0, null, 50, 44, 61, 0, 160, 300, null, null],
[0, "김기", -1, 0, null, 62, 81, 22, 0, 160, 300, null, null], [0, "김기", null, 0, null, 60, 23, 66, 0, 160, 300, null, null],
[0, "김바위", -1, 0, null, 44, 70, 23, 0, 160, 300, null, null], [0, "김", null, 0, null, 53, 32, 71, 0, 160, 300, null, null],
[0, "김성갑", -1, 0, null, 50, 44, 61, 0, 160, 300, null, null], [0, "김광림", null, 0, null, 61, 60, 60, 0, 160, 300, null, null],
[0, "김기덕", -1, 0, null, 60, 23, 66, 0, 160, 300, null, null], [0, "조원우", null, 0, null, 59, 41, 63, 0, 160, 300, null, null],
[0, "김호", -1, 0, null, 53, 32, 71, 0, 160, 300, null, null], [0, "심성보", null, 0, null, 54, 56, 41, 0, 160, 300, null, null],
[0, "김광림", -1, 0, null, 61, 60, 60, 0, 160, 300, null, null], [0, "오봉옥", null, 0, null, 43, 41, 61, 0, 160, 300, null, null],
[0, "조원우", -1, 0, null, 59, 41, 63, 0, 160, 300, null, null], [0, "구대진", null, 0, null, 40, 32, 36, 0, 160, 300, null, null],
[0, "심성보", -1, 0, null, 54, 56, 41, 0, 160, 300, null, null], [0, "최해식", null, 0, null, 57, 41, 60, 0, 160, 300, null, null],
[0, "오봉옥", -1, 0, null, 43, 41, 61, 0, 160, 300, null, null], [0, "이종두", null, 0, null, 70, 31, 70, 0, 160, 300, null, null],
[0, "구대진", -1, 0, null, 40, 32, 36, 0, 160, 300, null, null], [0, "노진혁", null, 0, null, 51, 43, 45, 0, 160, 300, null, null],
[0, "최해식", -1, 0, null, 57, 41, 60, 0, 160, 300, null, null], [0, "김건우", null, 0, null, 78, 61, 60, 0, 160, 300, null, null],
[0, "이종두", -1, 0, null, 70, 31, 70, 0, 160, 300, null, null], [0, "이용철", null, 0, null, 71, 77, 42, 0, 160, 300, null, null],
[0, "노진혁", -1, 0, null, 51, 43, 45, 0, 160, 300, null, null], [0, "오재영", null, 0, null, 69, 68, 71, 0, 160, 300, null, null],
[0, "김건우", -1, 0, null, 78, 61, 60, 0, 160, 300, null, null], [0, "배영섭", null, 0, null, 70, 16, 81, 0, 160, 300, null, null],
[0, "이용철", -1, 0, null, 71, 77, 42, 0, 160, 300, null, null], [0, "구자욱", null, 0, null, 73, 59, 72, 0, 160, 300, null, null],
[0, "재영", -1, 0, null, 69, 68, 71, 0, 160, 300, null, null], [0, "재영", null, 0, null, 64, 66, 62, 0, 160, 300, null, null]
[0, "배영섭", -1, 0, null, 70, 16, 81, 0, 160, 300, null, null],
[0, "구자욱", -1, 0, null, 73, 59, 72, 0, 160, 300, null, null],
[0, "신재영", -1, 0, null, 64, 66, 62, 0, 160, 300, null, null]
], ],
"general_ex":[ "general_ex":[
], ],
+711
View File
@@ -0,0 +1,711 @@
{
"title":"【가상모드11】 삼국지11 영웅 난무",
"life":1,
"fiction":1,
"nation":[
],
"diplomacy":[
],
"stat":{
"total":220,
"min":40,
"max":95,
"npcMax":95
},
"general":[
[0, "가규", -1, 0, null, 78, 61, 84, 0, 160, 250, null, null],
[0, "가범", -1, 0, null, 60, 62, 73, 0, 160, 250, null, null],
[0, "가충", -1, 0, null, 54, 31, 89, 0, 160, 250, null, null],
[0, "가화", -1, 0, null, 49, 65, 41, 0, 160, 250, null, null],
[0, "가후", -1, 0, null, 86, 48, 97, 0, 160, 250, null, null],
[0, "간옹", -1, 0, null, 20, 32, 74, 0, 160, 250, null, null],
[0, "감녕", -1, 0, null, 86, 94, 76, 0, 160, 250, null, null],
[0, "감택", -1, 0, null, 43, 49, 83, 0, 160, 250, null, null],
[0, "강유", -1, 0, null, 90, 86, 90, 0, 160, 250, null, null],
[0, "건석", -1, 0, null, 16, 7, 78, 0, 160, 250, null, null],
[0, "견희", -1, 0, null, 94, 76, 93, 0, 160, 250, null, null],
[0, "견초", -1, 0, null, 72, 69, 73, 0, 160, 250, null, null],
[0, "견홍", -1, 0, null, 70, 74, 66, 0, 160, 250, null, null],
[0, "계옹", -1, 0, null, 63, 52, 41, 0, 160, 250, null, null],
[0, "고간", -1, 0, null, 74, 56, 48, 0, 160, 250, null, null],
[0, "고담", -1, 0, null, 33, 23, 70, 0, 160, 250, null, null],
[0, "고당융", -1, 0, null, 35, 24, 76, 0, 160, 250, null, null],
[0, "고람", -1, 0, null, 76, 82, 66, 0, 160, 250, null, null],
[0, "고상", -1, 0, null, 68, 68, 52, 0, 160, 250, null, null],
[0, "고순", -1, 0, null, 85, 86, 55, 0, 160, 250, null, null],
[0, "고승", -1, 0, null, 67, 73, 41, 0, 160, 250, null, null],
[0, "고옹", -1, 0, null, 43, 18, 80, 0, 160, 250, null, null],
[0, "고유", -1, 0, null, 57, 43, 71, 0, 160, 250, null, null],
[0, "고정", -1, 0, null, 55, 63, 43, 0, 160, 250, null, null],
[0, "고패", -1, 0, null, 66, 61, 69, 0, 160, 250, null, null],
[0, "공도", -1, 0, null, 59, 70, 23, 0, 160, 250, null, null],
[0, "공손강", -1, 0, null, 72, 66, 61, 0, 160, 250, null, null],
[0, "공손공", -1, 0, null, 39, 17, 68, 0, 160, 250, null, null],
[0, "공손도", -1, 0, null, 67, 71, 63, 0, 160, 250, null, null],
[0, "공손범", -1, 0, null, 73, 69, 64, 0, 160, 250, null, null],
[0, "공손속", -1, 0, null, 63, 68, 54, 0, 160, 250, null, null],
[0, "공손연", -1, 0, null, 65, 70, 56, 0, 160, 250, null, null],
[0, "공손월", -1, 0, null, 74, 72, 47, 0, 160, 250, null, null],
[0, "공손찬", -1, 0, null, 84, 83, 70, 0, 160, 250, null, null],
[0, "공융", -1, 0, null, 30, 5, 72, 0, 160, 250, null, null],
[0, "공주", -1, 0, null, 26, 16, 68, 0, 160, 250, null, null],
[0, "공지", -1, 0, null, 43, 53, 61, 0, 160, 250, null, null],
[0, "곽가", -1, 0, null, 60, 15, 98, 0, 160, 250, null, null],
[0, "곽도", -1, 0, null, 52, 50, 82, 0, 160, 250, null, null],
[0, "곽마", -1, 0, null, 68, 71, 47, 0, 160, 250, null, null],
[0, "곽사", -1, 0, null, 64, 76, 13, 0, 160, 250, null, null],
[0, "곽원", -1, 0, null, 66, 73, 36, 0, 160, 250, null, null],
[0, "곽유지", -1, 0, null, 13, 9, 68, 0, 160, 250, null, null],
[0, "곽익", -1, 0, null, 73, 69, 69, 0, 160, 250, null, null],
[0, "곽준", -1, 0, null, 80, 66, 73, 0, 160, 250, null, null],
[0, "곽혁", -1, 0, null, 21, 29, 70, 0, 160, 250, null, null],
[0, "곽회", -1, 0, null, 87, 78, 81, 0, 160, 250, null, null],
[0, "관구검", -1, 0, null, 78, 74, 52, 0, 160, 250, null, null],
[0, "관구수", -1, 0, null, 58, 62, 33, 0, 160, 250, null, null],
[0, "관구전", -1, 0, null, 63, 60, 69, 0, 160, 250, null, null],
[0, "관색", -1, 0, null, 74, 88, 52, 0, 160, 250, null, null],
[0, "관우", -1, 0, null, 95, 97, 75, 0, 160, 250, null, null],
[0, "관이", -1, 0, null, 50, 62, 44, 0, 160, 250, null, null],
[0, "관정", -1, 0, null, 36, 52, 72, 0, 160, 250, null, null],
[0, "관통", -1, 0, null, 63, 60, 61, 0, 160, 250, null, null],
[0, "관평", -1, 0, null, 77, 82, 68, 0, 160, 250, null, null],
[0, "관해", -1, 0, null, 70, 82, 10, 0, 160, 250, null, null],
[0, "관흥", -1, 0, null, 76, 86, 62, 0, 160, 250, null, null],
[0, "괴량", -1, 0, null, 68, 33, 88, 0, 160, 250, null, null],
[0, "괴월", -1, 0, null, 47, 27, 82, 0, 160, 250, null, null],
[0, "교모", -1, 0, null, 54, 45, 69, 0, 160, 250, null, null],
[0, "교수", -1, 0, null, 64, 69, 38, 0, 160, 250, null, null],
[0, "교현", -1, 0, null, 12, 6, 66, 0, 160, 250, null, null],
[0, "구건", -1, 0, null, 39, 52, 65, 0, 160, 250, null, null],
[0, "구본", -1, 0, null, 50, 41, 67, 0, 160, 250, null, null],
[0, "구성", -1, 0, null, 55, 70, 38, 0, 160, 250, null, null],
[0, "국연", -1, 0, null, 50, 19, 71, 0, 160, 250, null, null],
[0, "국의", -1, 0, null, 82, 78, 51, 0, 160, 250, null, null],
[0, "극정", -1, 0, null, 10, 4, 63, 0, 160, 250, null, null],
[0, "금선", -1, 0, null, 52, 68, 13, 0, 160, 250, null, null],
[0, "금의", -1, 0, null, 17, 38, 64, 0, 160, 250, null, null],
[0, "금환삼결", -1, 0, null, 64, 76, 19, 0, 160, 250, null, null],
[0, "기령", -1, 0, null, 78, 83, 51, 0, 160, 250, null, null],
[0, "나헌", -1, 0, null, 85, 71, 75, 0, 160, 250, null, null],
[0, "낙통", -1, 0, null, 76, 58, 75, 0, 160, 250, null, null],
[0, "냉포", -1, 0, null, 71, 82, 68, 0, 160, 250, null, null],
[0, "영수", -1, 0, null, 67, 69, 72, 0, 160, 250, null, null],
[0, "아빠노숙", -1, 0, null, 80, 56, 92, 0, 160, 250, null, null],
[0, "아들노숙", -1, 0, null, 71, 53, 74, 0, 160, 250, null, null],
[0, "노식", -1, 0, null, 86, 63, 82, 0, 160, 250, null, null],
[0, "뇌동", -1, 0, null, 69, 78, 51, 0, 160, 250, null, null],
[0, "뇌박", -1, 0, null, 62, 70, 36, 0, 160, 250, null, null],
[0, "누규", -1, 0, null, 52, 13, 87, 0, 160, 250, null, null],
[0, "누현", -1, 0, null, 23, 22, 67, 0, 160, 250, null, null],
[0, "능조", -1, 0, null, 75, 81, 42, 0, 160, 250, null, null],
[0, "능통", -1, 0, null, 77, 89, 55, 0, 160, 250, null, null],
[0, "단경", -1, 0, null, 71, 68, 43, 0, 160, 250, null, null],
[0, "담웅", -1, 0, null, 58, 73, 14, 0, 160, 250, null, null],
[0, "당균", -1, 0, null, 33, 24, 77, 0, 160, 250, null, null],
[0, "당빈", -1, 0, null, 67, 74, 59, 0, 160, 250, null, null],
[0, "당자", -1, 0, null, 61, 71, 50, 0, 160, 250, null, null],
[0, "대교", -1, 0, null, 90, 53, 90, 0, 160, 250, null, null],
[0, "대래동주", -1, 0, null, 51, 53, 53, 0, 160, 250, null, null],
[0, "대릉", -1, 0, null, 70, 75, 39, 0, 160, 250, null, null],
[0, "도겸", -1, 0, null, 51, 27, 63, 0, 160, 250, null, null],
[0, "도준", -1, 0, null, 65, 66, 46, 0, 160, 250, null, null],
[0, "동궐", -1, 0, null, 65, 59, 76, 0, 160, 250, null, null],
[0, "동도나", -1, 0, null, 68, 73, 31, 0, 160, 250, null, null],
[0, "동민", -1, 0, null, 49, 60, 25, 0, 160, 250, null, null],
[0, "동소", -1, 0, null, 19, 25, 80, 0, 160, 250, null, null],
[0, "동습", -1, 0, null, 72, 85, 50, 0, 160, 250, null, null],
[0, "동승", -1, 0, null, 56, 53, 65, 0, 160, 250, null, null],
[0, "동윤", -1, 0, null, 47, 28, 78, 0, 160, 250, null, null],
[0, "동조", -1, 0, null, 17, 13, 56, 0, 160, 250, null, null],
[0, "동탁", -1, 0, null, 74, 87, 69, 0, 160, 250, null, null],
[0, "동화", -1, 0, null, 57, 34, 74, 0, 160, 250, null, null],
[0, "두기", -1, 0, null, 66, 32, 74, 0, 160, 250, null, null],
[0, "두예", -1, 0, null, 85, 30, 85, 0, 160, 250, null, null],
[0, "등무", -1, 0, null, 61, 75, 29, 0, 160, 250, null, null],
[0, "등수", -1, 0, null, 44, 32, 31, 0, 160, 250, null, null],
[0, "등애", -1, 0, null, 94, 87, 89, 0, 160, 250, null, null],
[0, "등윤", -1, 0, null, 29, 41, 71, 0, 160, 250, null, null],
[0, "등지", -1, 0, null, 73, 52, 81, 0, 160, 250, null, null],
[0, "등충", -1, 0, null, 72, 85, 69, 0, 160, 250, null, null],
[0, "등현", -1, 0, null, 61, 73, 45, 0, 160, 250, null, null],
[0, "마균", -1, 0, null, 2, 7, 60, 0, 160, 250, null, null],
[0, "마대", -1, 0, null, 81, 85, 56, 0, 160, 250, null, null],
[0, "마등", -1, 0, null, 82, 80, 51, 0, 160, 250, null, null],
[0, "마량", -1, 0, null, 46, 23, 85, 0, 160, 250, null, null],
[0, "마막", -1, 0, null, 19, 12, 7, 0, 160, 250, null, null],
[0, "마속", -1, 0, null, 61, 67, 87, 0, 160, 250, null, null],
[0, "마완", -1, 0, null, 71, 74, 16, 0, 160, 250, null, null],
[0, "마운록", -1, 0, null, 88, 91, 63, 0, 160, 250, null, null],
[0, "마준", -1, 0, null, 38, 52, 31, 0, 160, 250, null, null],
[0, "마철", -1, 0, null, 70, 62, 56, 0, 160, 250, null, null],
[0, "마초", -1, 0, null, 88, 97, 44, 0, 160, 250, null, null],
[0, "촉나라마충", -1, 0, null, 78, 72, 68, 0, 160, 250, null, null],
[0, "오나라마충", -1, 0, null, 67, 77, 64, 0, 160, 250, null, null],
[0, "마휴", -1, 0, null, 68, 73, 48, 0, 160, 250, null, null],
[0, "만욱", -1, 0, null, 21, 25, 71, 0, 160, 250, null, null],
[0, "만총", -1, 0, null, 84, 64, 82, 0, 160, 250, null, null],
[0, "망아장", -1, 0, null, 45, 79, 3, 0, 160, 250, null, null],
[0, "맹달", -1, 0, null, 75, 73, 74, 0, 160, 250, null, null],
[0, "맹우", -1, 0, null, 50, 68, 22, 0, 160, 250, null, null],
[0, "맹종", -1, 0, null, 47, 28, 72, 0, 160, 250, null, null],
[0, "맹획", -1, 0, null, 76, 87, 42, 0, 160, 250, null, null],
[0, "모개", -1, 0, null, 63, 39, 59, 0, 160, 250, null, null],
[0, "목록대왕", -1, 0, null, 65, 71, 39, 0, 160, 250, null, null],
[0, "목순", -1, 0, null, 52, 77, 11, 0, 160, 250, null, null],
[0, "무안국", -1, 0, null, 67, 83, 34, 0, 160, 250, null, null],
[0, "문빙", -1, 0, null, 86, 82, 66, 0, 160, 250, null, null],
[0, "문앙", -1, 0, null, 78, 91, 60, 0, 160, 250, null, null],
[0, "문추", -1, 0, null, 78, 94, 25, 0, 160, 250, null, null],
[0, "문호", -1, 0, null, 66, 72, 45, 0, 160, 250, null, null],
[0, "문흠", -1, 0, null, 74, 83, 43, 0, 160, 250, null, null],
[0, "미방", -1, 0, null, 54, 61, 32, 0, 160, 250, null, null],
[0, "미씨", -1, 0, null, 90, 46, 86, 0, 160, 250, null, null],
[0, "미축", -1, 0, null, 33, 29, 77, 0, 160, 250, null, null],
[0, "반봉", -1, 0, null, 56, 77, 4, 0, 160, 250, null, null],
[0, "반장", -1, 0, null, 76, 80, 70, 0, 160, 250, null, null],
[0, "반준", -1, 0, null, 61, 18, 67, 0, 160, 250, null, null],
[0, "방덕", -1, 0, null, 83, 94, 70, 0, 160, 250, null, null],
[0, "방열", -1, 0, null, 68, 80, 44, 0, 160, 250, null, null],
[0, "방통", -1, 0, null, 80, 34, 97, 0, 160, 250, null, null],
[0, "방회", -1, 0, null, 69, 75, 49, 0, 160, 250, null, null],
[0, "방희", -1, 0, null, 60, 38, 68, 0, 160, 250, null, null],
[0, "배수", -1, 0, null, 8, 9, 70, 0, 160, 250, null, null],
[0, "배원소", -1, 0, null, 49, 65, 25, 0, 160, 250, null, null],
[0, "번건", -1, 0, null, 41, 24, 71, 0, 160, 250, null, null],
[0, "번능", -1, 0, null, 69, 61, 36, 0, 160, 250, null, null],
[0, "번씨", -1, 0, null, 88, 32, 86, 0, 160, 250, null, null],
[0, "번주", -1, 0, null, 66, 73, 31, 0, 160, 250, null, null],
[0, "법정", -1, 0, null, 82, 47, 97, 0, 160, 250, null, null],
[0, "변씨", -1, 0, null, 86, 44, 84, 0, 160, 250, null, null],
[0, "변희", -1, 0, null, 56, 70, 59, 0, 160, 250, null, null],
[0, "보즐", -1, 0, null, 72, 51, 84, 0, 160, 250, null, null],
[0, "보천", -1, 0, null, 71, 60, 71, 0, 160, 250, null, null],
[0, "보협", -1, 0, null, 71, 49, 69, 0, 160, 250, null, null],
[0, "복양흥", -1, 0, null, 37, 32, 70, 0, 160, 250, null, null],
[0, "봉기", -1, 0, null, 27, 21, 84, 0, 160, 250, null, null],
[0, "부동", -1, 0, null, 66, 72, 46, 0, 160, 250, null, null],
[0, "부사인", -1, 0, null, 46, 63, 37, 0, 160, 250, null, null],
[0, "부손", -1, 0, null, 14, 13, 69, 0, 160, 250, null, null],
[0, "부첨", -1, 0, null, 73, 85, 72, 0, 160, 250, null, null],
[0, "부하", -1, 0, null, 44, 35, 81, 0, 160, 250, null, null],
[0, "비시", -1, 0, null, 15, 28, 64, 0, 160, 250, null, null],
[0, "비연", -1, 0, null, 60, 66, 21, 0, 160, 250, null, null],
[0, "비요", -1, 0, null, 70, 66, 73, 0, 160, 250, null, null],
[0, "비의", -1, 0, null, 77, 30, 83, 0, 160, 250, null, null],
[0, "사마가", -1, 0, null, 60, 84, 25, 0, 160, 250, null, null],
[0, "사마랑", -1, 0, null, 20, 21, 71, 0, 160, 250, null, null],
[0, "사마망", -1, 0, null, 73, 58, 78, 0, 160, 250, null, null],
[0, "사마부", -1, 0, null, 70, 37, 76, 0, 160, 250, null, null],
[0, "사마사", -1, 0, null, 80, 64, 88, 0, 160, 250, null, null],
[0, "사마소", -1, 0, null, 76, 57, 87, 0, 160, 250, null, null],
[0, "사마염", -1, 0, null, 69, 59, 76, 0, 160, 250, null, null],
[0, "사마유", -1, 0, null, 71, 68, 75, 0, 160, 250, null, null],
[0, "사마의", -1, 0, null, 98, 58, 96, 0, 160, 250, null, null],
[0, "사마주", -1, 0, null, 61, 52, 61, 0, 160, 250, null, null],
[0, "사정", -1, 0, null, 64, 76, 34, 0, 160, 250, null, null],
[0, "사찬", -1, 0, null, 60, 72, 54, 0, 160, 250, null, null],
[0, "서막", -1, 0, null, 55, 32, 67, 0, 160, 250, null, null],
[0, "서서", -1, 0, null, 87, 65, 93, 0, 160, 250, null, null],
[0, "서성", -1, 0, null, 87, 81, 78, 0, 160, 250, null, null],
[0, "서씨", -1, 0, null, 87, 46, 80, 0, 160, 250, null, null],
[0, "서영", -1, 0, null, 80, 76, 57, 0, 160, 250, null, null],
[0, "서질", -1, 0, null, 68, 83, 24, 0, 160, 250, null, null],
[0, "서황", -1, 0, null, 88, 90, 74, 0, 160, 250, null, null],
[0, "석포", -1, 0, null, 69, 71, 56, 0, 160, 250, null, null],
[0, "설영", -1, 0, null, 49, 18, 64, 0, 160, 250, null, null],
[0, "설종", -1, 0, null, 34, 16, 72, 0, 160, 250, null, null],
[0, "설후", -1, 0, null, 17, 15, 68, 0, 160, 250, null, null],
[0, "성공영", -1, 0, null, 73, 71, 80, 0, 160, 250, null, null],
[0, "성만", -1, 0, null, 61, 68, 66, 0, 160, 250, null, null],
[0, "성의", -1, 0, null, 74, 72, 41, 0, 160, 250, null, null],
[0, "소교", -1, 0, null, 90, 48, 87, 0, 160, 250, null, null],
[0, "소비", -1, 0, null, 69, 63, 66, 0, 160, 250, null, null],
[0, "소유", -1, 0, null, 50, 59, 49, 0, 160, 250, null, null],
[0, "소제", -1, 0, null, 21, 15, 72, 0, 160, 250, null, null],
[0, "손건", -1, 0, null, 34, 33, 78, 0, 160, 250, null, null],
[0, "손견", -1, 0, null, 93, 93, 69, 0, 160, 250, null, null],
[0, "손관", -1, 0, null, 72, 78, 51, 0, 160, 250, null, null],
[0, "손광", -1, 0, null, 52, 46, 44, 0, 160, 250, null, null],
[0, "손교", -1, 0, null, 77, 72, 66, 0, 160, 250, null, null],
[0, "손권", -1, 0, null, 78, 67, 83, 0, 160, 250, null, null],
[0, "손기", -1, 0, null, 60, 67, 51, 0, 160, 250, null, null],
[0, "손노반", -1, 0, null, 86, 38, 87, 0, 160, 250, null, null],
[0, "손등", -1, 0, null, 62, 37, 79, 0, 160, 250, null, null],
[0, "손랑", -1, 0, null, 34, 43, 30, 0, 160, 250, null, null],
[0, "손량", -1, 0, null, 21, 7, 70, 0, 160, 250, null, null],
[0, "손례", -1, 0, null, 78, 81, 62, 0, 160, 250, null, null],
[0, "손상향", -1, 0, null, 92, 90, 57, 0, 160, 250, null, null],
[0, "손소", -1, 0, null, 80, 79, 75, 0, 160, 250, null, null],
[0, "손수", -1, 0, null, 55, 51, 53, 0, 160, 250, null, null],
[0, "손씨", -1, 0, null, 93, 22, 82, 0, 160, 250, null, null],
[0, "손유", -1, 0, null, 77, 70, 68, 0, 160, 250, null, null],
[0, "손이", -1, 0, null, 69, 71, 55, 0, 160, 250, null, null],
[0, "손익", -1, 0, null, 67, 78, 27, 0, 160, 250, null, null],
[0, "손정", -1, 0, null, 66, 53, 72, 0, 160, 250, null, null],
[0, "손준", -1, 0, null, 64, 70, 65, 0, 160, 250, null, null],
[0, "손중", -1, 0, null, 62, 71, 36, 0, 160, 250, null, null],
[0, "손진", -1, 0, null, 67, 70, 48, 0, 160, 250, null, null],
[0, "손책", -1, 0, null, 92, 96, 69, 0, 160, 250, null, null],
[0, "손침", -1, 0, null, 25, 39, 65, 0, 160, 250, null, null],
[0, "손호", -1, 0, null, 13, 28, 31, 0, 160, 250, null, null],
[0, "손화", -1, 0, null, 31, 39, 68, 0, 160, 250, null, null],
[0, "손환", -1, 0, null, 82, 73, 72, 0, 160, 250, null, null],
[0, "손휴", -1, 0, null, 57, 39, 78, 0, 160, 250, null, null],
[0, "손흠", -1, 0, null, 66, 69, 35, 0, 160, 250, null, null],
[0, "송겸", -1, 0, null, 66, 78, 42, 0, 160, 250, null, null],
[0, "송헌", -1, 0, null, 68, 77, 38, 0, 160, 250, null, null],
[0, "순심", -1, 0, null, 19, 25, 77, 0, 160, 250, null, null],
[0, "순우경", -1, 0, null, 72, 66, 29, 0, 160, 250, null, null],
[0, "할배순욱", -1, 0, null, 63, 14, 95, 0, 160, 250, null, null],
[0, "손자순욱", -1, 0, null, 8, 19, 77, 0, 160, 250, null, null],
[0, "순유", -1, 0, null, 73, 26, 94, 0, 160, 250, null, null],
[0, "순의", -1, 0, null, 16, 13, 70, 0, 160, 250, null, null],
[0, "시삭", -1, 0, null, 38, 65, 47, 0, 160, 250, null, null],
[0, "신비", -1, 0, null, 39, 24, 78, 0, 160, 250, null, null],
[0, "신의", -1, 0, null, 55, 59, 59, 0, 160, 250, null, null],
[0, "신창", -1, 0, null, 50, 26, 42, 0, 160, 250, null, null],
[0, "신탐", -1, 0, null, 56, 62, 52, 0, 160, 250, null, null],
[0, "신평", -1, 0, null, 69, 43, 76, 0, 160, 250, null, null],
[0, "신헌영", -1, 0, null, 87, 48, 88, 0, 160, 250, null, null],
[0, "심배", -1, 0, null, 84, 60, 87, 0, 160, 250, null, null],
[0, "심영", -1, 0, null, 70, 77, 61, 0, 160, 250, null, null],
[0, "아회남", -1, 0, null, 65, 74, 26, 0, 160, 250, null, null],
[0, "악진", -1, 0, null, 80, 84, 52, 0, 160, 250, null, null],
[0, "악취", -1, 0, null, 53, 66, 58, 0, 160, 250, null, null],
[0, "악침", -1, 0, null, 73, 75, 43, 0, 160, 250, null, null],
[0, "악환", -1, 0, null, 60, 82, 42, 0, 160, 250, null, null],
[0, "안량", -1, 0, null, 79, 93, 42, 0, 160, 250, null, null],
[0, "양강", -1, 0, null, 60, 69, 41, 0, 160, 250, null, null],
[0, "양백", -1, 0, null, 44, 45, 19, 0, 160, 250, null, null],
[0, "양봉", -1, 0, null, 54, 62, 52, 0, 160, 250, null, null],
[0, "이각네양봉", -1, 0, null, 66, 65, 31, 0, 160, 250, null, null],
[0, "양부", -1, 0, null, 67, 50, 83, 0, 160, 250, null, null],
[0, "양서", -1, 0, null, 56, 62, 66, 0, 160, 250, null, null],
[0, "양송", -1, 0, null, 2, 5, 28, 0, 160, 250, null, null],
[0, "양수", -1, 0, null, 10, 4, 83, 0, 160, 250, null, null],
[0, "양습", -1, 0, null, 73, 40, 73, 0, 160, 250, null, null],
[0, "양앙", -1, 0, null, 68, 72, 38, 0, 160, 250, null, null],
[0, "양의", -1, 0, null, 68, 40, 82, 0, 160, 250, null, null],
[0, "양임", -1, 0, null, 70, 78, 53, 0, 160, 250, null, null],
[0, "양제", -1, 0, null, 67, 68, 71, 0, 160, 250, null, null],
[0, "진나라양조", -1, 0, null, 70, 65, 68, 0, 160, 250, null, null],
[0, "양조", -1, 0, null, 53, 61, 36, 0, 160, 250, null, null],
[0, "장양네양추", -1, 0, null, 67, 64, 58, 0, 160, 250, null, null],
[0, "양추", -1, 0, null, 52, 65, 40, 0, 160, 250, null, null],
[0, "양호", -1, 0, null, 90, 64, 84, 0, 160, 250, null, null],
[0, "양홍", -1, 0, null, 18, 15, 76, 0, 160, 250, null, null],
[0, "양회", -1, 0, null, 62, 68, 68, 0, 160, 250, null, null],
[0, "양흔", -1, 0, null, 61, 68, 61, 0, 160, 250, null, null],
[0, "양흥", -1, 0, null, 61, 65, 19, 0, 160, 250, null, null],
[0, "엄강", -1, 0, null, 68, 71, 40, 0, 160, 250, null, null],
[0, "엄백호", -1, 0, null, 67, 70, 23, 0, 160, 250, null, null],
[0, "엄안", -1, 0, null, 79, 83, 69, 0, 160, 250, null, null],
[0, "엄여", -1, 0, null, 61, 78, 44, 0, 160, 250, null, null],
[0, "엄정", -1, 0, null, 50, 55, 39, 0, 160, 250, null, null],
[0, "엄준", -1, 0, null, 13, 2, 70, 0, 160, 250, null, null],
[0, "여개", -1, 0, null, 53, 30, 66, 0, 160, 250, null, null],
[0, "여거", -1, 0, null, 70, 59, 71, 0, 160, 250, null, null],
[0, "여건", -1, 0, null, 57, 70, 58, 0, 160, 250, null, null],
[0, "여광", -1, 0, null, 56, 70, 13, 0, 160, 250, null, null],
[0, "여대", -1, 0, null, 82, 71, 69, 0, 160, 250, null, null],
[0, "여몽", -1, 0, null, 91, 81, 89, 0, 160, 250, null, null],
[0, "여범", -1, 0, null, 73, 63, 74, 0, 160, 250, null, null],
[0, "여상", -1, 0, null, 54, 71, 12, 0, 160, 250, null, null],
[0, "여령기", -1, 0, null, 87, 90, 47, 0, 160, 250, null, null],
[0, "여위황", -1, 0, null, 58, 63, 29, 0, 160, 250, null, null],
[0, "여포", -1, 0, null, 87, 108, 26, 0, 160, 250, null, null],
[0, "염상", -1, 0, null, 30, 27, 70, 0, 160, 250, null, null],
[0, "염우", -1, 0, null, 52, 61, 58, 0, 160, 250, null, null],
[0, "염유", -1, 0, null, 71, 57, 70, 0, 160, 250, null, null],
[0, "염포", -1, 0, null, 29, 25, 82, 0, 160, 250, null, null],
[0, "염행", -1, 0, null, 72, 84, 61, 0, 160, 250, null, null],
[0, "예형", -1, 0, null, 3, 6, 83, 0, 160, 250, null, null],
[0, "오강", -1, 0, null, 48, 38, 65, 0, 160, 250, null, null],
[0, "오거", -1, 0, null, 49, 61, 23, 0, 160, 250, null, null],
[0, "오경", -1, 0, null, 69, 66, 51, 0, 160, 250, null, null],
[0, "오국태", -1, 0, null, 83, 31, 81, 0, 160, 250, null, null],
[0, "오란", -1, 0, null, 62, 80, 35, 0, 160, 250, null, null],
[0, "오반", -1, 0, null, 74, 71, 56, 0, 160, 250, null, null],
[0, "오언", -1, 0, null, 74, 72, 77, 0, 160, 250, null, null],
[0, "오연", -1, 0, null, 66, 73, 42, 0, 160, 250, null, null],
[0, "오의", -1, 0, null, 83, 73, 68, 0, 160, 250, null, null],
[0, "오질", -1, 0, null, 16, 29, 68, 0, 160, 250, null, null],
[0, "오찬", -1, 0, null, 68, 41, 78, 0, 160, 250, null, null],
[0, "온회", -1, 0, null, 62, 36, 73, 0, 160, 250, null, null],
[0, "올돌골", -1, 0, null, 72, 86, 1, 0, 160, 250, null, null],
[0, "옹개", -1, 0, null, 81, 75, 54, 0, 160, 250, null, null],
[0, "왕경", -1, 0, null, 67, 63, 66, 0, 160, 250, null, null],
[0, "왕광", -1, 0, null, 65, 55, 61, 0, 160, 250, null, null],
[0, "큰왕기", -1, 0, null, 77, 78, 76, 0, 160, 250, null, null],
[0, "작은왕기", -1, 0, null, 69, 67, 61, 0, 160, 250, null, null],
[0, "왕누", -1, 0, null, 28, 30, 78, 0, 160, 250, null, null],
[0, "왕도", -1, 0, null, 46, 59, 72, 0, 160, 250, null, null],
[0, "왕돈", -1, 0, null, 60, 66, 46, 0, 160, 250, null, null],
[0, "왕랑", -1, 0, null, 47, 35, 79, 0, 160, 250, null, null],
[0, "왕릉", -1, 0, null, 74, 64, 70, 0, 160, 250, null, null],
[0, "왕문", -1, 0, null, 65, 64, 31, 0, 160, 250, null, null],
[0, "왕보", -1, 0, null, 62, 41, 79, 0, 160, 250, null, null],
[0, "왕상", -1, 0, null, 23, 19, 68, 0, 160, 250, null, null],
[0, "왕수", -1, 0, null, 54, 27, 76, 0, 160, 250, null, null],
[0, "왕숙", -1, 0, null, 36, 22, 75, 0, 160, 250, null, null],
[0, "왕쌍", -1, 0, null, 64, 88, 19, 0, 160, 250, null, null],
[0, "왕업", -1, 0, null, 33, 6, 35, 0, 160, 250, null, null],
[0, "왕위", -1, 0, null, 60, 70, 59, 0, 160, 250, null, null],
[0, "왕윤", -1, 0, null, 26, 6, 67, 0, 160, 250, null, null],
[0, "왕융", -1, 0, null, 57, 36, 72, 0, 160, 250, null, null],
[0, "왕이", -1, 0, null, 88, 86, 36, 0, 160, 250, null, null],
[0, "왕준", -1, 0, null, 81, 73, 77, 0, 160, 250, null, null],
[0, "왕찬", -1, 0, null, 6, 3, 79, 0, 160, 250, null, null],
[0, "왕창", -1, 0, null, 74, 64, 79, 0, 160, 250, null, null],
[0, "왕충", -1, 0, null, 39, 57, 21, 0, 160, 250, null, null],
[0, "왕평", -1, 0, null, 83, 79, 80, 0, 160, 250, null, null],
[0, "왕항", -1, 0, null, 76, 60, 61, 0, 160, 250, null, null],
[0, "왕혼", -1, 0, null, 76, 76, 72, 0, 160, 250, null, null],
[0, "요립", -1, 0, null, 22, 15, 69, 0, 160, 250, null, null],
[0, "요화", -1, 0, null, 73, 76, 64, 0, 160, 250, null, null],
[0, "큰우금", -1, 0, null, 84, 78, 70, 0, 160, 250, null, null],
[0, "작은우금", -1, 0, null, 72, 79, 38, 0, 160, 250, null, null],
[0, "우번", -1, 0, null, 43, 46, 86, 0, 160, 250, null, null],
[0, "우보", -1, 0, null, 38, 60, 21, 0, 160, 250, null, null],
[0, "우사", -1, 0, null, 61, 34, 74, 0, 160, 250, null, null],
[0, "우전", -1, 0, null, 64, 76, 40, 0, 160, 250, null, null],
[0, "원담", -1, 0, null, 60, 69, 30, 0, 160, 250, null, null],
[0, "원상", -1, 0, null, 63, 71, 42, 0, 160, 250, null, null],
[0, "원소", -1, 0, null, 81, 69, 70, 0, 160, 250, null, null],
[0, "원술", -1, 0, null, 44, 65, 61, 0, 160, 250, null, null],
[0, "원요", -1, 0, null, 41, 50, 41, 0, 160, 250, null, null],
[0, "원유", -1, 0, null, 56, 40, 73, 0, 160, 250, null, null],
[0, "원윤", -1, 0, null, 17, 14, 39, 0, 160, 250, null, null],
[0, "원환", -1, 0, null, 30, 17, 72, 0, 160, 250, null, null],
[0, "원희", -1, 0, null, 66, 51, 63, 0, 160, 250, null, null],
[0, "위관", -1, 0, null, 69, 46, 79, 0, 160, 250, null, null],
[0, "위막", -1, 0, null, 57, 62, 59, 0, 160, 250, null, null],
[0, "위소", -1, 0, null, 16, 19, 65, 0, 160, 250, null, null],
[0, "위속", -1, 0, null, 67, 78, 31, 0, 160, 250, null, null],
[0, "위연", -1, 0, null, 81, 92, 69, 0, 160, 250, null, null],
[0, "위유", -1, 0, null, 46, 29, 73, 0, 160, 250, null, null],
[0, "위풍", -1, 0, null, 52, 23, 72, 0, 160, 250, null, null],
[0, "유괴", -1, 0, null, 71, 73, 66, 0, 160, 250, null, null],
[0, "유기", -1, 0, null, 52, 12, 62, 0, 160, 250, null, null],
[0, "유대", -1, 0, null, 53, 65, 32, 0, 160, 250, null, null],
[0, "유도", -1, 0, null, 25, 23, 26, 0, 160, 250, null, null],
[0, "유략", -1, 0, null, 71, 66, 59, 0, 160, 250, null, null],
[0, "유반", -1, 0, null, 69, 76, 47, 0, 160, 250, null, null],
[0, "유벽", -1, 0, null, 70, 72, 47, 0, 160, 250, null, null],
[0, "유복", -1, 0, null, 64, 49, 73, 0, 160, 250, null, null],
[0, "유봉", -1, 0, null, 75, 79, 44, 0, 160, 250, null, null],
[0, "유비", -1, 0, null, 75, 73, 74, 0, 160, 250, null, null],
[0, "아빠유선", -1, 0, null, 8, 21, 36, 0, 160, 250, null, null],
[0, "아들유선", -1, 0, null, 3, 5, 9, 0, 160, 250, null, null],
[0, "유섭", -1, 0, null, 62, 79, 24, 0, 160, 250, null, null],
[0, "유소", -1, 0, null, 71, 53, 74, 0, 160, 250, null, null],
[0, "유순", -1, 0, null, 63, 46, 41, 0, 160, 250, null, null],
[0, "유승", -1, 0, null, 45, 65, 33, 0, 160, 250, null, null],
[0, "유심", -1, 0, null, 60, 62, 69, 0, 160, 250, null, null],
[0, "유씨", -1, 0, null, 83, 41, 86, 0, 160, 250, null, null],
[0, "유언", -1, 0, null, 53, 38, 80, 0, 160, 250, null, null],
[0, "유엽", -1, 0, null, 36, 32, 92, 0, 160, 250, null, null],
[0, "유요", -1, 0, null, 62, 67, 46, 0, 160, 250, null, null],
[0, "유우", -1, 0, null, 55, 33, 69, 0, 160, 250, null, null],
[0, "유장", -1, 0, null, 16, 5, 9, 0, 160, 250, null, null],
[0, "유종", -1, 0, null, 24, 22, 64, 0, 160, 250, null, null],
[0, "유찬", -1, 0, null, 78, 75, 64, 0, 160, 250, null, null],
[0, "유파", -1, 0, null, 14, 22, 74, 0, 160, 250, null, null],
[0, "유평", -1, 0, null, 70, 71, 68, 0, 160, 250, null, null],
[0, "유표", -1, 0, null, 48, 31, 71, 0, 160, 250, null, null],
[0, "유현", -1, 0, null, 54, 66, 51, 0, 160, 250, null, null],
[0, "유화", -1, 0, null, 21, 16, 59, 0, 160, 250, null, null],
[0, "유훈", -1, 0, null, 47, 63, 35, 0, 160, 250, null, null],
[0, "육개", -1, 0, null, 65, 61, 78, 0, 160, 250, null, null],
[0, "육손", -1, 0, null, 96, 65, 95, 0, 160, 250, null, null],
[0, "육적", -1, 0, null, 20, 7, 71, 0, 160, 250, null, null],
[0, "육항", -1, 0, null, 91, 63, 87, 0, 160, 250, null, null],
[0, "윤대목", -1, 0, null, 4, 9, 33, 0, 160, 250, null, null],
[0, "윤묵", -1, 0, null, 11, 15, 65, 0, 160, 250, null, null],
[0, "윤상", -1, 0, null, 51, 44, 61, 0, 160, 250, null, null],
[0, "윤직", -1, 0, null, 46, 42, 72, 0, 160, 250, null, null],
[0, "이각", -1, 0, null, 69, 72, 24, 0, 160, 250, null, null],
[0, "이감", -1, 0, null, 58, 69, 33, 0, 160, 250, null, null],
[0, "이부", -1, 0, null, 31, 36, 74, 0, 160, 250, null, null],
[0, "이숙", -1, 0, null, 46, 69, 59, 0, 160, 250, null, null],
[0, "이승", -1, 0, null, 12, 22, 29, 0, 160, 250, null, null],
[0, "이엄", -1, 0, null, 83, 84, 75, 0, 160, 250, null, null],
[0, "이유", -1, 0, null, 61, 26, 93, 0, 160, 250, null, null],
[0, "이이", -1, 0, null, 59, 77, 19, 0, 160, 250, null, null],
[0, "이적", -1, 0, null, 29, 24, 80, 0, 160, 250, null, null],
[0, "이전", -1, 0, null, 80, 77, 79, 0, 160, 250, null, null],
[0, "이통", -1, 0, null, 73, 81, 57, 0, 160, 250, null, null],
[0, "촉나라이풍", -1, 0, null, 55, 48, 67, 0, 160, 250, null, null],
[0, "원술네이풍", -1, 0, null, 69, 74, 50, 0, 160, 250, null, null],
[0, "위나라이풍", -1, 0, null, 25, 35, 67, 0, 160, 250, null, null],
[0, "이회", -1, 0, null, 79, 65, 78, 0, 160, 250, null, null],
[0, "잠혼", -1, 0, null, 1, 1, 33, 0, 160, 250, null, null],
[0, "장각", -1, 0, null, 86, 25, 86, 0, 160, 250, null, null],
[0, "장간", -1, 0, null, 9, 6, 65, 0, 160, 250, null, null],
[0, "장개", -1, 0, null, 34, 66, 8, 0, 160, 250, null, null],
[0, "장굉", -1, 0, null, 24, 22, 86, 0, 160, 250, null, null],
[0, "장구", -1, 0, null, 69, 72, 44, 0, 160, 250, null, null],
[0, "장기", -1, 0, null, 74, 35, 75, 0, 160, 250, null, null],
[0, "촉나라장남", -1, 0, null, 70, 69, 37, 0, 160, 250, null, null],
[0, "장남", -1, 0, null, 57, 71, 46, 0, 160, 250, null, null],
[0, "장노", -1, 0, null, 51, 26, 73, 0, 160, 250, null, null],
[0, "장료", -1, 0, null, 90, 91, 78, 0, 160, 250, null, null],
[0, "장막", -1, 0, null, 52, 53, 70, 0, 160, 250, null, null],
[0, "장만성", -1, 0, null, 73, 81, 45, 0, 160, 250, null, null],
[0, "장반", -1, 0, null, 63, 73, 62, 0, 160, 250, null, null],
[0, "장보", -1, 0, null, 83, 71, 81, 0, 160, 250, null, null],
[0, "장비", -1, 0, null, 85, 98, 45, 0, 160, 250, null, null],
[0, "장빈", -1, 0, null, 27, 23, 64, 0, 160, 250, null, null],
[0, "장서", -1, 0, null, 55, 76, 35, 0, 160, 250, null, null],
[0, "오나라장소", -1, 0, null, 33, 3, 84, 0, 160, 250, null, null],
[0, "촉나라장소", -1, 0, null, 8, 12, 31, 0, 160, 250, null, null],
[0, "장송", -1, 0, null, 15, 6, 88, 0, 160, 250, null, null],
[0, "장수", -1, 0, null, 80, 73, 60, 0, 160, 250, null, null],
[0, "장승", -1, 0, null, 77, 70, 75, 0, 160, 250, null, null],
[0, "장량", -1, 0, null, 78, 80, 68, 0, 160, 250, null, null],
[0, "장양", -1, 0, null, 72, 70, 62, 0, 160, 250, null, null],
[0, "장억", -1, 0, null, 79, 72, 74, 0, 160, 250, null, null],
[0, "장연", -1, 0, null, 82, 81, 53, 0, 160, 250, null, null],
[0, "장영", -1, 0, null, 75, 74, 41, 0, 160, 250, null, null],
[0, "장온", -1, 0, null, 17, 10, 71, 0, 160, 250, null, null],
[0, "장완", -1, 0, null, 78, 34, 84, 0, 160, 250, null, null],
[0, "장위", -1, 0, null, 74, 66, 45, 0, 160, 250, null, null],
[0, "장윤", -1, 0, null, 72, 67, 42, 0, 160, 250, null, null],
[0, "장의거", -1, 0, null, 71, 58, 57, 0, 160, 250, null, null],
[0, "장익", -1, 0, null, 75, 74, 71, 0, 160, 250, null, null],
[0, "장임", -1, 0, null, 88, 84, 78, 0, 160, 250, null, null],
[0, "오나라장제", -1, 0, null, 67, 43, 80, 0, 160, 250, null, null],
[0, "위나라장제", -1, 0, null, 48, 43, 85, 0, 160, 250, null, null],
[0, "동탁네장제", -1, 0, null, 70, 66, 52, 0, 160, 250, null, null],
[0, "장준", -1, 0, null, 63, 68, 66, 0, 160, 250, null, null],
[0, "장집", -1, 0, null, 31, 29, 70, 0, 160, 250, null, null],
[0, "장춘화", -1, 0, null, 80, 40, 86, 0, 160, 250, null, null],
[0, "장특", -1, 0, null, 73, 54, 75, 0, 160, 250, null, null],
[0, "장패", -1, 0, null, 74, 75, 52, 0, 160, 250, null, null],
[0, "촉나라장포", -1, 0, null, 75, 87, 48, 0, 160, 250, null, null],
[0, "오나라장포", -1, 0, null, 31, 24, 71, 0, 160, 250, null, null],
[0, "장합", -1, 0, null, 90, 89, 69, 0, 160, 250, null, null],
[0, "장호", -1, 0, null, 75, 74, 41, 0, 160, 250, null, null],
[0, "장화", -1, 0, null, 36, 27, 78, 0, 160, 250, null, null],
[0, "장횡", -1, 0, null, 59, 70, 23, 0, 160, 250, null, null],
[0, "장훈", -1, 0, null, 72, 68, 41, 0, 160, 250, null, null],
[0, "장휴", -1, 0, null, 53, 27, 74, 0, 160, 250, null, null],
[0, "장흠", -1, 0, null, 78, 84, 51, 0, 160, 250, null, null],
[0, "저곡", -1, 0, null, 55, 51, 66, 0, 160, 250, null, null],
[0, "저수", -1, 0, null, 78, 35, 90, 0, 160, 250, null, null],
[0, "전기", -1, 0, null, 49, 69, 61, 0, 160, 250, null, null],
[0, "전단", -1, 0, null, 67, 64, 39, 0, 160, 250, null, null],
[0, "전만", -1, 0, null, 51, 73, 39, 0, 160, 250, null, null],
[0, "전상", -1, 0, null, 2, 4, 12, 0, 160, 250, null, null],
[0, "전속", -1, 0, null, 47, 60, 55, 0, 160, 250, null, null],
[0, "전역", -1, 0, null, 60, 63, 38, 0, 160, 250, null, null],
[0, "전예", -1, 0, null, 80, 72, 80, 0, 160, 250, null, null],
[0, "전위", -1, 0, null, 56, 98, 35, 0, 160, 250, null, null],
[0, "전의", -1, 0, null, 61, 68, 44, 0, 160, 250, null, null],
[0, "전종", -1, 0, null, 78, 72, 71, 0, 160, 250, null, null],
[0, "전주", -1, 0, null, 66, 66, 72, 0, 160, 250, null, null],
[0, "전풍", -1, 0, null, 76, 29, 93, 0, 160, 250, null, null],
[0, "전해", -1, 0, null, 68, 65, 56, 0, 160, 250, null, null],
[0, "정무", -1, 0, null, 56, 35, 75, 0, 160, 250, null, null],
[0, "정병", -1, 0, null, 16, 15, 71, 0, 160, 250, null, null],
[0, "정보", -1, 0, null, 84, 79, 79, 0, 160, 250, null, null],
[0, "형정봉", -1, 0, null, 81, 80, 71, 0, 160, 250, null, null],
[0, "동생정봉", -1, 0, null, 66, 66, 53, 0, 160, 250, null, null],
[0, "정욱", -1, 0, null, 73, 49, 90, 0, 160, 250, null, null],
[0, "정원", -1, 0, null, 70, 76, 35, 0, 160, 250, null, null],
[0, "정원지", -1, 0, null, 69, 74, 17, 0, 160, 250, null, null],
[0, "정은", -1, 0, null, 69, 73, 40, 0, 160, 250, null, null],
[0, "정의", -1, 0, null, 15, 5, 64, 0, 160, 250, null, null],
[0, "제갈각", -1, 0, null, 72, 47, 90, 0, 160, 250, null, null],
[0, "제갈교", -1, 0, null, 62, 27, 75, 0, 160, 250, null, null],
[0, "제갈균", -1, 0, null, 29, 25, 51, 0, 160, 250, null, null],
[0, "제갈근", -1, 0, null, 75, 34, 81, 0, 160, 250, null, null],
[0, "제갈량", -1, 0, null, 92, 38, 100, 0, 160, 250, null, null],
[0, "제갈상", -1, 0, null, 64, 77, 62, 0, 160, 250, null, null],
[0, "제갈서", -1, 0, null, 41, 40, 29, 0, 160, 250, null, null],
[0, "제갈정", -1, 0, null, 58, 63, 66, 0, 160, 250, null, null],
[0, "제갈첨", -1, 0, null, 71, 60, 70, 0, 160, 250, null, null],
[0, "제갈탄", -1, 0, null, 81, 72, 71, 0, 160, 250, null, null],
[0, "조광", -1, 0, null, 67, 71, 53, 0, 160, 250, null, null],
[0, "조누", -1, 0, null, 70, 43, 67, 0, 160, 250, null, null],
[0, "조모", -1, 0, null, 54, 61, 59, 0, 160, 250, null, null],
[0, "조무", -1, 0, null, 70, 71, 62, 0, 160, 250, null, null],
[0, "조방", -1, 0, null, 5, 3, 27, 0, 160, 250, null, null],
[0, "조범", -1, 0, null, 28, 21, 32, 0, 160, 250, null, null],
[0, "조비", -1, 0, null, 70, 71, 83, 0, 160, 250, null, null],
[0, "조상", -1, 0, null, 39, 33, 30, 0, 160, 250, null, null],
[0, "조성", -1, 0, null, 54, 74, 38, 0, 160, 250, null, null],
[0, "조순", -1, 0, null, 75, 71, 60, 0, 160, 250, null, null],
[0, "조식", -1, 0, null, 18, 22, 81, 0, 160, 250, null, null],
[0, "조앙", -1, 0, null, 74, 67, 66, 0, 160, 250, null, null],
[0, "조예", -1, 0, null, 72, 52, 82, 0, 160, 250, null, null],
[0, "조우", -1, 0, null, 50, 43, 37, 0, 160, 250, null, null],
[0, "조운", -1, 0, null, 94, 93, 78, 0, 160, 250, null, null],
[0, "조웅", -1, 0, null, 9, 5, 52, 0, 160, 250, null, null],
[0, "조인", -1, 0, null, 89, 86, 56, 0, 160, 250, null, null],
[0, "조조", -1, 0, null, 96, 72, 91, 0, 160, 250, null, null],
[0, "조진", -1, 0, null, 87, 74, 68, 0, 160, 250, null, null],
[0, "조창", -1, 0, null, 82, 90, 40, 0, 160, 250, null, null],
[0, "조충", -1, 0, null, 31, 21, 85, 0, 160, 250, null, null],
[0, "조통", -1, 0, null, 68, 67, 61, 0, 160, 250, null, null],
[0, "조표", -1, 0, null, 54, 69, 32, 0, 160, 250, null, null],
[0, "위나라조홍", -1, 0, null, 79, 81, 44, 0, 160, 250, null, null],
[0, "황건적조홍", -1, 0, null, 66, 72, 28, 0, 160, 250, null, null],
[0, "조환", -1, 0, null, 13, 15, 30, 0, 160, 250, null, null],
[0, "조훈", -1, 0, null, 18, 34, 11, 0, 160, 250, null, null],
[0, "조휴", -1, 0, null, 74, 75, 58, 0, 160, 250, null, null],
[0, "조희", -1, 0, null, 30, 26, 50, 0, 160, 250, null, null],
[0, "종리목", -1, 0, null, 77, 72, 73, 0, 160, 250, null, null],
[0, "종요", -1, 0, null, 70, 24, 76, 0, 160, 250, null, null],
[0, "종육", -1, 0, null, 32, 12, 71, 0, 160, 250, null, null],
[0, "종회", -1, 0, null, 82, 51, 91, 0, 160, 250, null, null],
[0, "좌자", -1, 0, null, 10, 10, 94, 0, 160, 250, null, null],
[0, "좌혁", -1, 0, null, 62, 66, 51, 0, 160, 250, null, null],
[0, "주거", -1, 0, null, 77, 57, 72, 0, 160, 250, null, null],
[0, "주령", -1, 0, null, 71, 73, 67, 0, 160, 250, null, null],
[0, "주방", -1, 0, null, 52, 41, 80, 0, 160, 250, null, null],
[0, "주앙", -1, 0, null, 74, 65, 62, 0, 160, 250, null, null],
[0, "주연", -1, 0, null, 79, 69, 71, 0, 160, 250, null, null],
[0, "주유", -1, 0, null, 97, 71, 96, 0, 160, 250, null, null],
[0, "주이", -1, 0, null, 70, 68, 60, 0, 160, 250, null, null],
[0, "주준", -1, 0, null, 78, 65, 70, 0, 160, 250, null, null],
[0, "주지", -1, 0, null, 65, 85, 41, 0, 160, 250, null, null],
[0, "주창", -1, 0, null, 62, 84, 42, 0, 160, 250, null, null],
[0, "주치", -1, 0, null, 71, 56, 72, 0, 160, 250, null, null],
[0, "진나라주태", -1, 0, null, 71, 64, 71, 0, 160, 250, null, null],
[0, "오나라주태", -1, 0, null, 76, 91, 48, 0, 160, 250, null, null],
[0, "주포", -1, 0, null, 68, 73, 34, 0, 160, 250, null, null],
[0, "주환", -1, 0, null, 84, 82, 73, 0, 160, 250, null, null],
[0, "주흔", -1, 0, null, 65, 62, 72, 0, 160, 250, null, null],
[0, "진건", -1, 0, null, 72, 71, 65, 0, 160, 250, null, null],
[0, "진교", -1, 0, null, 61, 27, 76, 0, 160, 250, null, null],
[0, "진군", -1, 0, null, 32, 14, 74, 0, 160, 250, null, null],
[0, "진궁", -1, 0, null, 78, 55, 89, 0, 160, 250, null, null],
[0, "진규", -1, 0, null, 15, 4, 82, 0, 160, 250, null, null],
[0, "진기", -1, 0, null, 58, 65, 43, 0, 160, 250, null, null],
[0, "진도", -1, 0, null, 76, 71, 63, 0, 160, 250, null, null],
[0, "진등", -1, 0, null, 79, 64, 81, 0, 160, 250, null, null],
[0, "진란", -1, 0, null, 66, 69, 40, 0, 160, 250, null, null],
[0, "진랑", -1, 0, null, 58, 70, 35, 0, 160, 250, null, null],
[0, "진림", -1, 0, null, 10, 9, 74, 0, 160, 250, null, null],
[0, "진무", -1, 0, null, 74, 87, 43, 0, 160, 250, null, null],
[0, "진복", -1, 0, null, 16, 7, 72, 0, 160, 250, null, null],
[0, "진수", -1, 0, null, 12, 22, 60, 0, 160, 250, null, null],
[0, "진식", -1, 0, null, 70, 71, 25, 0, 160, 250, null, null],
[0, "진응", -1, 0, null, 62, 72, 45, 0, 160, 250, null, null],
[0, "진진", -1, 0, null, 46, 46, 68, 0, 160, 250, null, null],
[0, "진태", -1, 0, null, 84, 73, 86, 0, 160, 250, null, null],
[0, "진표", -1, 0, null, 66, 42, 74, 0, 160, 250, null, null],
[0, "진횡", -1, 0, null, 64, 63, 26, 0, 160, 250, null, null],
[0, "차주", -1, 0, null, 49, 49, 40, 0, 160, 250, null, null],
[0, "착융", -1, 0, null, 60, 69, 38, 0, 160, 250, null, null],
[0, "채모", -1, 0, null, 77, 70, 77, 0, 160, 250, null, null],
[0, "채씨", -1, 0, null, 88, 66, 69, 0, 160, 250, null, null],
[0, "채염", -1, 0, null, 92, 41, 90, 0, 160, 250, null, null],
[0, "채중", -1, 0, null, 40, 54, 2, 0, 160, 250, null, null],
[0, "채화", -1, 0, null, 39, 50, 1, 0, 160, 250, null, null],
[0, "초선", -1, 0, null, 90, 56, 94, 0, 160, 250, null, null],
[0, "초이", -1, 0, null, 62, 69, 63, 0, 160, 250, null, null],
[0, "초주", -1, 0, null, 3, 3, 66, 0, 160, 250, null, null],
[0, "초촉", -1, 0, null, 65, 72, 33, 0, 160, 250, null, null],
[0, "최림", -1, 0, null, 32, 22, 66, 0, 160, 250, null, null],
[0, "최염", -1, 0, null, 18, 55, 70, 0, 160, 250, null, null],
[0, "추단", -1, 0, null, 61, 64, 34, 0, 160, 250, null, null],
[0, "추씨", -1, 0, null, 90, 36, 86, 0, 160, 250, null, null],
[0, "추정", -1, 0, null, 70, 64, 66, 0, 160, 250, null, null],
[0, "축융", -1, 0, null, 90, 91, 49, 0, 160, 250, null, null],
[0, "타사대왕", -1, 0, null, 62, 59, 70, 0, 160, 250, null, null],
[0, "태사자", -1, 0, null, 84, 94, 66, 0, 160, 250, null, null],
[0, "태사향", -1, 0, null, 57, 66, 48, 0, 160, 250, null, null],
[0, "파재", -1, 0, null, 71, 74, 52, 0, 160, 250, null, null],
[0, "포삼랑", -1, 0, null, 92, 83, 56, 0, 160, 250, null, null],
[0, "포신", -1, 0, null, 77, 67, 81, 0, 160, 250, null, null],
[0, "포융", -1, 0, null, 58, 76, 49, 0, 160, 250, null, null],
[0, "풍습", -1, 0, null, 72, 71, 39, 0, 160, 250, null, null],
[0, "하식", -1, 0, null, 15, 24, 26, 0, 160, 250, null, null],
[0, "하안", -1, 0, null, 6, 30, 71, 0, 160, 250, null, null],
[0, "하의", -1, 0, null, 56, 69, 36, 0, 160, 250, null, null],
[0, "하제", -1, 0, null, 83, 78, 72, 0, 160, 250, null, null],
[0, "하진", -1, 0, null, 39, 40, 6, 0, 160, 250, null, null],
[0, "하후덕", -1, 0, null, 69, 73, 32, 0, 160, 250, null, null],
[0, "하후돈", -1, 0, null, 89, 90, 58, 0, 160, 250, null, null],
[0, "하후무", -1, 0, null, 20, 7, 4, 0, 160, 250, null, null],
[0, "하후상", -1, 0, null, 79, 72, 74, 0, 160, 250, null, null],
[0, "하후연", -1, 0, null, 87, 91, 54, 0, 160, 250, null, null],
[0, "하후영녀", -1, 0, null, 89, 40, 88, 0, 160, 250, null, null],
[0, "하후위", -1, 0, null, 71, 73, 49, 0, 160, 250, null, null],
[0, "하후은", -1, 0, null, 63, 72, 52, 0, 160, 250, null, null],
[0, "하후패", -1, 0, null, 79, 84, 77, 0, 160, 250, null, null],
[0, "하후현", -1, 0, null, 54, 39, 75, 0, 160, 250, null, null],
[0, "하후혜", -1, 0, null, 50, 44, 75, 0, 160, 250, null, null],
[0, "하후화", -1, 0, null, 48, 51, 70, 0, 160, 250, null, null],
[0, "학맹", -1, 0, null, 62, 67, 42, 0, 160, 250, null, null],
[0, "학소", -1, 0, null, 89, 79, 80, 0, 160, 250, null, null],
[0, "한거자", -1, 0, null, 51, 59, 51, 0, 160, 250, null, null],
[0, "한당", -1, 0, null, 76, 85, 56, 0, 160, 250, null, null],
[0, "한덕", -1, 0, null, 63, 76, 25, 0, 160, 250, null, null],
[0, "한복", -1, 0, null, 13, 3, 27, 0, 160, 250, null, null],
[0, "한섬", -1, 0, null, 69, 66, 36, 0, 160, 250, null, null],
[0, "한수", -1, 0, null, 89, 70, 77, 0, 160, 250, null, null],
[0, "한숭", -1, 0, null, 25, 15, 70, 0, 160, 250, null, null],
[0, "한윤", -1, 0, null, 26, 29, 64, 0, 160, 250, null, null],
[0, "한충", -1, 0, null, 64, 67, 18, 0, 160, 250, null, null],
[0, "한현", -1, 0, null, 42, 43, 7, 0, 160, 250, null, null],
[0, "한호", -1, 0, null, 69, 72, 68, 0, 160, 250, null, null],
[0, "향랑", -1, 0, null, 28, 18, 73, 0, 160, 250, null, null],
[0, "향총", -1, 0, null, 76, 61, 76, 0, 160, 250, null, null],
[0, "허공", -1, 0, null, 44, 66, 64, 0, 160, 250, null, null],
[0, "허소", -1, 0, null, 16, 11, 74, 0, 160, 250, null, null],
[0, "허유", -1, 0, null, 36, 21, 80, 0, 160, 250, null, null],
[0, "허의", -1, 0, null, 51, 74, 15, 0, 160, 250, null, null],
[0, "허저", -1, 0, null, 65, 96, 36, 0, 160, 250, null, null],
[0, "허정", -1, 0, null, 3, 5, 67, 0, 160, 250, null, null],
[0, "형도영", -1, 0, null, 61, 80, 41, 0, 160, 250, null, null],
[0, "호거아", -1, 0, null, 26, 82, 41, 0, 160, 250, null, null],
[0, "호반", -1, 0, null, 55, 55, 58, 0, 160, 250, null, null],
[0, "호분", -1, 0, null, 71, 76, 50, 0, 160, 250, null, null],
[0, "호열", -1, 0, null, 73, 67, 72, 0, 160, 250, null, null],
[0, "호제", -1, 0, null, 57, 39, 68, 0, 160, 250, null, null],
[0, "호준", -1, 0, null, 70, 76, 52, 0, 160, 250, null, null],
[0, "호진", -1, 0, null, 65, 74, 12, 0, 160, 250, null, null],
[0, "호질", -1, 0, null, 73, 46, 74, 0, 160, 250, null, null],
[0, "화만", -1, 0, null, 69, 82, 32, 0, 160, 250, null, null],
[0, "화웅", -1, 0, null, 81, 90, 56, 0, 160, 250, null, null],
[0, "화타", -1, 0, null, 8, 7, 68, 0, 160, 250, null, null],
[0, "화핵", -1, 0, null, 20, 24, 71, 0, 160, 250, null, null],
[0, "화흠", -1, 0, null, 18, 33, 82, 0, 160, 250, null, null],
[0, "환계", -1, 0, null, 10, 26, 67, 0, 160, 250, null, null],
[0, "환범", -1, 0, null, 20, 11, 78, 0, 160, 250, null, null],
[0, "황개", -1, 0, null, 79, 83, 65, 0, 160, 250, null, null],
[0, "황권", -1, 0, null, 78, 59, 82, 0, 160, 250, null, null],
[0, "황보숭", -1, 0, null, 87, 61, 73, 0, 160, 250, null, null],
[0, "황숭", -1, 0, null, 67, 63, 72, 0, 160, 250, null, null],
[0, "황월영", -1, 0, null, 81, 42, 90, 0, 160, 250, null, null],
[0, "황조", -1, 0, null, 74, 66, 53, 0, 160, 250, null, null],
[0, "황충", -1, 0, null, 86, 93, 60, 0, 160, 250, null, null],
[0, "황호", -1, 0, null, 1, 1, 30, 0, 160, 250, null, null],
[0, "후선", -1, 0, null, 63, 66, 34, 0, 160, 250, null, null],
[0, "후성", -1, 0, null, 74, 75, 63, 0, 160, 250, null, null],
[0, "휴고", -1, 0, null, 63, 71, 38, 0, 160, 250, null, null],
[0, "휴원진", -1, 0, null, 52, 68, 45, 0, 160, 250, null, null],
[0, "희지재", -1, 0, null, 23, 7, 88, 0, 160, 250, null, null],
[0, "왕원희", -1, 0, null, 93, 51, 90, 0, 160, 250, null, null],
[0, "김세정", -1, 0, null, 97, 93, 93, 0, 160, 250, null, null]
],
"general_ex":[
],
"cities":[
],
"history":[
"<C>●</>180년 1월:<L><b>【이벤트】</b></>제작자: 세정.",
"<C>●</>180년 1월:<L><b>【가상모드11】 삼국지11 영웅 난무</>",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>당대의 대표 세력들이 등장합니다."
],
"initialEvents":[
],
"events":[
]
}
+273
View File
@@ -0,0 +1,273 @@
{
"title":"【가상모드12-a】 환상향 공",
"life":0,
"fiction":0,
"stat":{
"total":250,
"min":60,
"max":110,
"npcMax":100
},
"nation":[
],
"diplomacy":[],
"general":[
[0, "히카리코", null, 0, null, 56, 66, 21, 0, 160, 300, null, null],
[0, "히메미코", null, 0, null, 68, 78, 65, 0, 160, 300, null, null],
[0, "히나", "환상향/히나.jpg", 0, null, 66, 63, 83, 0, 160, 300, null, null, "온갖 재액이 닥쳐올 거야. 인간을 지키기 위해서라도 절대 보내주지 않겠어!"],
[0, "후토", "환상향/후토.png", 0, null, 84, 69, 93, 0, 160, 300, null, null, "불이라도 지를까."],
[0, "홍미령", "환상향/홍미령.jpg", 0, null, 85, 79, 63, 0, 160, 300, null, null, "젠장, 배수진이다!"],
[0, "호쥬누에", "환상향/호쥬누에.jpg", 0, null, 85, 95, 72, 0, 160, 300, null, null, "자아, 나의 정체를 알아버린 당신을 죽여버리고, 정체불명으로 돌아가야겠어."],
[0, "호라이인형", null, 0, null, 66, 71, 73, 0, 160, 300, null, null],
[0, "헤카티아", "환상향/헤카티아.jpg", 0, null, 85, 84, 94, 0, 160, 300, null, null, "꿈의 세계에선 무방비하니까 간단한 일이었지."],
[0, "하타테", "환상향/하타테.jpg", 0, null, 30, 88, 70, 0, 160, 300, null, null, "둘이서 더블스포일러가 되어서, 최강을 노리는 거야!"],
[0, "하츠나", null, 0, null, 63, 61, 65, 0, 160, 300, null, null],
[0, "하니에", null, 0, null, 57, 66, 63, 0, 160, 300, null, null],
[0, "플랑드르", "환상향/플랑드르.jpg", 0, null, 76, 101, 71, 0, 160, 300, null, null, "쿠욱하고 콰광~이네"],
[0, "프랑스인형", null, 0, null, 68, 68, 75, 0, 160, 300, null, null],
[0, "파츄리", "환상향/파츄리.jpg", 0, null, 81, 52, 103, 0, 160, 300, null, null, "무큐-"],
[0, "파스칼", null, 0, null, 73, 70, 60, 0, 160, 300, null, null],
[0, "파브리티스", null, 0, null, 61, 61, 62, 0, 160, 300, null, null],
[0, "파르시", "환상향/파르시.jpg", 0, null, 67, 49, 89, 0, 160, 300, null, null, "너한테 원한은 없다만, 내가 널 공격하는 이유는 얼마든지 만들 수 있어."],
[0, "토키코", null, 0, null, 60, 59, 88, 0, 160, 300, null, null],
[0, "토쿠비", null, 0, null, 77, 77, 72, 0, 160, 300, null, null],
[0, "토지코", "환상향/토지코.png", 0, null, 76, 62, 86, 0, 160, 300, null, null, "아이고 이런. 또 하나요?"],
[0, "토요히메", "환상향/토요히메.jpg", 0, null, 96, 69, 95, 0, 160, 300, null, null],
[0, "토비코", null, 0, null, 72, 58, 56, 0, 160, 300, null, null],
[0, "텐시", "환상향/텐시.jpg", 0, null, 81, 89, 71, 0, 160, 300, null, null, "약해! 약해 빠졌어! 그따위로 하늘에 오를 수 있을 거라 꿈도 꾸지 마!"],
[0, "텐무", null, 0, null, 68, 73, 56, 0, 160, 300, null, null],
[0, "텐구5", null, 0, null, 51, 51, 50, 0, 160, 300, null, null],
[0, "텐구4", null, 0, null, 51, 51, 50, 0, 160, 300, null, null],
[0, "텐구3", null, 0, null, 51, 51, 50, 0, 160, 300, null, null],
[0, "텐구2", null, 0, null, 51, 51, 50, 0, 160, 300, null, null],
[0, "텐구1", null, 0, null, 51, 51, 50, 0, 160, 300, null, null],
[0, "테이레이다", "환상향/테이레이다.png", 0, null, 78, 75, 53, 0, 160, 300, null, null, "갑작스럽겠지만, 테스트를 시작하겠어!]"],
[0, "테위", "환상향/테위.jpg", 0, null, 82, 32, 79, 0, 160, 300, null, null, "대숲은 사람을 헤매게 하는 대나무의 미로. 헤매는 것은 산사람다운 행위인 거야."],
[0, "키쿠리", "환상향/키쿠리.jpg", 0, null, 56, 72, 76, 0, 160, 300, null, null],
[0, "키요히메", null, 0, null, 66, 76, 76, 0, 160, 300, null, null],
[0, "키스메", "환상향/키스메.jpg", 0, null, 73, 58, 59, 0, 160, 300, null, null, "너희가 떨어뜨린 시체는 이거냐?"],
[0, "키나코", null, 0, null, 63, 68, 67, 0, 160, 300, null, null],
[0, "클라운피스", "환상향/클라운피스.jpg", 0, null, 89, 80, 77, 0, 160, 300, null, null, "잇츠, 루나틱 타임! 광기의 세계로 어서오세요!"],
[0, "쿠스코", null, 0, null, 70, 57, 53, 0, 160, 300, null, null],
[0, "쿠루미", "환상향/쿠루미.jpg", 0, null, 70, 65, 68, 0, 160, 300, null, null, "나는 쿠루미. 이 호수의 문지기야."],
[0, "쿄코", "환상향/쿄코.jpg", 0, null, 37, 57, 80, 0, 160, 300, null, null, "목소리가 작다!"],
[0, "콘가라", "환상향/콘가라.jpg", 0, null, 91, 96, 60, 0, 160, 300, null, null],
[0, "코토히메", "환상향/코토히메.jpg", 0, null, 54, 36, 90, 0, 160, 300, null, null, "충격의 새로운 사실! 고대인은 전기를 쓰고 있었다!"],
[0, "코코로", "환상향/코코로.jpg", 0, null, 80, 91, 60, 0, 160, 300, null, null, "나와 최강의 칭호를 걸고 싸우자!"],
[0, "코카이", null, 0, null, 67, 78, 61, 0, 160, 300, null, null],
[0, "코이시", "환상향/코이시.jpg", 0, null, 88, 71, 93, 0, 160, 300, null, null, "네 시체는 지령전 입구에 장식해줄게!"],
[0, "코스즈", "환상향/코스즈.jpg", 0, null, 61, 63, 70, 0, 160, 300, null, null, "요괴가 하는 말을 믿으시는 거예요?!"],
[0, "코마치", "환상향/코마치.jpg", 0, null, 80, 97, 75, 0, 160, 300, null, null, "더는 어찌할 도리가 없어. 나는 그런 인간은 버릴 거야."],
[0, "코노하", null, 0, null, 62, 58, 67, 0, 160, 300, null, null],
[0, "코가사", "환상향/코가사.jpg", 0, null, 79, 76, 56, 0, 160, 300, null, null, "됐어. 어차피 요괴는 이렇게 쓸쓸하게 사라져나가는 거니까."],
[0, "케이네", "환상향/케이네.jpg", 0, null, 77, 71, 104, 0, 160, 300, null, null, "여기엔 원래부터 아무것도 없었어, 인간도 인간의 마을도 말이야."],
[0, "캇파5", null, 0, null, 40, 40, 65, 0, 160, 300, null, null],
[0, "캇파4", null, 0, null, 40, 40, 64, 0, 160, 300, null, null],
[0, "캇파3", null, 0, null, 40, 40, 63, 0, 160, 300, null, null],
[0, "캇파2", null, 0, null, 40, 40, 62, 0, 160, 300, null, null],
[0, "캇파1", null, 0, null, 40, 40, 61, 0, 160, 300, null, null],
[0, "카스미", null, 0, null, 67, 63, 82, 0, 160, 300, null, null],
[0, "카센", "환상향/카센.jpg", 0, null, 72, 103, 71, 0, 160, 300, null, null, "이런 곳에서 전력을 다할 이유가없지."],
[0, "카나코", "환상향/카나코.jpg", 0, null, 84, 97, 77, 0, 160, 300, null, null, "나를 부른 이는 누구인가?"],
[0, "카나", "환상향/카나.jpg", 0, null, 64, 72, 57, 0, 160, 300, null, null, "아, 아니, 그러니까, 우주인?]"],
[0, "카구야", "환상향/카구야.jpg", 0, null, 98, 71, 82, 0, 160, 300, null, null, "내 영원을 다루는 술법으로 모두 깨뜨려 보이겠어."],
[0, "카게로", "환상향/카게로.png", 0, null, 78, 88, 68, 0, 160, 300, null, null, "무서워~ 인간 무서워~"],
[0, "치유리", "환상향/치유리.jpg", 0, null, 45, 77, 78, 0, 160, 300, null, null, "싸워서 강한 쪽이 이 세계의 치유리라구."],
[0, "치르노", "환상향/치르노.jpg", 0, null, 79, 89, 49, 0, 160, 300, null, null, "눈앞에 강적이 있잖아?"],
[0, "츠바메", null, 0, null, 71, 80, 58, 0, 160, 300, null, null],
[0, "첸", "환상향/첸.jpg", 0, null, 48, 70, 70, 0, 160, 300, null, null, "그건 그렇고, 마요이가에 어서와"],
[0, "지벤", null, 0, null, 85, 67, 66, 0, 160, 300, null, null],
[0, "지귀", null, 0, null, 79, 67, 69, 0, 160, 300, null, null],
[0, "조온", null, 0, null, 83, 74, 96, 0, 160, 300, null, null, "우리가 왜 최흉최악의 자매인지 그 몸으로 이해해라!"],
[0, "자넷", null, 0, null, 60, 59, 62, 0, 160, 300, null, null],
[0, "이포니아", null, 0, null, 61, 62, 61, 0, 160, 300, null, null],
[0, "이쿠", "환상향/이쿠.jpg", 0, null, 72, 72, 94, 0, 160, 300, null, null, "조금 벌을 받으실 필요가 있을지도 모르겠군요."],
[0, "이치요우", null, 0, null, 70, 73, 58, 0, 160, 300, null, null],
[0, "이치린", "환상향/이치린.jpg", 0, null, 86, 55, 88, 0, 160, 300, null, null, "평화롭게 살고있으니까 괜찮잖아. 너, 요괴를 죽여도 아무렇지 않아?"],
[0, "이슈아", null, 0, null, 67, 76, 78, 0, 160, 300, null, null],
[0, "이나코", null, 0, null, 56, 35, 63, 0, 160, 300, null, null],
[0, "유키", "환상향/유키.jpg", 0, null, 72, 77, 61, 0, 160, 300, null, null, "우리 둘을 쓰러뜨릴 수 있을 거라고 생각해?"],
[0, "유카리", "환상향/유카리.jpg", 0, null, 87, 76, 96, 0, 160, 300, null, null, "아름답고 잔혹하게 이 대지에서 사라져라!"],
[0, "유카", "환상향/유카.jpg", 0, null, 94, 88, 70, 0, 160, 300, null, null, "아 그래, 마침 60년 전이었네. 아아...... 그래, 벌써 그런 시기구나...... 60년인가. 회귀할 때구나."],
[0, "유유코", "환상향/유유코.jpg", 0, null, 97, 80, 81, 0, 160, 300, null, null, "새는 잔뼈가 많아서 싫어."],
[0, "유메코", "환상향/유메코.jpg", 0, null, 72, 103, 73, 0, 160, 300, null, null, "우리들을 모욕한 죄는 죽음으로 밖에 갚을 수 없다!!"],
[0, "유메미", "환상향/유메미.jpg", 0, null, 93, 72, 91, 0, 160, 300, null, null, "기합 넣어! 죽어 버렸다간 데리고 돌아갈 수 없으니까."],
[0, "유기", "환상향/유기.jpg", 0, null, 71, 104, 72, 0, 160, 300, null, null, "네가 강하기만 하다면 나야 아무 군소리도 안해. 어떤 목적으로 여기에 왔건 간에."],
[0, "유겐마간", "환상향/유겐마간.jpg", 0, null, 80, 80, 50, 0, 160, 300, null, null],
[0, "우카", null, 0, null, 60, 73, 82, 0, 160, 300, null, null],
[0, "우츠호", "환상향/우츠호.jpg", 0, null, 73, 105, 68, 0, 160, 300, null, null, "이물질 발견! 핵융합로의 이물질 혼입은 일단 반응을 정지하고, 즉각 이물질을 제거하라."],
[0, "요정5", null, 0, null, 55, 60, 35, 0, 160, 300, null, null],
[0, "요정4", null, 0, null, 55, 59, 34, 0, 160, 300, null, null],
[0, "요정3", null, 0, null, 55, 58, 33, 0, 160, 300, null, null],
[0, "요정2", null, 0, null, 55, 57, 32, 0, 160, 300, null, null],
[0, "요정1", null, 0, null, 55, 56, 31, 0, 160, 300, null, null],
[0, "요우무", "환상향/요우무.jpg", 0, null, 81, 89, 71, 0, 160, 300, null, null, "...요괴가 담금질한 이 누관검에, 벨 수 없는 것 따위, 별로 없어!"],
[0, "요시카", "환상향/요시카.jpg", 0, null, 84, 78, 61, 0, 160, 300, null, null, "오~지~마~!"],
[0, "요리히메", "환상향/요리히메.jpg", 0, null, 90, 98, 74, 0, 160, 300, null, null],
[0, "와카챠나두", null, 0, null, 62, 61, 68, 0, 160, 300, null, null],
[0, "와카사기", "환상향/와카사기.png", 0, null, 68, 57, 79, 0, 160, 300, null, null, "슬슬 우리요괴가 활약할 차례야!"],
[0, "오토히메", null, 0, null, 80, 60, 76, 0, 160, 300, null, null],
[0, "오키나", "환상향/오키나.png", 0, null, 87, 87, 86, 0, 160, 300, null, null, "요괴가 아니라 신이에요~"],
[0, "오모이카네", null, 0, null, 66, 52, 86, 0, 160, 300, null, null],
[0, "오린", "환상향/오린.jpg", 0, null, 87, 84, 77, 0, 160, 300, null, null, "시체가 갖고 싶으니까, 역시 내가 언니를 처리해야겠네!"],
[0, "오렌지", "환상향/오렌지.jpg", 0, null, 72, 52, 68, 0, 160, 300, null, null, "아하하, 1면 보스니까라고 얕보지 말라구!"],
[0, "오니5", null, 0, null, 55, 65, 40, 0, 160, 300, null, null],
[0, "오니4", null, 0, null, 54, 64, 40, 0, 160, 300, null, null],
[0, "오니3", null, 0, null, 53, 63, 40, 0, 160, 300, null, null],
[0, "오니2", null, 0, null, 52, 62, 40, 0, 160, 300, null, null],
[0, "오니1", null, 0, null, 51, 61, 40, 0, 160, 300, null, null],
[0, "엘핀민트", null, 0, null, 71, 71, 61, 0, 160, 300, null, null],
[0, "엘리스", "환상향/엘리스.jpg", 0, null, 55, 69, 88, 0, 160, 300, null, null],
[0, "엘리", "환상향/엘리.jpg", 0, null, 86, 83, 66, 0, 160, 300, null, null, "싸운 거 오랜만인걸 뭐."],
[0, "엘렌", "환상향/엘렌.jpg", 0, null, 67, 62, 71, 0, 160, 300, null, null, "나는, 엘렌. 폭신폭신 엘렌이야."],
[0, "에이린", "환상향/에이린.jpg", 0, null, 72, 76, 105, 0, 160, 300, null, null, "아하하. 너희는 어리석구나."],
[0, "야토", null, 0, null, 72, 83, 66, 0, 160, 300, null, null],
[0, "야츠하시", "환상향/야츠하시.png", 0, null, 69, 58, 73, 0, 160, 300, null, null, "훗훗후, 반역자에겐 어떤 수단이든 써도 된다면서?"],
[0, "야마메", "환상향/야마메.jpg", 0, null, 75, 65, 77, 0, 160, 300, null, null, "지저에 떨어진 요괴의 힘을 보고 싶은 모양이구나."],
[0, "앨리스", "환상향/앨리스.jpg", 0, null, 81, 63, 99, 0, 160, 300, null, null, "그런 소리 하니까 바보 취급당하는 거야. 탄막은 브레인. 상식이야."],
[0, "안자", null, 0, null, 67, 61, 83, 0, 160, 300, null, null],
[0, "안", null, 0, null, 68, 51, 67, 0, 160, 300, null, null],
[0, "아큐", "환상향/아큐.jpg", 0, null, 72, 30, 82, 0, 160, 300, null, null, "나는 이래뵈도 히에다가의 당주로써 환상향의 서기라는 역할을 지닌 유서깊은 집안의 사람이야."],
[0, "아즈마", null, 0, null, 78, 81, 64, 0, 160, 300, null, null],
[0, "아운", "환상향/아운.png", 0, null, 78, 87, 65, 0, 160, 300, null, null, "신사를 지키는 수호신으로서 말이야!"],
[0, "아야", "환상향/아야.jpg", 0, null, 73, 93, 71, 0, 160, 300, null, null, "깨끗하고 올바른 샤메이마루입니다."],
[0, "아리오슈", null, 0, null, 56, 70, 67, 0, 160, 300, null, null],
[0, "써니", "환상향/써니.jpg", 0, null, 75, 75, 60, 0, 160, 300, null, null, "어라, 혼자서도 최강이라며?"],
[0, "쌍자", null, 0, null, 63, 82, 71, 0, 160, 300, null, null],
[0, "쌍사", null, 0, null, 62, 73, 81, 0, 160, 300, null, null],
[0, "신키", "환상향/신키.jpg", 0, null, 96, 92, 73, 0, 160, 300, null, null, "나의 세계에서 저지른 죄값은 크지. 용서할 리가 없잖아."],
[0, "신묘마루", "환상향/신묘마루.png", 0, null, 85, 68, 88, 0, 160, 300, null, null, "누─구?"],
[0, "시키에이키", "환상향/시키에이키.jpg", 0, null, 84, 77, 98, 0, 160, 300, null, null, "보랏빛 벚꽃은 죄 깊은 인간의 영혼이 깃드는 꽃. 너는 그 보랏빛 벚꽃이 떨어져내리는 밑에서, 단죄하거라!"],
[0, "시키에이카", null, 0, null, 71, 60, 77, 0, 160, 300, null, null],
[0, "시즈하", "환상향/시즈하.jpg", 0, null, 79, 55, 62, 0, 160, 300, null, null],
[0, "시온", null, 0, null, 80, 97, 76, 0, 160, 300, null, null, "나도 좋아서 가난하게 살고 있는 게 아닌데~"],
[0, "스타", "환상향/스타.jpg", 0, null, 70, 60, 75, 0, 160, 300, null, null, "그래, 이 비겁한 녀석아!"],
[0, "스이카", "환상향/스이카.jpg", 0, null, 74, 102, 66, 0, 160, 300, null, null, "거짓말은 인간만 하는 거야!"],
[0, "스와코", "환상향/스와코.jpg", 0, null, 95, 81, 81, 0, 160, 300, null, null, "아~우~~"],
[0, "스씨", null, 0, null, 66, 63, 66, 0, 160, 300, null, null],
[0, "스미레코", "환상향/스미레코.jpg", 0, null, 81, 63, 88, 0, 160, 300, null, null, "히가시후카미 고등학교 1학년, 우사미 스미레코. 우는 아이도 뚝 그치는 진짜 초능력자야."],
[0, "순호", "환상향/순호.jpg", 0, null, 77, 102, 79, 0, 160, 300, null, null, "지금의 너로썬 내 힘 앞에선 무력, 절대적으로 무력하도다!"],
[0, "쇼", "환상향/쇼.jpg", 0, null, 75, 75, 95, 0, 160, 300, null, null, "그것이 당신의 정의라는 거라면, 그것도 좋지요."],
[0, "소악마", "환상향/소악마.jpg", 0, null, 50, 72, 67, 0, 160, 300, null, null],
[0, "셰퍼드", null, 0, null, 61, 58, 56, 0, 160, 300, null, null],
[0, "센고", null, 0, null, 83, 56, 79, 0, 160, 300, null, null],
[0, "센", null, 0, null, 67, 66, 28, 0, 160, 300, null, null],
[0, "세키반키", "환상향/세키반키.png", 0, null, 68, 75, 71, 0, 160, 300, null, null, "인간은 누구든지 나를 무서워하지!"],
[0, "세츠조", null, 0, null, 58, 80, 58, 0, 160, 300, null, null],
[0, "세이자", "환상향/세이자.png", 0, null, 82, 94, 69, 0, 160, 300, null, null, "내 이름은 세이자. 뼛속까지 아마노자쿠다!"],
[0, "세이란", "환상향/세이란.jpg", 0, null, 71, 77, 51, 0, 160, 300, null, null, "뭐, 이것도 일이야, 알지? 그러니 내게 여기서 얌전히 당해 줘. 응?"],
[0, "샤리트", null, 0, null, 68, 62, 62, 0, 160, 300, null, null],
[0, "상해인형", null, 0, null, 74, 69, 69, 0, 160, 300, null, null],
[0, "상아", null, 0, null, 84, 84, 84, 0, 160, 300, null, null],
[0, "사토리", "환상향/사토리.jpg", 0, null, 81, 57, 84, 0, 160, 300, null, null, "제게는 보여요. 당신이 마음속에 그리고 있는 탄막이!"],
[0, "사토노", "환상향/사토노.png", 0, null, 71, 76, 77, 0, 160, 300, null, null, "봐 주진 않겠지만 죽으면 죽일꺼니까 말야―!"],
[0, "사쿠야", "환상향/사쿠야.jpg", 0, null, 87, 89, 78, 0, 160, 300, null, null, "당신의 시간 또한 나의 것"],
[0, "사샤", null, 0, null, 74, 48, 78, 0, 160, 300, null, null],
[0, "사리엘", "환상향/사리엘.jpg", 0, null, 85, 68, 102, 0, 160, 300, null, null, "죽는다면 모두 함께"],
[0, "사라카", null, 0, null, 60, 74, 63, 0, 160, 300, null, null],
[0, "사라", "환상향/사라.jpg", 0, null, 76, 78, 36, 0, 160, 300, null, null, "싸우는 건 재미있지만, 지는 건 재미없어."],
[0, "사나에", "환상향/사나에.jpg", 0, null, 87, 71, 85, 0, 160, 300, null, null, "지금은, 바깥 세계는 환경을 지키라든가 경기 대책이 어떻다든가, 바보 같이 뭘 위해 태어난 건지 생각할 수 없는 사람 뿐."],
[0, "사구메", "환상향/사구메.jpg", 0, null, 84, 97, 71, 0, 160, 300, null, null, "......그런건 아냐."],
[0, "벤벤", "환상향/벤벤.png", 0, null, 69, 59, 75, 0, 160, 300, null, null, "어딜 봐도 츠쿠모가미잖아."],
[0, "뱌쿠렌", "환상향/뱌쿠렌.jpg", 0, null, 83, 90, 82, 0, 160, 300, null, null, "아아, 법의 세계에 빛이 가득해."],
[0, "미호", null, 0, null, 85, 86, 62, 0, 160, 300, null, null],
[0, "미하나", null, 0, null, 76, 67, 84, 0, 160, 300, null, null],
[0, "미토리", null, 0, null, 57, 56, 62, 0, 160, 300, null, null],
[0, "미코토", null, 0, null, 73, 82, 82, 0, 160, 300, null, null],
[0, "미코", "환상향/미코.png", 0, null, 87, 72, 97, 0, 160, 300, null, null, "장난은 끝이다!"],
[0, "미요", null, 0, null, 73, 66, 58, 0, 160, 300, null, null],
[0, "미스티아", "환상향/미스티아.jpg", 0, null, 65, 82, 12, 0, 160, 300, null, null, "자, 잠깐 기다려~!"],
[0, "미셸", null, 0, null, 70, 69, 72, 0, 160, 300, null, null],
[0, "미샨드라", null, 0, null, 80, 63, 82, 0, 160, 300, null, null],
[0, "미샤구지", null, 0, null, 48, 99, 59, 0, 160, 300, null, null],
[0, "미마", "환상향/미마.jpg", 0, null, 75, 90, 93, 0, 160, 300, null, null, "나도 인간계의 신이야. (거짓말)"],
[0, "미노리코", "환상향/미노리코.jpg", 0, null, 71, 58, 74, 0, 160, 300, null, null, "갓 수확한 고구마는 나의 향수. 무녀가 먹게 놔둘 줄 알고!"],
[0, "미나유", null, 0, null, 72, 49, 84, 0, 160, 300, null, null],
[0, "무무무", null, 0, null, 70, 77, 57, 0, 160, 300, null, null],
[0, "무라사", "환상향/무라사.jpg", 0, null, 76, 82, 65, 0, 160, 300, null, null, "이 세상에 미련이 남으신 분은 승선할 수 없습니다만 당신은 어떠신가요?"],
[0, "무게츠", "환상향/무게츠.jpg", 0, null, 76, 95, 68, 0, 160, 300, null, null, "난 무게츠. 그리고, 여긴 나의 세계."],
[0, "묘렌", null, 0, null, 77, 78, 79, 0, 160, 300, null, null],
[0, "모코우", "환상향/모코우.jpg", 0, null, 83, 99, 69, 0, 160, 300, null, null, "너희들도 한번 영원의 고륜을 고민해 보는 게 좋아!"],
[0, "모미지", "환상향/모미지.jpg", 0, null, 83, 68, 66, 0, 160, 300, null, null, "높은 분들은 저희 일반 텐구보다 훨씬 강하니까, 경비 같은 건 전혀 필요하지 않을 것 같은데."],
[0, "모모히메", null, 0, null, 75, 68, 72, 0, 160, 300, null, null],
[0, "모모", null, 0, null, 62, 62, 71, 0, 160, 300, null, null],
[0, "메이즈", null, 0, null, 70, 40, 76, 0, 160, 300, null, null],
[0, "메이벨", null, 0, null, 71, 74, 56, 0, 160, 300, null, null],
[0, "메이라", "환상향/메이라.jpg", 0, null, 65, 82, 36, 0, 160, 300, null, null, "내가 이기면 하쿠레이의 힘은 내가 가져가겠어!"],
[0, "메를린", "환상향/메를린.jpg", 0, null, 73, 67, 70, 0, 160, 300, null, null, "내 연주를 듣고서, 무사했던 식량은 없지."],
[0, "메디슨", "환상향/메디슨.jpg", 0, null, 73, 58, 71, 0, 160, 300, null, null, "콘파로, 콘파로, 독이여 모여라~"],
[0, "메구미", null, 0, null, 83, 77, 74, 0, 160, 300, null, null],
[0, "마이", "환상향/마이.jpg", 0, null, 72, 60, 75, 0, 160, 300, null, null, "내가 안내할게..."],
[0, "마을사람5", null, 0, null, 65, 35, 50, 0, 160, 300, null, null],
[0, "마을사람4", null, 0, null, 64, 34, 50, 0, 160, 300, null, null],
[0, "마을사람3", null, 0, null, 63, 33, 50, 0, 160, 300, null, null],
[0, "마을사람2", null, 0, null, 62, 32, 50, 0, 160, 300, null, null],
[0, "마을사람1", null, 0, null, 61, 31, 50, 0, 160, 300, null, null],
[0, "마미조", "환상향/마미조.png", 0, null, 77, 77, 97, 0, 160, 300, null, null, "뭔가 고민이 있는 모양이구먼. 야그나 함 들어 보자."],
[0, "마리우스", null, 0, null, 67, 87, 66, 0, 160, 300, null, null],
[0, "마리사", "환상향/마리사.jpg", 0, null, 83, 91, 78, 0, 160, 300, null, null, "아~? 탄막에 두뇌? 바보 아냐? 탄막은 파워야."],
[0, "마나", null, 0, null, 73, 75, 72, 0, 160, 300, null, null],
[0, "링고", "환상향/링고.jpg", 0, null, 54, 76, 71, 0, 160, 300, null, null, "옛날의 극락정토는 이제 보이는 그림자도 없다고 생각해."],
[0, "릴리", "환상향/릴리.jpg", 0, null, 37, 63, 68, 0, 160, 300, null, null, "봄이에요~"],
[0, "린네", null, 0, null, 83, 66, 83, 0, 160, 300, null, null],
[0, "리코", null, 0, null, 68, 60, 76, 0, 160, 300, null, null],
[0, "리카코", "환상향/리카코.jpg", 0, null, 76, 71, 100, 0, 160, 300, null, null, "왜 마법 따위에 흥미를 가지기나 하지?"],
[0, "리카", "환상향/리카.jpg", 0, null, 61, 63, 75, 0, 160, 300, null, null, "가는 거예요!!"],
[0, "리리카", "환상향/리리카.jpg", 0, null, 57, 66, 83, 0, 160, 300, null, null, "당신은 노래를 부르지. 난 손을 쓰지 않고 연주를 해. 장기전으로 가면 내 쪽이 세다고?"],
[0, "리락", null, 0, null, 74, 54, 62, 0, 160, 300, null, null],
[0, "리글", "환상향/리글.jpg", 0, null, 85, 64, 51, 0, 160, 300, null, null, "달이 보이는 밤에는, 즐기지 않아선 안 되는 거 아닐까."],
[0, "루이즈", "환상향/루이즈.jpg", 0, null, 59, 57, 72, 0, 160, 300, null, null, "뭐, 마계는 좋은 곳이니, 느긋하게 관광이라도 하도록 해☆"],
[0, "루미아", "환상향/루미아.jpg", 0, null, 79, 70, 56, 0, 160, 300, null, null, "그런 건가~"],
[0, "루리", null, 0, null, 66, 66, 62, 0, 160, 300, null, null],
[0, "루나사", "환상향/루나사.jpg", 0, null, 76, 77, 50, 0, 160, 300, null, null, "넌 슬픈 처지에서 태어난 경우야. 들떠있을 때가 아니지."],
[0, "루나", "환상향/루나.jpg", 0, null, 67, 74, 74, 0, 160, 300, null, null, "빨라고? 네녀석이 빨아라!"],
[0, "레티", "환상향/레티.jpg", 0, null, 60, 79, 49, 0, 160, 300, null, null, "흑막~"],
[0, "레이센", "환상향/레이센.jpg", 0, null, 79, 78, 89, 0, 160, 300, null, null, "이 앞에 기다리고 있는 게 악몽이라 해도, 그래도 나는 가야만 해."],
[0, "레이무", "환상향/레이무.jpg", 0, null, 90, 83, 82, 0, 160, 300, null, null, "인간을 쉽사리 죽게 내버려 둘까 보냐!"],
[0, "레이라", null, 0, null, 66, 67, 51, 0, 160, 300, null, null],
[0, "레밀리아", "환상향/레밀리아.jpg", 0, null, 93, 94, 70, 0, 160, 300, null, null, "당신은 이제껏 먹어 온 빵이 몇 개인지 알고 있어?"],
[0, "런던인형", null, 0, null, 64, 78, 62, 0, 160, 300, null, null],
[0, "란", "환상향/란.jpg", 0, null, 71, 79, 101, 0, 160, 300, null, null, "흠. 첸을 괴롭힌건 너지?"],
[0, "라쿠", null, 0, null, 71, 52, 69, 0, 160, 300, null, null],
[0, "라이코", "환상향/라이코.png", 0, null, 80, 66, 91, 0, 160, 300, null, null, "누구라도 자기 목숨을 부지하고 싶으면 노력을 아끼지 않잖아?"],
[0, "라바", "환상향/라바.png", 0, null, 69, 74, 54, 0, 160, 300, null, null, "지금이라면 신세계의 신이라도 될 것 같은 기분이야!"],
[0, "도레미", "환상향/도레미.jpg", 0, null, 67, 63, 88, 0, 160, 300, null, null, "맨몸!? 혹시 맨몸!?"],
[0, "대요정", "환상향/대요정.jpg", 0, null, 60, 56, 79, 0, 160, 300, null, null],
[0, "달토끼5", null, 0, null, 35, 55, 55, 0, 160, 300, null, null],
[0, "달토끼4", null, 0, null, 34, 54, 55, 0, 160, 300, null, null],
[0, "달토끼3", null, 0, null, 33, 53, 55, 0, 160, 300, null, null],
[0, "달토끼2", null, 0, null, 32, 52, 55, 0, 160, 300, null, null],
[0, "달토끼1", null, 0, null, 31, 51, 55, 0, 160, 300, null, null],
[0, "니토리", "환상향/니토리.jpg", 0, null, 68, 68, 76, 0, 160, 300, null, null, "축제 땐 생선이 잘 팔리지. 인간에게 어업권을 뺏어서 독점하면 떼돈 벌겠네!"],
[0, "노바", null, 0, null, 74, 56, 82, 0, 160, 300, null, null],
[0, "노로이코", "환상향/노로이코.jpg", 0, null, 56, 61, 65, 0, 160, 300, null, null],
[0, "네즈", null, 0, null, 76, 71, 40, 0, 160, 300, null, null],
[0, "네무노", "환상향/네무노.png", 0, null, 78, 40, 67, 0, 160, 300, null, null, "자자, 차라도 마시고 가라."],
[0, "나즈린", "환상향/나즈린.jpg", 0, null, 76, 63, 64, 0, 160, 300, null, null, "미안한데, 쥐를 얕보다간 죽어."],
[0, "나루코", null, 0, null, 68, 40, 70, 0, 160, 300, null, null],
[0, "나루미", "환상향/나루미.png", 0, null, 84, 72, 78, 0, 160, 300, null, null, "에? 뭐야 그거 무서워"],
[0, "구유카", "환상향/구유카.jpg", 0, null, 84, 85, 85, 0, 160, 300, null, null, "신이라 해도, 힘이야말로 전부야!"],
[0, "구앨리스", "환상향/구앨리스.jpg", 0, null, 80, 80, 90, 0, 160, 300, null, null, "궁극의 마법으로 널 해치워 주겠어!!"],
[0, "구마리사", "환상향/구마리사.jpg", 0, null, 80, 90, 80, 0, 160, 300, null, null, "오케이~, 여기는 마리사에게 맡겨줘."],
[0, "구레이무", "환상향/구레이무.jpg", 0, null, 90, 80, 80, 0, 160, 300, null, null, "문답무용이야!!"],
[0, "곽청아", "환상향/곽청아.png", 0, null, 72, 77, 87, 0, 160, 300, null, null, "네~ 썩어서 귀엽죠?"],
[0, "골리앗", null, 0, null, 72, 78, 58, 0, 160, 300, null, null],
[0, "겐지", null, 0, null, 70, 70, 70, 0, 160, 300, null, null],
[0, "겐게츠", "환상향/겐게츠.jpg", 0, null, 83, 70, 94, 0, 160, 300, null, null, "얕보지 마. 우린, 둘이서 한 사람 몫이니까.…"],
[0, "강림", null, 0, null, 84, 76, 57, 0, 160, 300, null, null]
],
"cities":[
],
"history":[
"<C>●</>180년 1월:<L><b>【이벤트】</b></>제작자 : Cure.",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>도움을주신분 : 네이미.",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>환상향의 세계관을 불러옵니다.",
"<C>●</>180년 1월:<L><b>【가상모드12-a】</b></>환상향 공."
],
"initialActions":[
],
"events":[
]
}
+290
View File
@@ -0,0 +1,290 @@
{
"title":"【가상모드12-b】 환상향 춘",
"life":0,
"fiction":0,
"stat":{
"total":250,
"min":60,
"max":110,
"npcMax":100
},
"nation":[
["영이", "#A9A9A9", 3000, 3000, "The Highly Responsive to Prayers.", 0, "묵가", 1, ["상용"]],
["봉마", "#483D8B", 3000, 3000, "The Story of Eastern Wonderland.", 0, "종횡가", 1, ["이도"]],
["몽시", "#000080", 3000, 3000, "The Phantasmagoria of Dim. Dream.", 0, "도가", 1, ["하변"]],
["환상", "#FF0000", 3000, 3000, "Lotus Land Story.", 0, "태평도", 1, ["계양"]],
["괴기", "#FF00FF", 3000, 3000, "Mystic Square.", 0, "음양가", 1, ["교지"]],
["홍마", "#800000", 3000, 3000, "the Embodiment of Scarlet Devil.", 0, "명가", 1, ["진류"]],
["요요", "#FFC0CB", 3000, 3000, "Perfect Cherry Blossom.", 0, "유가", 1, ["평원"]],
["영야", "#008080", 3000, 3000, "Imperishable Night.", 0, "종횡가", 1, ["서량"]],
["화영", "#6495ED", 3000, 3000, "Phantasmagoria of Flower View.", 0, "법가", 1, ["졸본"]],
["풍신", "#7FFFD4", 3000, 3000, "Mountain of Faith.", 0, "오두미도", 1, ["오"]],
["지령", "#A0522D", 3000, 3000, "Subterranean Animism.", 0, "음양가", 1, ["덕양"]],
["성령", "#87CEEB", 3000, 3000, "Undefined Fantastic Object.", 0, "불가", 1, ["홍농"]],
["신령", "#AFEEEE", 3000, 3000, "Ten Desires.", 0, "덕가", 1, ["패"]],
["휘침", "#F5F5DC", 3000, 3000, "Double Dealing Character.", 0, "병가", 1, ["귀양"]],
["감주", "#FFA500", 3000, 3000, "Legacy of Lunatic Kingdom.", 0, "병가", 1, ["여남"]],
["천공", "#7CFC00", 3000, 3000, "Hidden Star in Four Seasons.", 0, "유가", 1, ["고창"]],
["외전", "#FFFFFF", 3000, 3000, "", 0, "도적", 1, ["강릉"]],
["구문", "#FFFF00", 3000, 3000, "Perfect Memento in Strict Sense", 0, "덕가", 1, ["계"]]
],
"diplomacy":[],
"general":[
[0, "히카리코", null, "환상", null, 56, 66, 21, 0, 160, 300, null, null],
[0, "히메미코", null, 0, null, 68, 78, 65, 0, 160, 300, null, null],
[0, "히나", "환상향/히나.jpg", "풍신", null, 66, 63, 83, 0, 160, 300, null, null, "온갖 재액이 닥쳐올 거야. 인간을 지키기 위해서라도 절대 보내주지 않겠어!"],
[0, "후토", "환상향/후토.png", "신령", null, 84, 69, 93, 0, 160, 300, null, null, "불이라도 지를까."],
[0, "홍미령", "환상향/홍미령.jpg", "홍마", null, 85, 79, 63, 0, 160, 300, null, null, "젠장, 배수진이다!"],
[0, "호쥬누에", "환상향/호쥬누에.jpg", "성령", null, 85, 95, 72, 0, 160, 300, null, null, "자아, 나의 정체를 알아버린 당신을 죽여버리고, 정체불명으로 돌아가야겠어."],
[0, "호라이인형", null, 0, null, 66, 71, 73, 0, 160, 300, null, null],
[0, "헤카티아", "환상향/헤카티아.jpg", "감주", null, 85, 84, 94, 0, 160, 300, null, null, "꿈의 세계에선 무방비하니까 간단한 일이었지."],
[0, "하타테", "환상향/하타테.jpg", "외전", null, 30, 88, 70, 0, 160, 300, null, null, "둘이서 더블스포일러가 되어서, 최강을 노리는 거야!"],
[0, "하츠나", null, 0, null, 63, 61, 65, 0, 160, 300, null, null],
[0, "하니에", null, 0, null, 57, 66, 63, 0, 160, 300, null, null],
[0, "플랑드르", "환상향/플랑드르.jpg", "홍마", null, 76, 101, 71, 0, 160, 300, null, null, "쿠욱하고 콰광~이네"],
[0, "프랑스인형", null, 0, null, 68, 68, 75, 0, 160, 300, null, null],
[0, "파츄리", "환상향/파츄리.jpg", "홍마", null, 81, 52, 103, 0, 160, 300, null, null, "무큐-"],
[0, "파스칼", null, 0, null, 73, 70, 60, 0, 160, 300, null, null],
[0, "파브리티스", null, 0, null, 61, 61, 62, 0, 160, 300, null, null],
[0, "파르시", "환상향/파르시.jpg", "지령", null, 67, 49, 89, 0, 160, 300, null, null, "너한테 원한은 없다만, 내가 널 공격하는 이유는 얼마든지 만들 수 있어."],
[0, "토키코", null, "구문", null, 60, 59, 88, 0, 160, 300, null, null],
[0, "토쿠비", null, 0, null, 77, 77, 72, 0, 160, 300, null, null],
[0, "토지코", "환상향/토지코.png", "신령", null, 76, 62, 86, 0, 160, 300, null, null, "아이고 이런. 또 하나요?"],
[0, "토요히메", "환상향/토요히메.jpg", "구문", null, 96, 69, 95, 0, 160, 300, null, null],
[0, "토비코", null, 0, null, 72, 58, 56, 0, 160, 300, null, null],
[0, "텐시", "환상향/텐시.jpg", "외전", null, 81, 89, 71, 0, 160, 300, null, null, "약해! 약해 빠졌어! 그따위로 하늘에 오를 수 있을 거라 꿈도 꾸지 마!"],
[0, "텐무", null, 0, null, 68, 73, 56, 0, 160, 300, null, null],
[0, "텐구5", null, 0, null, 51, 51, 50, 0, 160, 300, null, null],
[0, "텐구4", null, 0, null, 51, 51, 50, 0, 160, 300, null, null],
[0, "텐구3", null, 0, null, 51, 51, 50, 0, 160, 300, null, null],
[0, "텐구2", null, 0, null, 51, 51, 50, 0, 160, 300, null, null],
[0, "텐구1", null, 0, null, 51, 51, 50, 0, 160, 300, null, null],
[0, "테이레이다", "환상향/테이레이다.png", "천공", null, 78, 75, 53, 0, 160, 300, null, null, "갑작스럽겠지만, 테스트를 시작하겠어!]"],
[0, "테위", "환상향/테위.jpg", "영야", null, 82, 32, 79, 0, 160, 300, null, null, "대숲은 사람을 헤매게 하는 대나무의 미로. 헤매는 것은 산사람다운 행위인 거야."],
[0, "키쿠리", "환상향/키쿠리.jpg", "영이", null, 56, 72, 76, 0, 160, 300, null, null],
[0, "키요히메", null, 0, null, 66, 76, 76, 0, 160, 300, null, null],
[0, "키스메", "환상향/키스메.jpg", "지령", null, 73, 58, 59, 0, 160, 300, null, null, "너희가 떨어뜨린 시체는 이거냐?"],
[0, "키나코", null, 0, null, 63, 68, 67, 0, 160, 300, null, null],
[0, "클라운피스", "환상향/클라운피스.jpg", "감주", null, 89, 80, 77, 0, 160, 300, null, null, "잇츠, 루나틱 타임! 광기의 세계로 어서오세요!"],
[0, "쿠스코", null, 0, null, 70, 57, 53, 0, 160, 300, null, null],
[0, "쿠루미", "환상향/쿠루미.jpg", "환상", null, 70, 65, 68, 0, 160, 300, null, null, "나는 쿠루미. 이 호수의 문지기야."],
[0, "쿄코", "환상향/쿄코.jpg", "신령", null, 37, 57, 80, 0, 160, 300, null, null, "목소리가 작다!"],
[0, "콘가라", "환상향/콘가라.jpg", "영이", null, 91, 96, 60, 0, 160, 300, null, null],
[0, "코토히메", "환상향/코토히메.jpg", "몽시", null, 54, 36, 90, 0, 160, 300, null, null, "충격의 새로운 사실! 고대인은 전기를 쓰고 있었다!"],
[0, "코코로", "환상향/코코로.jpg", "외전", null, 80, 91, 60, 0, 160, 300, null, null, "나와 최강의 칭호를 걸고 싸우자!"],
[0, "코카이", null, 0, null, 67, 78, 61, 0, 160, 300, null, null],
[0, "코이시", "환상향/코이시.jpg", "지령", null, 88, 71, 93, 0, 160, 300, null, null, "네 시체는 지령전 입구에 장식해줄게!"],
[0, "코스즈", "환상향/코스즈.jpg", "구문", null, 61, 63, 70, 0, 160, 300, null, null, "요괴가 하는 말을 믿으시는 거예요?!"],
[0, "코마치", "환상향/코마치.jpg", "화영", null, 80, 97, 75, 0, 160, 300, null, null, "더는 어찌할 도리가 없어. 나는 그런 인간은 버릴 거야."],
[0, "코노하", null, 0, null, 62, 58, 67, 0, 160, 300, null, null],
[0, "코가사", "환상향/코가사.jpg", "성령", null, 79, 76, 56, 0, 160, 300, null, null, "됐어. 어차피 요괴는 이렇게 쓸쓸하게 사라져나가는 거니까."],
[0, "케이네", "환상향/케이네.jpg", "영야", null, 77, 71, 104, 0, 160, 300, null, null, "여기엔 원래부터 아무것도 없었어, 인간도 인간의 마을도 말이야."],
[0, "캇파5", null, 0, null, 40, 40, 65, 0, 160, 300, null, null],
[0, "캇파4", null, 0, null, 40, 40, 64, 0, 160, 300, null, null],
[0, "캇파3", null, 0, null, 40, 40, 63, 0, 160, 300, null, null],
[0, "캇파2", null, 0, null, 40, 40, 62, 0, 160, 300, null, null],
[0, "캇파1", null, 0, null, 40, 40, 61, 0, 160, 300, null, null],
[0, "카스미", null, 0, null, 67, 63, 82, 0, 160, 300, null, null],
[0, "카센", "환상향/카센.jpg", "외전", null, 72, 103, 71, 0, 160, 300, null, null, "이런 곳에서 전력을 다할 이유가없지."],
[0, "카나코", "환상향/카나코.jpg", "풍신", null, 84, 97, 77, 0, 160, 300, null, null, "나를 부른 이는 누구인가?"],
[0, "카나", "환상향/카나.jpg", "몽시", null, 64, 72, 57, 0, 160, 300, null, null, "아, 아니, 그러니까, 우주인?]"],
[0, "카구야", "환상향/카구야.jpg", "영야", null, 98, 71, 82, 0, 160, 300, null, null, "내 영원을 다루는 술법으로 모두 깨뜨려 보이겠어."],
[0, "카게로", "환상향/카게로.png", "휘침", null, 78, 88, 68, 0, 160, 300, null, null, "무서워~ 인간 무서워~"],
[0, "치유리", "환상향/치유리.jpg", "몽시", null, 45, 77, 78, 0, 160, 300, null, null, "싸워서 강한 쪽이 이 세계의 치유리라구."],
[0, "치르노", "환상향/치르노.jpg", 0, null, 79, 89, 49, 0, 160, 300, null, null, "눈앞에 강적이 있잖아?"],
[0, "츠바메", null, 0, null, 71, 80, 58, 0, 160, 300, null, null],
[0, "첸", "환상향/첸.jpg", "요요", null, 48, 70, 70, 0, 160, 300, null, null, "그건 그렇고, 마요이가에 어서와"],
[0, "지벤", null, 0, null, 85, 67, 66, 0, 160, 300, null, null],
[0, "지귀", null, 0, null, 79, 67, 69, 0, 160, 300, null, null],
[0, "조온", null, "외전", null, 83, 74, 96, 0, 160, 300, null, null, "우리가 왜 최흉최악의 자매인지 그 몸으로 이해해라!"],
[0, "자넷", null, 0, null, 60, 59, 62, 0, 160, 300, null, null],
[0, "이포니아", null, 0, null, 61, 62, 61, 0, 160, 300, null, null],
[0, "이쿠", "환상향/이쿠.jpg", "외전", null, 72, 72, 94, 0, 160, 300, null, null, "조금 벌을 받으실 필요가 있을지도 모르겠군요."],
[0, "이치요우", null, 0, null, 70, 73, 58, 0, 160, 300, null, null],
[0, "이치린", "환상향/이치린.jpg", "성령", null, 86, 55, 88, 0, 160, 300, null, null, "평화롭게 살고있으니까 괜찮잖아. 너, 요괴를 죽여도 아무렇지 않아?"],
[0, "이슈아", null, 0, null, 67, 76, 78, 0, 160, 300, null, null],
[0, "이나코", null, 0, null, 56, 35, 63, 0, 160, 300, null, null],
[0, "유키", "환상향/유키.jpg", "괴기", null, 72, 77, 61, 0, 160, 300, null, null, "우리 둘을 쓰러뜨릴 수 있을 거라고 생각해?"],
[0, "유카리", "환상향/유카리.jpg", "요요", null, 87, 76, 96, 0, 160, 300, null, null, "아름답고 잔혹하게 이 대지에서 사라져라!"],
[0, "유카", "환상향/유카.jpg", "화영", null, 94, 88, 70, 0, 160, 300, null, null, "아 그래, 마침 60년 전이었네. 아아...... 그래, 벌써 그런 시기구나...... 60년인가. 회귀할 때구나."],
[0, "유유코", "환상향/유유코.jpg", "요요", null, 97, 80, 81, 0, 160, 300, null, null, "새는 잔뼈가 많아서 싫어."],
[0, "유메코", "환상향/유메코.jpg", "괴기", null, 72, 103, 73, 0, 160, 300, null, null, "우리들을 모욕한 죄는 죽음으로 밖에 갚을 수 없다!!"],
[0, "유메미", "환상향/유메미.jpg", "몽시", null, 93, 72, 91, 0, 160, 300, null, null, "기합 넣어! 죽어 버렸다간 데리고 돌아갈 수 없으니까."],
[0, "유기", "환상향/유기.jpg", "지령", null, 71, 104, 72, 0, 160, 300, null, null, "네가 강하기만 하다면 나야 아무 군소리도 안해. 어떤 목적으로 여기에 왔건 간에."],
[0, "유겐마간", "환상향/유겐마간.jpg", "영이", null, 80, 80, 50, 0, 160, 300, null, null],
[0, "우카", null, 0, null, 60, 73, 82, 0, 160, 300, null, null],
[0, "우츠호", "환상향/우츠호.jpg", "지령", null, 73, 105, 68, 0, 160, 300, null, null, "이물질 발견! 핵융합로의 이물질 혼입은 일단 반응을 정지하고, 즉각 이물질을 제거하라."],
[0, "요정5", null, 0, null, 55, 60, 35, 0, 160, 300, null, null],
[0, "요정4", null, 0, null, 55, 59, 34, 0, 160, 300, null, null],
[0, "요정3", null, 0, null, 55, 58, 33, 0, 160, 300, null, null],
[0, "요정2", null, 0, null, 55, 57, 32, 0, 160, 300, null, null],
[0, "요정1", null, 0, null, 55, 56, 31, 0, 160, 300, null, null],
[0, "요우무", "환상향/요우무.jpg", "요요", null, 81, 89, 71, 0, 160, 300, null, null, "...요괴가 담금질한 이 누관검에, 벨 수 없는 것 따위, 별로 없어!"],
[0, "요시카", "환상향/요시카.jpg", "신령", null, 84, 78, 61, 0, 160, 300, null, null, "오~지~마~!"],
[0, "요리히메", "환상향/요리히메.jpg", "구문", null, 90, 98, 74, 0, 160, 300, null, null],
[0, "와카챠나두", null, 0, null, 62, 61, 68, 0, 160, 300, null, null],
[0, "와카사기", "환상향/와카사기.png", "휘침", null, 68, 57, 79, 0, 160, 300, null, null, "슬슬 우리요괴가 활약할 차례야!"],
[0, "오토히메", null, 0, null, 80, 60, 76, 0, 160, 300, null, null],
[0, "오키나", "환상향/오키나.png", "천공", null, 87, 87, 86, 0, 160, 300, null, null, "요괴가 아니라 신이에요~"],
[0, "오모이카네", null, 0, null, 66, 52, 86, 0, 160, 300, null, null],
[0, "오린", "환상향/오린.jpg", "지령", null, 87, 84, 77, 0, 160, 300, null, null, "시체가 갖고 싶으니까, 역시 내가 언니를 처리해야겠네!"],
[0, "오렌지", "환상향/오렌지.jpg", "환상", null, 72, 52, 68, 0, 160, 300, null, null, "아하하, 1면 보스니까라고 얕보지 말라구!"],
[0, "오니5", null, 0, null, 55, 65, 40, 0, 160, 300, null, null],
[0, "오니4", null, 0, null, 54, 64, 40, 0, 160, 300, null, null],
[0, "오니3", null, 0, null, 53, 63, 40, 0, 160, 300, null, null],
[0, "오니2", null, 0, null, 52, 62, 40, 0, 160, 300, null, null],
[0, "오니1", null, 0, null, 51, 61, 40, 0, 160, 300, null, null],
[0, "엘핀민트", null, 0, null, 71, 71, 61, 0, 160, 300, null, null],
[0, "엘리스", "환상향/엘리스.jpg", "영이", null, 55, 69, 88, 0, 160, 300, null, null],
[0, "엘리", "환상향/엘리.jpg", "환상", null, 86, 83, 66, 0, 160, 300, null, null, "싸운 거 오랜만인걸 뭐."],
[0, "엘렌", "환상향/엘렌.jpg", "몽시", null, 67, 62, 71, 0, 160, 300, null, null, "나는, 엘렌. 폭신폭신 엘렌이야."],
[0, "에이린", "환상향/에이린.jpg", "영야", null, 72, 76, 105, 0, 160, 300, null, null, "아하하. 너희는 어리석구나."],
[0, "야토", null, 0, null, 72, 83, 66, 0, 160, 300, null, null],
[0, "야츠하시", "환상향/야츠하시.png", "휘침", null, 69, 58, 73, 0, 160, 300, null, null, "훗훗후, 반역자에겐 어떤 수단이든 써도 된다면서?"],
[0, "야마메", "환상향/야마메.jpg", "지령", null, 75, 65, 77, 0, 160, 300, null, null, "지저에 떨어진 요괴의 힘을 보고 싶은 모양이구나."],
[0, "앨리스", "환상향/앨리스.jpg", "요요", null, 81, 63, 99, 0, 160, 300, null, null, "그런 소리 하니까 바보 취급당하는 거야. 탄막은 브레인. 상식이야."],
[0, "안자", null, 0, null, 67, 61, 83, 0, 160, 300, null, null],
[0, "안", null, 0, null, 68, 51, 67, 0, 160, 300, null, null],
[0, "아큐", "환상향/아큐.jpg", "구문", null, 72, 30, 82, 0, 160, 300, null, null, "나는 이래뵈도 히에다가의 당주로써 환상향의 서기라는 역할을 지닌 유서깊은 집안의 사람이야."],
[0, "아즈마", null, 0, null, 78, 81, 64, 0, 160, 300, null, null],
[0, "아운", "환상향/아운.png", "천공", null, 78, 87, 65, 0, 160, 300, null, null, "신사를 지키는 수호신으로서 말이야!"],
[0, "아야", "환상향/아야.jpg", "화영", null, 73, 93, 71, 0, 160, 300, null, null, "깨끗하고 올바른 샤메이마루입니다."],
[0, "아리오슈", null, 0, null, 56, 70, 67, 0, 160, 300, null, null],
[0, "써니", "환상향/써니.jpg", "구문", null, 75, 75, 60, 0, 160, 300, null, null, "어라, 혼자서도 최강이라며?"],
[0, "쌍자", null, 0, null, 63, 82, 71, 0, 160, 300, null, null],
[0, "쌍사", null, 0, null, 62, 73, 81, 0, 160, 300, null, null],
[0, "신키", "환상향/신키.jpg", "괴기", null, 96, 92, 73, 0, 160, 300, null, null, "나의 세계에서 저지른 죄값은 크지. 용서할 리가 없잖아."],
[0, "신묘마루", "환상향/신묘마루.png", "휘침", null, 85, 68, 88, 0, 160, 300, null, null, "누─구?"],
[0, "시키에이키", "환상향/시키에이키.jpg", "화영", null, 84, 77, 98, 0, 160, 300, null, null, "보랏빛 벚꽃은 죄 깊은 인간의 영혼이 깃드는 꽃. 너는 그 보랏빛 벚꽃이 떨어져내리는 밑에서, 단죄하거라!"],
[0, "시키에이카", null, 0, null, 71, 60, 77, 0, 160, 300, null, null],
[0, "시즈하", "환상향/시즈하.jpg", "풍신", null, 79, 55, 62, 0, 160, 300, null, null],
[0, "시온", null, "외전", null, 80, 97, 76, 0, 160, 300, null, null, "나도 좋아서 가난하게 살고 있는 게 아닌데~"],
[0, "스타", "환상향/스타.jpg", "구문", null, 70, 60, 75, 0, 160, 300, null, null, "그래, 이 비겁한 녀석아!"],
[0, "스이카", "환상향/스이카.jpg", "외전", null, 74, 102, 66, 0, 160, 300, null, null, "거짓말은 인간만 하는 거야!"],
[0, "스와코", "환상향/스와코.jpg", "풍신", null, 95, 81, 81, 0, 160, 300, null, null, "아~우~~"],
[0, "스씨", null, 0, null, 66, 63, 66, 0, 160, 300, null, null],
[0, "스미레코", "환상향/스미레코.jpg", "외전", null, 81, 63, 88, 0, 160, 300, null, null, "히가시후카미 고등학교 1학년, 우사미 스미레코. 우는 아이도 뚝 그치는 진짜 초능력자야."],
[0, "순호", "환상향/순호.jpg", "감주", null, 77, 102, 79, 0, 160, 300, null, null, "지금의 너로썬 내 힘 앞에선 무력, 절대적으로 무력하도다!"],
[0, "쇼", "환상향/쇼.jpg", "성령", null, 75, 75, 95, 0, 160, 300, null, null, "그것이 당신의 정의라는 거라면, 그것도 좋지요."],
[0, "소악마", "환상향/소악마.jpg", "홍마", null, 50, 72, 67, 0, 160, 300, null, null],
[0, "셰퍼드", null, 0, null, 61, 58, 56, 0, 160, 300, null, null],
[0, "센고", null, 0, null, 83, 56, 79, 0, 160, 300, null, null],
[0, "센", null, 0, null, 67, 66, 28, 0, 160, 300, null, null],
[0, "세키반키", "환상향/세키반키.png", "휘침", null, 68, 75, 71, 0, 160, 300, null, null, "인간은 누구든지 나를 무서워하지!"],
[0, "세츠조", null, 0, null, 58, 80, 58, 0, 160, 300, null, null],
[0, "세이자", "환상향/세이자.png", "휘침", null, 82, 94, 69, 0, 160, 300, null, null, "내 이름은 세이자. 뼛속까지 아마노자쿠다!"],
[0, "세이란", "환상향/세이란.jpg", "감주", null, 71, 77, 51, 0, 160, 300, null, null, "뭐, 이것도 일이야, 알지? 그러니 내게 여기서 얌전히 당해 줘. 응?"],
[0, "샤리트", null, 0, null, 68, 62, 62, 0, 160, 300, null, null],
[0, "상해인형", null, 0, null, 74, 69, 69, 0, 160, 300, null, null],
[0, "상아", null, 0, null, 84, 84, 84, 0, 160, 300, null, null],
[0, "사토리", "환상향/사토리.jpg", "지령", null, 81, 57, 84, 0, 160, 300, null, null, "제게는 보여요. 당신이 마음속에 그리고 있는 탄막이!"],
[0, "사토노", "환상향/사토노.png", "천공", null, 71, 76, 77, 0, 160, 300, null, null, "봐 주진 않겠지만 죽으면 죽일꺼니까 말야―!"],
[0, "사쿠야", "환상향/사쿠야.jpg", "홍마", null, 87, 89, 78, 0, 160, 300, null, null, "당신의 시간 또한 나의 것"],
[0, "사샤", null, 0, null, 74, 48, 78, 0, 160, 300, null, null],
[0, "사리엘", "환상향/사리엘.jpg", "영이", null, 85, 68, 102, 0, 160, 300, null, null, "죽는다면 모두 함께"],
[0, "사라카", null, 0, null, 60, 74, 63, 0, 160, 300, null, null],
[0, "사라", "환상향/사라.jpg", "괴기", null, 76, 78, 36, 0, 160, 300, null, null, "싸우는 건 재미있지만, 지는 건 재미없어."],
[0, "사나에", "환상향/사나에.jpg", "풍신", null, 87, 71, 85, 0, 160, 300, null, null, "지금은, 바깥 세계는 환경을 지키라든가 경기 대책이 어떻다든가, 바보 같이 뭘 위해 태어난 건지 생각할 수 없는 사람 뿐."],
[0, "사구메", "환상향/사구메.jpg", "감주", null, 84, 97, 71, 0, 160, 300, null, null, "......그런건 아냐."],
[0, "벤벤", "환상향/벤벤.png", "휘침", null, 69, 59, 75, 0, 160, 300, null, null, "어딜 봐도 츠쿠모가미잖아."],
[0, "뱌쿠렌", "환상향/뱌쿠렌.jpg", "성령", null, 83, 90, 82, 0, 160, 300, null, null, "아아, 법의 세계에 빛이 가득해."],
[0, "미호", null, 0, null, 85, 86, 62, 0, 160, 300, null, null],
[0, "미하나", null, 0, null, 76, 67, 84, 0, 160, 300, null, null],
[0, "미토리", null, 0, null, 57, 56, 62, 0, 160, 300, null, null],
[0, "미코토", null, 0, null, 73, 82, 82, 0, 160, 300, null, null],
[0, "미코", "환상향/미코.png", "신령", null, 87, 72, 97, 0, 160, 300, null, null, "장난은 끝이다!"],
[0, "미요", null, 0, null, 73, 66, 58, 0, 160, 300, null, null],
[0, "미스티아", "환상향/미스티아.jpg", "영야", null, 65, 82, 12, 0, 160, 300, null, null, "자, 잠깐 기다려~!"],
[0, "미셸", null, 0, null, 70, 69, 72, 0, 160, 300, null, null],
[0, "미샨드라", null, 0, null, 80, 63, 82, 0, 160, 300, null, null],
[0, "미샤구지", null, "풍신", null, 48, 99, 59, 0, 160, 300, null, null],
[0, "미마", "환상향/미마.jpg", "봉마", null, 75, 90, 93, 0, 160, 300, null, null, "나도 인간계의 신이야. (거짓말)"],
[0, "미노리코", "환상향/미노리코.jpg", "풍신", null, 71, 58, 74, 0, 160, 300, null, null, "갓 수확한 고구마는 나의 향수. 무녀가 먹게 놔둘 줄 알고!"],
[0, "미나유", null, 0, null, 72, 49, 84, 0, 160, 300, null, null],
[0, "무무무", null, 0, null, 70, 77, 57, 0, 160, 300, null, null],
[0, "무라사", "환상향/무라사.jpg", "성령", null, 76, 82, 65, 0, 160, 300, null, null, "이 세상에 미련이 남으신 분은 승선할 수 없습니다만 당신은 어떠신가요?"],
[0, "무게츠", "환상향/무게츠.jpg", "환상", null, 76, 95, 68, 0, 160, 300, null, null, "난 무게츠. 그리고, 여긴 나의 세계."],
[0, "묘렌", null, 0, null, 77, 78, 79, 0, 160, 300, null, null],
[0, "모코우", "환상향/모코우.jpg", "영야", null, 83, 99, 69, 0, 160, 300, null, null, "너희들도 한번 영원의 고륜을 고민해 보는 게 좋아!"],
[0, "모미지", "환상향/모미지.jpg", "풍신", null, 83, 68, 66, 0, 160, 300, null, null, "높은 분들은 저희 일반 텐구보다 훨씬 강하니까, 경비 같은 건 전혀 필요하지 않을 것 같은데."],
[0, "모모히메", null, 0, null, 75, 68, 72, 0, 160, 300, null, null],
[0, "모모", null, 0, null, 62, 62, 71, 0, 160, 300, null, null],
[0, "메이즈", null, 0, null, 70, 40, 76, 0, 160, 300, null, null],
[0, "메이벨", null, 0, null, 71, 74, 56, 0, 160, 300, null, null],
[0, "메이라", "환상향/메이라.jpg", "봉마", null, 65, 82, 36, 0, 160, 300, null, null, "내가 이기면 하쿠레이의 힘은 내가 가져가겠어!"],
[0, "메를린", "환상향/메를린.jpg", "화영", null, 73, 67, 70, 0, 160, 300, null, null, "내 연주를 듣고서, 무사했던 식량은 없지."],
[0, "메디슨", "환상향/메디슨.jpg", "화영", null, 73, 58, 71, 0, 160, 300, null, null, "콘파로, 콘파로, 독이여 모여라~"],
[0, "메구미", null, 0, null, 83, 77, 74, 0, 160, 300, null, null],
[0, "마이", "환상향/마이.jpg", "괴기", null, 72, 60, 75, 0, 160, 300, null, null, "내가 안내할게..."],
[0, "마을사람5", null, 0, null, 65, 35, 50, 0, 160, 300, null, null],
[0, "마을사람4", null, 0, null, 64, 34, 50, 0, 160, 300, null, null],
[0, "마을사람3", null, 0, null, 63, 33, 50, 0, 160, 300, null, null],
[0, "마을사람2", null, 0, null, 62, 32, 50, 0, 160, 300, null, null],
[0, "마을사람1", null, 0, null, 61, 31, 50, 0, 160, 300, null, null],
[0, "마미조", "환상향/마미조.png", "신령", null, 77, 77, 97, 0, 160, 300, null, null, "뭔가 고민이 있는 모양이구먼. 야그나 함 들어 보자."],
[0, "마리우스", null, 0, null, 67, 87, 66, 0, 160, 300, null, null],
[0, "마리사", "환상향/마리사.jpg", 0, null, 83, 91, 78, 0, 160, 300, null, null, "아~? 탄막에 두뇌? 바보 아냐? 탄막은 파워야."],
[0, "마나", null, 0, null, 73, 75, 72, 0, 160, 300, null, null],
[0, "링고", "환상향/링고.jpg", "감주", null, 54, 76, 71, 0, 160, 300, null, null, "옛날의 극락정토는 이제 보이는 그림자도 없다고 생각해."],
[0, "릴리", "환상향/릴리.jpg", "요요", null, 37, 63, 68, 0, 160, 300, null, null, "봄이에요~"],
[0, "린네", null, 0, null, 83, 66, 83, 0, 160, 300, null, null],
[0, "리코", null, 0, null, 68, 60, 76, 0, 160, 300, null, null],
[0, "리카코", "환상향/리카코.jpg", "몽시", null, 76, 71, 100, 0, 160, 300, null, null, "왜 마법 따위에 흥미를 가지기나 하지?"],
[0, "리카", "환상향/리카.jpg", "봉마", null, 61, 63, 75, 0, 160, 300, null, null, "가는 거예요!!"],
[0, "리리카", "환상향/리리카.jpg", "화영", null, 57, 66, 83, 0, 160, 300, null, null, "당신은 노래를 부르지. 난 손을 쓰지 않고 연주를 해. 장기전으로 가면 내 쪽이 세다고?"],
[0, "리락", null, 0, null, 74, 54, 62, 0, 160, 300, null, null],
[0, "리글", "환상향/리글.jpg", "영야", null, 85, 64, 51, 0, 160, 300, null, null, "달이 보이는 밤에는, 즐기지 않아선 안 되는 거 아닐까."],
[0, "루이즈", "환상향/루이즈.jpg", "괴기", null, 59, 57, 72, 0, 160, 300, null, null, "뭐, 마계는 좋은 곳이니, 느긋하게 관광이라도 하도록 해☆"],
[0, "루미아", "환상향/루미아.jpg", "홍마", null, 79, 70, 56, 0, 160, 300, null, null, "그런 건가~"],
[0, "루리", null, 0, null, 66, 66, 62, 0, 160, 300, null, null],
[0, "루나사", "환상향/루나사.jpg", "화영", null, 76, 77, 50, 0, 160, 300, null, null, "넌 슬픈 처지에서 태어난 경우야. 들떠있을 때가 아니지."],
[0, "루나", "환상향/루나.jpg", "구문", null, 67, 74, 74, 0, 160, 300, null, null, "빨라고? 네녀석이 빨아라!"],
[0, "레티", "환상향/레티.jpg", "요요", null, 60, 79, 49, 0, 160, 300, null, null, "흑막~"],
[0, "레이센", "환상향/레이센.jpg", "영야", null, 79, 78, 89, 0, 160, 300, null, null, "이 앞에 기다리고 있는 게 악몽이라 해도, 그래도 나는 가야만 해."],
[0, "레이무", "환상향/레이무.jpg", 0, null, 90, 83, 82, 0, 160, 300, null, null, "인간을 쉽사리 죽게 내버려 둘까 보냐!"],
[0, "레이라", null, 0, null, 66, 67, 51, 0, 160, 300, null, null],
[0, "레밀리아", "환상향/레밀리아.jpg", "홍마", null, 93, 94, 70, 0, 160, 300, null, null, "당신은 이제껏 먹어 온 빵이 몇 개인지 알고 있어?"],
[0, "런던인형", null, 0, null, 64, 78, 62, 0, 160, 300, null, null],
[0, "란", "환상향/란.jpg", "요요", null, 71, 79, 101, 0, 160, 300, null, null, "흠. 첸을 괴롭힌건 너지?"],
[0, "라쿠", null, 0, null, 71, 52, 69, 0, 160, 300, null, null],
[0, "라이코", "환상향/라이코.png", "휘침", null, 80, 66, 91, 0, 160, 300, null, null, "누구라도 자기 목숨을 부지하고 싶으면 노력을 아끼지 않잖아?"],
[0, "라바", "환상향/라바.png", "천공", null, 69, 74, 54, 0, 160, 300, null, null, "지금이라면 신세계의 신이라도 될 것 같은 기분이야!"],
[0, "도레미", "환상향/도레미.jpg", "감주", null, 67, 63, 88, 0, 160, 300, null, null, "맨몸!? 혹시 맨몸!?"],
[0, "대요정", "환상향/대요정.jpg", "홍마", null, 60, 56, 79, 0, 160, 300, null, null],
[0, "달토끼5", null, 0, null, 35, 55, 55, 0, 160, 300, null, null],
[0, "달토끼4", null, 0, null, 34, 54, 55, 0, 160, 300, null, null],
[0, "달토끼3", null, 0, null, 33, 53, 55, 0, 160, 300, null, null],
[0, "달토끼2", null, 0, null, 32, 52, 55, 0, 160, 300, null, null],
[0, "달토끼1", null, 0, null, 31, 51, 55, 0, 160, 300, null, null],
[0, "니토리", "환상향/니토리.jpg", "풍신", null, 68, 68, 76, 0, 160, 300, null, null, "축제 땐 생선이 잘 팔리지. 인간에게 어업권을 뺏어서 독점하면 떼돈 벌겠네!"],
[0, "노바", null, 0, null, 74, 56, 82, 0, 160, 300, null, null],
[0, "노로이코", "환상향/노로이코.jpg", "봉마", null, 56, 61, 65, 0, 160, 300, null, null],
[0, "네즈", null, 0, null, 76, 71, 40, 0, 160, 300, null, null],
[0, "네무노", "환상향/네무노.png", "천공", null, 78, 40, 67, 0, 160, 300, null, null, "자자, 차라도 마시고 가라."],
[0, "나즈린", "환상향/나즈린.jpg", "성령", null, 76, 63, 64, 0, 160, 300, null, null, "미안한데, 쥐를 얕보다간 죽어."],
[0, "나루코", null, 0, null, 68, 40, 70, 0, 160, 300, null, null],
[0, "나루미", "환상향/나루미.png", "천공", null, 84, 72, 78, 0, 160, 300, null, null, "에? 뭐야 그거 무서워"],
[0, "구유카", "환상향/구유카.jpg", "환상", null, 84, 85, 85, 0, 160, 300, null, null, "신이라 해도, 힘이야말로 전부야!"],
[0, "구앨리스", "환상향/구앨리스.jpg", "괴기", null, 80, 80, 90, 0, 160, 300, null, null, "궁극의 마법으로 널 해치워 주겠어!!"],
[0, "구마리사", "환상향/구마리사.jpg", "봉마", null, 80, 90, 80, 0, 160, 300, null, null, "오케이~, 여기는 마리사에게 맡겨줘."],
[0, "구레이무", "환상향/구레이무.jpg", "영이", null, 90, 80, 80, 0, 160, 300, null, null, "문답무용이야!!"],
[0, "곽청아", "환상향/곽청아.png", "신령", null, 72, 77, 87, 0, 160, 300, null, null, "네~ 썩어서 귀엽죠?"],
[0, "골리앗", null, 0, null, 72, 78, 58, 0, 160, 300, null, null],
[0, "겐지", null, "봉마", null, 70, 70, 70, 0, 160, 300, null, null],
[0, "겐게츠", "환상향/겐게츠.jpg", "환상", null, 83, 70, 94, 0, 160, 300, null, null, "얕보지 마. 우린, 둘이서 한 사람 몫이니까.…"],
[0, "강림", null, 0, null, 84, 76, 57, 0, 160, 300, null, null]
],
"cities":[
],
"history":[
"<C>●</>180년 1월:<L><b>【이벤트】</b></>제작자 : Cure.",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>도움을주신분 : 네이미.",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>환상향의 세계관을 불러옵니다.",
"<C>●</>180년 1월:<L><b>【가상모드12-b】</b></>환상향 춘."
],
"initialActions":[
],
"events":[
]
}
+709
View File
@@ -0,0 +1,709 @@
{
"title":"【가상모드1.1】 영웅 난무",
"life":1,
"fiction":1,
"nation":[
],
"diplomacy":[
],
"stat":{
"total":220,
"min":40,
"max":95,
"npcMax":95
},
"general":[
[ 1, "소제1",1001, 0, null, 20, 11, 48, 0, 160, 300, "유지", null],
[ 1, "헌제",1002, 0, null, 17, 13, 61, 0, 160, 300, "안전", null],
[999, "사마휘",1003, 0, null, 71, 11, 96, 0, 160, 300, "은둔", "신산", "좋지, 좋아~"],
[999, "우길",1004, 0, null, 17, 13, 83, 0, 160, 300, "은둔", "신산"],
[999, "화타",1005, 0, null, 53, 25, 70, 0, 160, 300, "은둔", "의술", "아픈 사람들은 모두 내게 오시오. 껄껄껄."],
[999, "길평",1006, 0, null, 27, 15, 72, 0, 160, 300, "은둔", "의술"],
[ 29, "가규",1007, 0, null, 55, 55, 74, 0, 160, 300, "재간", null],
[136, "가범",1008, 0, null, 58, 48, 73, 0, 160, 300, "유지", null],
[ 49, "가비능",1009, 0, null, 58, 83, 32, 0, 160, 300, "정복", null],
[ 31, "가충",1010, 0, null, 50, 25, 87, 0, 160, 300, "출세", null],
[ 20, "가후",1011, 0, null, 69, 30, 94, 0, 160, 300, "할거", "귀병"],
[ 73, "간옹",1012, 0, null, 31, 33, 70, 0, 160, 300, "안전", "경작"],
[129, "감녕",1013, 0, null, 78, 95, 71, 0, 160, 300, "출세", "무쌍"],
[127, "감택",1014, 0, null, 62, 44, 79, 0, 160, 300, "유지", null],
[ 60, "강단",1015, 0, null, 41, 73, 43, 0, 160, 300, "재간", null],
[ 73, "강유",1016, 0, null, 95, 90, 94, 0, 160, 300, "왕좌", "집중", "갈고 닦은 무예와 승상께 배운 책략을 발휘해 보이겠다!"],
[102, "고간",1017, 0, null, 60, 57, 51, 0, 160, 300, "유지", null],
[ 27, "고람",1018, 0, null, 72, 67, 59, 0, 160, 300, "출세", "기병"],
[ 69, "고상",1019, 0, null, 41, 40, 38, 0, 160, 300, "재간", null],
[144, "고순",1020, 0, null, 79, 82, 65, 0, 160, 300, "의협", "기병"],
[ 7, "고승",1021, 0, null, 42, 73, 24, 0, 160, 300, "출세", null],
[120, "고옹",1022, 0, null, 57, 21, 79, 0, 160, 300, "출세", null],
[ 63, "고정",1023, 0, null, 67, 65, 55, 0, 160, 300, "정복", null],
[ 53, "고패",1024, 0, null, 53, 56, 28, 0, 160, 300, "유지", null],
[ 74, "공도",1025, 0, null, 26, 73, 19, 0, 160, 300, "재간", null],
[142, "공손강",1026, 0, null, 64, 72, 61, 0, 160, 300, "정복", null],
[142, "공손공",1027, 0, null, 68, 41, 75, 0, 160, 300, "정복", null],
[142, "공손도",1028, 0, null, 62, 72, 41, 0, 160, 300, "정복", "기병"],
[ 65, "공손범",1029, 0, null, 61, 67, 61, 0, 160, 300, "출세", null],
[ 65, "공손속",1030, 0, null, 60, 76, 41, 0, 160, 300, "정복", null],
[ 10, "공손연",1031, 0, null, 74, 79, 64, 0, 160, 300, "패권", "돌격"],
[ 65, "공손월",1032, 0, null, 47, 63, 46, 0, 160, 300, "정복", null],
[ 65, "공손찬",1033, 0, null, 61, 87, 67, 0, 160, 300, "패권", "기병"],
[ 43, "공융",1034, 0, null, 63, 48, 85, 0, 160, 300, "왕좌", "경작"],
[ 35, "공주",1035, 0, null, 64, 35, 78, 0, 160, 300, "재간", null],
[ 83, "공지",1036, 0, null, 57, 54, 64, 0, 160, 300, "대의", null],
[ 26, "곽가",1037, 0, null, 47, 23, 99, 0, 160, 300, "패권", "귀모"],
[111, "곽도",1038, 0, null, 63, 67, 81, 0, 160, 300, "재간", null],
[ 2, "곽사",1039, 0, null, 58, 67, 31, 0, 160, 300, "패권", null],
[ 80, "곽유지",1040, 0, null, 37, 22, 71, 0, 160, 300, "재간", "상재"],
[ 67, "곽익",1041, 0, null, 67, 60, 67, 0, 160, 300, "재간", null],
[ 67, "곽준",1042, 0, null, 76, 69, 73, 0, 160, 300, "출세", null],
[ 27, "곽혁",1043, 0, null, 40, 29, 80, 0, 160, 300, "안전", null],
[ 20, "곽회",1044, 0, null, 77, 75, 71, 0, 160, 300, "정복", null],
[ 39, "관구검",1045, 0, null, 72, 68, 77, 0, 160, 300, "대의", null],
[ 76, "관색",1046, 0, null, 69, 85, 67, 0, 160, 300, "의협", "징병"],
[ 76, "관우",1047, 0, null, 96, 98, 80, 0, 160, 300, "의협", "위압", "나의 청룡 언월도를 과연 막아낼 수 있겠소?"],
[ 76, "관이",1048, 0, null, 48, 60, 58, 0, 160, 300, "안전", null],
[ 76, "관통",1049, 0, null, 49, 63, 60, 0, 160, 300, "대의", null],
[ 76, "관평",1050, 0, null, 77, 80, 70, 0, 160, 300, "의협", "보병"],
[ 7, "관해",1051, 0, null, 66, 90, 35, 0, 160, 300, "출세", null],
[ 76, "관흥",1052, 0, null, 69, 84, 72, 0, 160, 300, "의협", "돌격"],
[ 40, "괴량",1053, 0, null, 41, 28, 81, 0, 160, 300, "안전", "신중"],
[ 40, "괴월",1054, 0, null, 26, 30, 84, 0, 160, 300, "유지", "귀병"],
[ 98, "교모",1055, 0, null, 59, 58, 61, 0, 160, 300, "안전", null],
[ 98, "교현",1056, 0, null, 50, 18, 60, 0, 160, 300, "재간", null],
[ 6, "구역거",1057, 0, null, 51, 72, 49, 0, 160, 300, "안전", null],
[ 80, "극정",1058, 0, null, 38, 25, 75, 0, 160, 300, "유지", null],
[ 46, "금선",1059, 0, null, 55, 49, 36, 0, 160, 300, "할거", null],
[ 62, "금환삼결",1060, 0, null, 46, 76, 17, 0, 160, 300, "출세", null],
[141, "기령",1061, 0, null, 76, 81, 33, 0, 160, 300, "대의", "무쌍"],
[122, "낙통",1062, 0, null, 57, 44, 69, 0, 160, 300, "유지", null],
[124, "노숙1",1063, 0, null, 90, 42, 94, 0, 160, 300, "왕좌", "상재"],
[ 75, "노식",1064, 0, null, 91, 54, 80, 0, 160, 300, "왕좌", "징병"],
[ 59, "뇌동",1065, 0, null, 70, 77, 45, 0, 160, 300, "출세", "궁병"],
[142, "뇌박",1066, 0, null, 54, 54, 33, 0, 160, 300, "유지", null],
[127, "능조",1067, 0, null, 67, 80, 44, 0, 160, 300, "재간", "공성"],
[127, "능통",1068, 0, null, 71, 78, 58, 0, 160, 300, "의협", "궁병"],
[ 64, "단경",1069, 0, null, 68, 61, 68, 0, 160, 300, "정복", null],
[132, "담웅",1070, 0, null, 52, 77, 19, 0, 160, 300, "출세", null],
[ 99, "답둔",1071, 0, null, 59, 71, 31, 0, 160, 300, "유지", null],
[132, "당자",1072, 0, null, 59, 56, 45, 0, 160, 300, "안전", null],
[ 60, "대래동주",1073, 0, null, 40, 65, 24, 0, 160, 300, "안전", null],
[ 82, "도겸",1074, 0, null, 51, 32, 61, 0, 160, 300, "할거", "인덕"],
[120, "도준",1075, 0, null, 64, 57, 50, 0, 160, 300, "안전", null],
[ 73, "동궐",1076, 0, null, 66, 50, 76, 0, 160, 300, "대의", null],
[ 62, "동다나",1077, 0, null, 51, 71, 27, 0, 160, 300, "유지", null],
[ 2, "동민",1078, 0, null, 52, 65, 49, 0, 160, 300, "안전", null],
[ 21, "동소",1079, 0, null, 46, 46, 62, 0, 160, 300, "패권", null],
[127, "동습",1080, 0, null, 53, 64, 32, 0, 160, 300, "출세", null],
[ 89, "동승",1081, 0, null, 75, 66, 65, 0, 160, 300, "왕좌", null],
[ 78, "동윤",1082, 0, null, 64, 26, 78, 0, 160, 300, "왕좌", null],
[ 2, "동탁",1083, 0, null, 87, 91, 54, 0, 160, 300, "패권", "기병"],
[ 66, "동화",1084, 0, null, 48, 64, 53, 0, 160, 300, "대의", null],
[ 32, "두예",1085, 0, null, 88, 80, 84, 0, 160, 300, "정복", null],
[ 7, "등무",1086, 0, null, 43, 74, 19, 0, 160, 300, "정복", null],
[ 41, "등애",1087, 0, null, 94, 82, 92, 0, 160, 300, "패권", "신산"],
[116, "등윤",1088, 0, null, 34, 42, 68, 0, 160, 300, "안전", null],
[ 73, "등지",1089, 0, null, 74, 51, 80, 0, 160, 300, "할거", "경작"],
[ 41, "등충",1090, 0, null, 60, 82, 55, 0, 160, 300, "출세", null],
[ 54, "등현",1091, 0, null, 65, 59, 61, 0, 160, 300, "출세", null],
[ 29, "마균",1092, 0, null, 33, 38, 80, 0, 160, 300, "안전", null],
[ 71, "마대",1093, 0, null, 77, 79, 49, 0, 160, 300, "대의", "기병"],
[ 70, "마등",1094, 0, null, 80, 87, 56, 0, 160, 300, "왕좌", "기병"],
[ 80, "마속",1095, 0, null, 73, 64, 82, 0, 160, 300, "패권", "집중"],
[ 77, "마량",1096, 0, null, 57, 25, 87, 0, 160, 300, "왕좌", null],
[ 48, "마완",1097, 0, null, 49, 64, 26, 0, 160, 300, "안전", "기병"],
[ 19, "마준",1098, 0, null, 45, 63, 62, 0, 160, 300, "안전", null],
[ 71, "마철",1099, 0, null, 71, 60, 31, 0, 160, 300, "대의", "기병"],
[ 70, "마초",1100, 0, null, 78, 97, 40, 0, 160, 300, "대의", "기병", "금마초 나가신닷!"],
[131, "마충1",1101, 0, null, 67, 62, 51, 0, 160, 300, "재간", null],
[ 69, "마충2",1102, 0, null, 61, 68, 51, 0, 160, 300, "출세", null],
[ 71, "마휴",1103, 0, null, 71, 60, 32, 0, 160, 300, "대의", "기병"],
[116, "만총",1104, 0, null, 79, 40, 78, 0, 160, 300, "할거", "신중"],
[ 51, "망아장",1105, 0, null, 29, 64, 20, 0, 160, 300, "출세", null],
[ 44, "맹달",1106, 0, null, 70, 66, 72, 0, 160, 300, "할거", "귀병"],
[ 60, "맹우",1107, 0, null, 63, 79, 26, 0, 160, 300, "정복", null],
[ 60, "맹획",1108, 0, null, 78, 92, 50, 0, 160, 300, "왕좌", "격노"],
[ 29, "모개",1109, 0, null, 46, 56, 56, 0, 160, 300, "대의", null],
[ 51, "목록대왕",1110, 0, null, 58, 71, 65, 0, 160, 300, "재간", "척사"],
[ 96, "목순",1111, 0, null, 17, 21, 68, 0, 160, 300, "왕좌", null],
[ 43, "무안국",1112, 0, null, 51, 73, 18, 0, 160, 300, "재간", null],
[ 28, "문빙",1113, 0, null, 70, 77, 43, 0, 160, 300, "유지", null],
[ 38, "문앙",1114, 0, null, 71, 91, 46, 0, 160, 300, "대의", null],
[102, "문추",1115, 0, null, 72, 94, 25, 0, 160, 300, "출세", "무쌍"],
[ 38, "문흠",1116, 0, null, 76, 77, 43, 0, 160, 300, "대의", null],
[ 49, "미당대왕",1117, 0, null, 64, 75, 32, 0, 160, 300, "유지", null],
[108, "미방",1118, 0, null, 58, 65, 37, 0, 160, 300, "패권", "징병"],
[ 77, "미축",1119, 0, null, 26, 30, 65, 0, 160, 300, "왕좌", "상재"],
[ 94, "반봉",1120, 0, null, 61, 75, 17, 0, 160, 300, "출세", null],
[ 44, "반준",1121, 0, null, 41, 21, 67, 0, 160, 300, "안전", null],
[ 65, "방덕",1122, 0, null, 76, 90, 67, 0, 160, 300, "의협", "기병"],
[ 73, "방통",1123, 0, null, 86, 41, 97, 0, 160, 300, "패권", "반계"],
[ 65, "방회",1124, 0, null, 25, 33, 59, 0, 160, 300, "안전", null],
[ 68, "배원소",1125, 0, null, 45, 69, 33, 0, 160, 300, "재간", null],
[ 78, "번건",1126, 0, null, 28, 31, 68, 0, 160, 300, "대의", null],
[149, "번주",1127, 0, null, 67, 77, 21, 0, 160, 300, "할거", null],
[ 72, "법정",1128, 0, null, 81, 29, 93, 0, 160, 300, "패권", "신산"],
[ 8, "변희",1129, 0, null, 65, 65, 27, 0, 160, 300, "안전", null],
[121, "보질",1130, 0, null, 58, 28, 77, 0, 160, 300, "유지", null],
[113, "복양흥",1131, 0, null, 58, 51, 71, 0, 160, 300, "유지", null],
[110, "봉기",1132, 0, null, 68, 52, 80, 0, 160, 300, "패권", "집중"],
[ 74, "부동",1133, 0, null, 58, 69, 69, 0, 160, 300, "대의", null],
[108, "부사인",1134, 0, null, 54, 59, 51, 0, 160, 300, "출세", null],
[ 38, "부손",1135, 0, null, 24, 43, 68, 0, 160, 300, "안전", null],
[ 74, "부첨",1136, 0, null, 61, 74, 45, 0, 160, 300, "대의", null],
[ 66, "비시",1137, 0, null, 18, 36, 61, 0, 160, 300, "재간", null],
[141, "비연",1138, 0, null, 66, 65, 53, 0, 160, 300, "출세", null],
[ 77, "비위",1139, 0, null, 72, 26, 73, 0, 160, 300, "대의", null],
[144, "사광",1140, 0, null, 57, 49, 66, 0, 160, 300, "안전", null],
[ 71, "사마가",1141, 0, null, 61, 85, 18, 0, 160, 300, "정복", "돌격"],
[ 20, "사마랑",1142, 0, null, 25, 32, 63, 0, 160, 300, "대의", null],
[ 24, "사마망",1143, 0, null, 71, 61, 65, 0, 160, 300, "정복", null],
[ 24, "사마부",1144, 0, null, 55, 31, 73, 0, 160, 300, "대의", null],
[ 31, "사마사",1145, 0, null, 87, 64, 91, 0, 160, 300, "정복", null],
[ 31, "사마소",1146, 0, null, 93, 63, 84, 0, 160, 300, "정복", null],
[ 31, "사마염",1147, 0, null, 92, 78, 72, 0, 160, 300, "패권", null],
[ 30, "사마유",1148, 0, null, 62, 45, 79, 0, 160, 300, "왕좌", null],
[ 31, "사마의",1149, 0, null, 98, 67, 98, 0, 160, 300, "패권", "반계"],
[139, "사섭",1150, 0, null, 63, 61, 71, 0, 160, 300, "안전", null],
[139, "사일",1151, 0, null, 59, 44, 68, 0, 160, 300, "유지", null],
[132, "사정",1152, 0, null, 67, 71, 20, 0, 160, 300, "안전", null],
[146, "사지",1153, 0, null, 61, 49, 70, 0, 160, 300, "안전", null],
[144, "사휘",1154, 0, null, 67, 71, 61, 0, 160, 300, "유지", null],
[ 35, "서막",1155, 0, null, 56, 41, 72, 0, 160, 300, "유지", null],
[ 76, "서서",1156, 0, null, 90, 70, 96, 0, 160, 300, "의협", "귀병"],
[124, "서성",1157, 0, null, 83, 76, 83, 0, 160, 300, "대의", null],
[142, "서영",1158, 0, null, 47, 63, 33, 0, 160, 300, "안전", null],
[ 23, "서질",1159, 0, null, 55, 73, 34, 0, 160, 300, "재간", null],
[ 23, "서황",1160, 0, null, 79, 89, 68, 0, 160, 300, "의협", "필살"],
[ 32, "석포",1161, 0, null, 71, 63, 59, 0, 160, 300, "정복", null],
[131, "설영",1162, 0, null, 46, 23, 64, 0, 160, 300, "유지", null],
[128, "설종",1163, 0, null, 27, 33, 67, 0, 160, 300, "유지", null],
[ 69, "성의",1164, 0, null, 45, 64, 22, 0, 160, 300, "재간", null],
[129, "소비",1165, 0, null, 67, 63, 49, 0, 160, 300, "대의", null],
[ 76, "손건",1166, 0, null, 42, 33, 73, 0, 160, 300, "대의", "거상"],
[125, "손견",1167, 0, null, 96, 95, 76, 0, 160, 300, "왕좌", "무쌍"],
[126, "손광",1168, 0, null, 63, 54, 58, 0, 160, 300, "유지", null],
[125, "손권",1169, 0, null, 90, 77, 83, 0, 160, 300, "할거", "수비"],
[126, "손랑",1170, 0, null, 27, 54, 28, 0, 160, 300, "안전", null],
[126, "손등",1171, 0, null, 52, 39, 77, 0, 160, 300, "할거", null],
[125, "손량",1172, 0, null, 24, 23, 79, 0, 160, 300, "할거", null],
[ 20, "손례",1173, 0, null, 64, 64, 69, 0, 160, 300, "안전", null],
[124, "손소",1174, 0, null, 76, 80, 68, 0, 160, 300, "정복", null],
[130, "손수",1175, 0, null, 67, 57, 59, 0, 160, 300, "안전", null],
[126, "손유",1176, 0, null, 77, 60, 67, 0, 160, 300, "정복", null],
[122, "손이",1177, 0, null, 57, 62, 57, 0, 160, 300, "안전", null],
[126, "손정",1178, 0, null, 59, 56, 62, 0, 160, 300, "유지", null],
[115, "손준",1179, 0, null, 59, 69, 51, 0, 160, 300, "정복", null],
[ 7, "손중",1180, 0, null, 53, 63, 24, 0, 160, 300, "안전", null],
[125, "손책",1181, 0, null, 96, 96, 78, 0, 160, 300, "패권", "필살", "소패왕 손책이 나가신다! 길을 비켜라!"],
[115, "손침",1182, 0, null, 49, 71, 40, 0, 160, 300, "패권", null],
[114, "손호",1183, 0, null, 20, 78, 67, 0, 160, 300, "패권", null],
[126, "손화",1184, 0, null, 35, 25, 71, 0, 160, 300, "왕좌", null],
[127, "손환",1185, 0, null, 79, 65, 70, 0, 160, 300, "정복", null],
[126, "손휴",1186, 0, null, 63, 43, 64, 0, 160, 300, "정복", null],
[117, "손흠",1187, 0, null, 66, 63, 33, 0, 160, 300, "정복", null],
[147, "송헌",1188, 0, null, 42, 63, 41, 0, 160, 300, "안전", null],
[ 95, "순우경",1189, 0, null, 72, 67, 60, 0, 160, 300, "할거", null],
[ 22, "순욱1",1190, 0, null, 54, 29, 97, 0, 160, 300, "왕좌", "집중"],
[ 22, "순유",1191, 0, null, 73, 41, 90, 0, 160, 300, "대의", "신중"],
[ 29, "신비",1192, 0, null, 47, 28, 74, 0, 160, 300, "재간", null],
[ 37, "신의",1193, 0, null, 55, 61, 51, 0, 160, 300, "출세", null],
[ 37, "신탐",1194, 0, null, 56, 58, 57, 0, 160, 300, "출세", null],
[ 85, "신평",1195, 0, null, 68, 51, 75, 0, 160, 300, "왕좌", null],
[102, "심배",1196, 0, null, 75, 66, 68, 0, 160, 300, "패권", "귀병"],
[126, "심영",1197, 0, null, 53, 72, 51, 0, 160, 300, "재간", null],
[ 47, "아하소과",1198, 0, null, 53, 75, 15, 0, 160, 300, "안전", "척사"],
[ 62, "아회남",1199, 0, null, 50, 74, 30, 0, 160, 300, "출세", "척사"],
[ 23, "악진",1200, 0, null, 73, 67, 56, 0, 160, 300, "대의", "돌격"],
[ 23, "악침",1201, 0, null, 45, 52, 33, 0, 160, 300, "대의", null],
[ 63, "악환",1202, 0, null, 54, 82, 55, 0, 160, 300, "재간", null],
[102, "안량",1203, 0, null, 73, 93, 36, 0, 160, 300, "출세", "위압"],
[ 14, "양백",1204, 0, null, 55, 54, 53, 0, 160, 300, "안전", null],
[ 92, "양봉1",1205, 0, null, 57, 64, 36, 0, 160, 300, "유지", null],
[ 91, "양봉2",1206, 0, null, 62, 78, 61, 0, 160, 300, "정복", null],
[ 13, "양송",1207, 0, null, 15, 35, 34, 0, 160, 300, "안전", null],
[ 43, "양수",1208, 0, null, 18, 31, 91, 0, 160, 300, "재간", "귀병"],
[ 61, "양의",1209, 0, null, 67, 56, 71, 0, 160, 300, "유지", null],
[141, "양조1",1210, 0, null, 68, 54, 60, 0, 160, 300, "출세", null],
[ 9, "양추1",1211, 0, null, 51, 67, 16, 0, 160, 300, "정복", null],
[ 31, "양호",1212, 0, null, 91, 69, 80, 0, 160, 300, "패권", null],
[ 53, "양회",1213, 0, null, 60, 67, 40, 0, 160, 300, "출세", null],
[141, "양흥",1214, 0, null, 52, 68, 17, 0, 160, 300, "안전", null],
[ 6, "어부라",1215, 0, null, 78, 80, 61, 0, 160, 300, "정복", null],
[ 64, "엄강",1216, 0, null, 57, 65, 44, 0, 160, 300, "재간", null],
[ 10, "엄백호",1217, 0, null, 48, 68, 30, 0, 160, 300, "할거", null],
[ 10, "엄여",1218, 0, null, 35, 66, 24, 0, 160, 300, "할거", null],
[ 69, "엄안",1219, 0, null, 72, 84, 67, 0, 160, 300, "왕좌", null],
[ 7, "엄정",1220, 0, null, 31, 68, 49, 0, 160, 300, "출세", null],
[121, "엄준",1221, 0, null, 44, 24, 71, 0, 160, 300, "재간", null],
[ 71, "여개",1222, 0, null, 51, 42, 67, 0, 160, 300, "유지", null],
[ 29, "여건",1223, 0, null, 44, 68, 29, 0, 160, 300, "출세", null],
[107, "여광",1224, 0, null, 60, 67, 27, 0, 160, 300, "유지", null],
[124, "여몽",1225, 0, null, 92, 78, 93, 0, 160, 300, "패권", "궁병"],
[123, "여범",1226, 0, null, 43, 34, 71, 0, 160, 300, "할거", null],
[107, "여상",1227, 0, null, 62, 68, 26, 0, 160, 300, "유지", null],
[105, "여위황",1228, 0, null, 42, 62, 38, 0, 160, 300, "정복", null],
[145, "여포",1229, 0, null, 74,100, 29, 0, 160, 300, "패권", "돌격", "다 죽여버리겠다! 으하하."],
[ 50, "염우",1230, 0, null, 58, 51, 18, 0, 160, 300, "출세", null],
[ 40, "염유",1231, 0, null, 59, 75, 51, 0, 160, 300, "출세", null],
[ 18, "염포",1232, 0, null, 33, 35, 77, 0, 160, 300, "유지", null],
[ 40, "예형",1233, 0, null, 77, 31, 95, 0, 160, 300, "은둔", "통찰"],
[133, "오강",1234, 0, null, 47, 37, 61, 0, 160, 300, "안전", null],
[ 59, "오란",1235, 0, null, 67, 75, 42, 0, 160, 300, "재간", null],
[ 72, "오반",1236, 0, null, 70, 66, 45, 0, 160, 300, "재간", null],
[128, "오언",1237, 0, null, 71, 60, 52, 0, 160, 300, "재간", null],
[126, "오연",1238, 0, null, 36, 70, 31, 0, 160, 300, "정복", null],
[ 69, "오의",1239, 0, null, 75, 72, 74, 0, 160, 300, "유지", null],
[ 19, "오질",1240, 0, null, 43, 37, 69, 0, 160, 300, "출세", null],
[ 51, "올돌골",1241, 0, null, 77, 92, 15, 0, 160, 300, "출세", "척사"],
[ 52, "옹개",1242, 0, null, 58, 67, 51, 0, 160, 300, "안전", null],
[ 20, "왕경",1243, 0, null, 55, 47, 65, 0, 160, 300, "재간", null],
[ 97, "왕광",1244, 0, null, 72, 67, 54, 0, 160, 300, "유지", null],
[ 30, "왕기1",1245, 0, null, 76, 62, 70, 0, 160, 300, "유지", null],
[ 34, "왕랑",1246, 0, null, 49, 29, 51, 0, 160, 300, "할거", null],
[ 57, "왕루",1247, 0, null, 40, 28, 76, 0, 160, 300, "유지", null],
[ 76, "왕보",1248, 0, null, 47, 34, 75, 0, 160, 300, "대의", null],
[ 86, "왕수",1249, 0, null, 34, 34, 67, 0, 160, 300, "재간", null],
[ 26, "왕쌍",1250, 0, null, 58, 89, 15, 0, 160, 300, "정복", "보병"],
[ 46, "왕위",1251, 0, null, 59, 60, 68, 0, 160, 300, "안전", null],
[ 92, "왕윤",1252, 0, null, 16, 18, 77, 0, 160, 300, "왕좌", null],
[ 40, "왕융",1253, 0, null, 62, 41, 77, 0, 160, 300, "재간", null],
[ 32, "왕준",1254, 0, null, 81, 83, 76, 0, 160, 300, "대의", null],
[ 30, "왕찬",1255, 0, null, 28, 28, 78, 0, 160, 300, "안전", null],
[ 33, "왕창",1256, 0, null, 74, 57, 52, 0, 160, 300, "정복", null],
[ 69, "왕평",1257, 0, null, 77, 76, 71, 0, 160, 300, "재간", null],
[ 71, "왕항",1258, 0, null, 51, 43, 60, 0, 160, 300, "대의", null],
[ 33, "왕혼",1259, 0, null, 69, 32, 59, 0, 160, 300, "정복", null],
[ 71, "요립",1260, 0, null, 65, 41, 84, 0, 160, 300, "출세", null],
[ 74, "요화",1261, 0, null, 67, 58, 60, 0, 160, 300, "의협", null],
[ 22, "우금1",1262, 0, null, 80, 74, 71, 0, 160, 300, "정복", null],
[ 27, "우금2",1263, 0, null, 63, 77, 37, 0, 160, 300, "대의", null],
[122, "우번",1264, 0, null, 23, 42, 73, 0, 160, 300, "유지", null],
[126, "우전",1265, 0, null, 63, 55, 41, 0, 160, 300, "안전", null],
[ 86, "원담",1266, 0, null, 67, 59, 55, 0, 160, 300, "왕좌", null],
[101, "원상",1267, 0, null, 54, 72, 68, 0, 160, 300, "패권", null],
[101, "원소",1268, 0, null, 85, 67, 76, 0, 160, 300, "패권", "위압"],
[140, "원술",1269, 0, null, 77, 59, 71, 0, 160, 300, "패권", "축성"],
[140, "원윤",1270, 0, null, 41, 34, 60, 0, 160, 300, "패권", null],
[101, "원희",1271, 0, null, 69, 57, 72, 0, 160, 300, "할거", null],
[131, "위소",1272, 0, null, 39, 24, 82, 0, 160, 300, "재간", null],
[147, "위속",1273, 0, null, 57, 59, 41, 0, 160, 300, "안전", null],
[ 81, "위연",1274, 0, null, 78, 94, 62, 0, 160, 300, "패권", "보병"],
[ 96, "위유",1275, 0, null, 53, 69, 71, 0, 160, 300, "재간", null],
[ 76, "유기",1276, 0, null, 57, 19, 73, 0, 160, 300, "왕좌", null],
[ 36, "유대",1277, 0, null, 61, 57, 62, 0, 160, 300, "재간", null],
[134, "유도",1278, 0, null, 35, 33, 68, 0, 160, 300, "재간", null],
[ 46, "유벽",1279, 0, null, 63, 71, 23, 0, 160, 300, "출세", null],
[ 75, "유봉",1280, 0, null, 60, 65, 62, 0, 160, 300, "출세", null],
[ 75, "유비",1281, 0, null, 85, 75, 70, 0, 160, 300, "왕좌", "인덕"],
[ 75, "유선1",1282, 0, null, 24, 17, 21, 0, 160, 300, "대의", null],
[ 55, "유순",1283, 0, null, 67, 61, 54, 0, 160, 300, "출세", null],
[ 75, "유심",1284, 0, null, 63, 46, 70, 0, 160, 300, "왕좌", null],
[129, "유약",1285, 0, null, 67, 63, 61, 0, 160, 300, "유지", null],
[ 55, "유언",1286, 0, null, 60, 40, 74, 0, 160, 300, "할거", null],
[ 27, "유엽",1287, 0, null, 40, 29, 79, 0, 160, 300, "유지", null],
[ 11, "유요",1288, 0, null, 23, 22, 48, 0, 160, 300, "안전", "발명"],
[ 96, "유우",1289, 0, null, 68, 34, 72, 0, 160, 300, "왕좌", null],
[ 55, "유장",1290, 0, null, 38, 31, 63, 0, 160, 300, "할거", "수비"],
[ 45, "유종",1291, 0, null, 22, 26, 61, 0, 160, 300, "할거", null],
[ 56, "유파",1292, 0, null, 47, 32, 70, 0, 160, 300, "대의", null],
[ 45, "유표1",1293, 0, null, 71, 57, 71, 0, 160, 300, "할거", null],
[ 27, "유표2",1294, 0, null, 76, 55, 71, 0, 160, 300, "안전", null],
[134, "유현",1295, 0, null, 32, 56, 55, 0, 160, 300, "안전", null],
[122, "육개",1296, 0, null, 66, 30, 72, 0, 160, 300, "재간", null],
[122, "육손",1297, 0, null, 98, 68, 98, 0, 160, 300, "왕좌", "귀병"],
[121, "육적",1298, 0, null, 44, 29, 73, 0, 160, 300, "안전", null],
[122, "육항",1299, 0, null, 95, 69, 94, 0, 160, 300, "왕좌", null],
[ 38, "윤대목",1300, 0, null, 62, 49, 69, 0, 160, 300, "재간", null],
[ 80, "윤묵",1301, 0, null, 19, 28, 73, 0, 160, 300, "대의", null],
[ 72, "윤상",1302, 0, null, 30, 32, 42, 0, 160, 300, "대의", null],
[136, "윤직",1303, 0, null, 44, 58, 63, 0, 160, 300, "재간", null],
[ 2, "이각",1304, 0, null, 56, 77, 43, 0, 160, 300, "패권", null],
[146, "이숙",1305, 0, null, 27, 45, 67, 0, 160, 300, "재간", null],
[ 71, "이엄",1306, 0, null, 80, 84, 81, 0, 160, 300, "패권", null],
[ 2, "이유",1307, 0, null, 64, 22, 90, 0, 160, 300, "패권", "귀모"],
[132, "이이",1308, 0, null, 55, 75, 20, 0, 160, 300, "정복", null],
[ 77, "이적",1309, 0, null, 55, 27, 77, 0, 160, 300, "할거", null],
[ 22, "이전",1310, 0, null, 75, 68, 82, 0, 160, 300, "왕좌", null],
[ 71, "이풍1",1311, 0, null, 59, 56, 62, 0, 160, 300, "재간", null],
[ 66, "이회",1312, 0, null, 67, 50, 79, 0, 160, 300, "유지", null],
[114, "잠혼",1313, 0, null, 15, 16, 44, 0, 160, 300, "할거", null],
[ 7, "장각",1314, 0, null, 93, 25, 93, 0, 160, 300, "패권", "환술"],
[ 34, "장간",1315, 0, null, 19, 20, 70, 0, 160, 300, "재간", null],
[ 7, "장개",1316, 0, null, 48, 69, 19, 0, 160, 300, "안전", null],
[122, "장굉",1317, 0, null, 25, 21, 85, 0, 160, 300, "왕좌", null],
[ 7, "장량",1318, 0, null, 68, 81, 68, 0, 160, 300, "정복", "환술"],
[ 15, "장로",1319, 0, null, 76, 44, 80, 0, 160, 300, "유지", "축성"],
[ 23, "장료",1320, 0, null, 89, 93, 83, 0, 160, 300, "의협", "견고"],
[ 7, "장보",1321, 0, null, 78, 81, 76, 0, 160, 300, "패권", "환술"],
[ 76, "장비",1322, 0, null, 79, 99, 48, 0, 160, 300, "의협", "무쌍", "어쭈. 해보자 이거냐?"],
[ 62, "장서",1323, 0, null, 44, 48, 35, 0, 160, 300, "출세", null],
[120, "장소1",1324, 0, null, 42, 24, 91, 0, 160, 300, "안전", null],
[ 78, "장소2",1325, 0, null, 51, 44, 71, 0, 160, 300, "재간", null],
[ 72, "장송",1326, 0, null, 49, 28, 93, 0, 160, 300, "할거", "통찰"],
[148, "장수",1327, 0, null, 71, 72, 69, 0, 160, 300, "할거", null],
[145, "장양1",1328, 0, null, 62, 66, 65, 0, 160, 300, "출세", null],
[ 8, "장연",1329, 0, null, 78, 66, 47, 0, 160, 300, "안전", null],
[ 11, "장영",1330, 0, null, 55, 65, 40, 0, 160, 300, "재간", null],
[118, "장온",1331, 0, null, 21, 30, 69, 0, 160, 300, "할거", null],
[ 78, "장완",1332, 0, null, 70, 55, 86, 0, 160, 300, "할거", "상재"],
[ 15, "장위",1333, 0, null, 65, 70, 29, 0, 160, 300, "대의", null],
[ 36, "장윤",1334, 0, null, 67, 59, 60, 0, 160, 300, "정복", null],
[104, "장의거",1335, 0, null, 68, 59, 34, 0, 160, 300, "대의", null],
[ 68, "장익",1336, 0, null, 75, 68, 63, 0, 160, 300, "유지", null],
[ 56, "장임",1337, 0, null, 83, 82, 74, 0, 160, 300, "대의", "견고"],
[148, "장제1",1338, 0, null, 70, 65, 59, 0, 160, 300, "할거", null],
[ 32, "장제2",1339, 0, null, 30, 33, 84, 0, 160, 300, "유지", null],
[126, "장제3",1340, 0, null, 74, 49, 61, 0, 160, 300, "할거", null],
[ 17, "장패",1341, 0, null, 44, 78, 43, 0, 160, 300, "할거", null],
[ 76, "장포1",1342, 0, null, 69, 85, 49, 0, 160, 300, "재간", "징병"],
[113, "장포2",1343, 0, null, 63, 66, 51, 0, 160, 300, "유지", null],
[ 27, "장합",1344, 0, null, 83, 91, 63, 0, 160, 300, "출세", "궁병"],
[ 23, "장호",1345, 0, null, 56, 62, 54, 0, 160, 300, "정복", null],
[ 31, "장화",1346, 0, null, 49, 24, 86, 0, 160, 300, "유지", null],
[ 48, "장횡",1347, 0, null, 53, 67, 25, 0, 160, 300, "재간", null],
[141, "장훈",1348, 0, null, 67, 61, 60, 0, 160, 300, "안전", null],
[120, "장휴",1349, 0, null, 42, 35, 70, 0, 160, 300, "재간", null],
[126, "장흠",1350, 0, null, 64, 66, 67, 0, 160, 300, "대의", "저격"],
[ 96, "저수",1351, 0, null, 82, 54, 88, 0, 160, 300, "할거", "반계"],
[130, "전단",1352, 0, null, 64, 73, 61, 0, 160, 300, "출세", null],
[ 42, "전속",1353, 0, null, 66, 57, 49, 0, 160, 300, "안전", null],
[ 26, "전위1",1354, 0, null, 61, 96, 34, 0, 160, 300, "의협", "필살"],
[130, "전위2",1355, 0, null, 74, 69, 62, 0, 160, 300, "출세", null],
[128, "전종",1356, 0, null, 79, 77, 74, 0, 160, 300, "패권", null],
[ 42, "전주",1357, 0, null, 69, 67, 51, 0, 160, 300, "의협", null],
[ 96, "전풍",1358, 0, null, 81, 41, 96, 0, 160, 300, "왕좌", null],
[ 24, "정무",1359, 0, null, 54, 38, 74, 0, 160, 300, "출세", null],
[119, "정병",1360, 0, null, 22, 25, 67, 0, 160, 300, "유지", null],
[126, "정보",1361, 0, null, 81, 64, 76, 0, 160, 300, "패권", null],
[123, "정봉1",1362, 0, null, 70, 77, 64, 0, 160, 300, "패권", null],
[ 24, "정욱",1363, 0, null, 80, 39, 90, 0, 160, 300, "패권", "신중"],
[ 88, "정원",1364, 0, null, 64, 77, 58, 0, 160, 300, "왕좌", "기병"],
[ 7, "정원지",1365, 0, null, 41, 74, 38, 0, 160, 300, "출세", null],
[ 69, "정은",1366, 0, null, 53, 62, 26, 0, 160, 300, "재간", null],
[121, "제갈각",1367, 0, null, 61, 53, 92, 0, 160, 300, "왕좌", null],
[ 76, "제갈균",1368, 0, null, 59, 45, 74, 0, 160, 300, "안전", "상재"],
[121, "제갈근",1369, 0, null, 60, 42, 88, 0, 160, 300, "왕좌", "경작"],
[ 76, "제갈량",1370, 0, null, 97, 55,100, 0, 160, 300, "왕좌", "집중", "슬슬 나의 지모를 발휘해 보겠습니다..."],
[ 76, "제갈상",1371, 0, null, 52, 75, 71, 0, 160, 300, "대의", null],
[135, "제갈정",1372, 0, null, 56, 57, 54, 0, 160, 300, "안전", null],
[ 76, "제갈첨",1373, 0, null, 73, 52, 76, 0, 160, 300, "대의", null],
[135, "제갈탄",1374, 0, null, 79, 79, 73, 0, 160, 300, "패권", null],
[ 76, "조광",1375, 0, null, 65, 67, 54, 0, 160, 300, "재간", null],
[ 74, "조루",1376, 0, null, 49, 37, 60, 0, 160, 300, "대의", null],
[ 24, "조모",1377, 0, null, 53, 32, 30, 0, 160, 300, "할거", null],
[127, "조무",1378, 0, null, 71, 68, 71, 0, 160, 300, "의협", null],
[ 26, "조방",1379, 0, null, 50, 20, 31, 0, 160, 300, "정복", null],
[ 83, "조범",1380, 0, null, 58, 40, 63, 0, 160, 300, "유지", null],
[ 26, "조비",1381, 0, null, 72, 69, 75, 0, 160, 300, "패권", "징병"],
[ 19, "조상",1382, 0, null, 68, 62, 31, 0, 160, 300, "패권", null],
[147, "조성",1383, 0, null, 44, 69, 51, 0, 160, 300, "안전", null],
[ 26, "조순",1384, 0, null, 66, 57, 72, 0, 160, 300, "정복", null],
[ 25, "조식",1385, 0, null, 19, 19, 90, 0, 160, 300, "왕좌", "귀모"],
[ 25, "조앙",1386, 0, null, 44, 65, 62, 0, 160, 300, "왕좌", null],
[ 25, "조예",1387, 0, null, 57, 55, 82, 0, 160, 300, "정복", null],
[ 26, "조우",1388, 0, null, 67, 55, 67, 0, 160, 300, "대의", null],
[ 76, "조운",1389, 0, null, 95, 98, 87, 0, 160, 300, "왕좌", "무쌍", "창술의 달인 상산 조자룡 여기 있소!"],
[ 25, "조웅",1390, 0, null, 59, 27, 44, 0, 160, 300, "안전", null],
[ 26, "조인",1391, 0, null, 74, 79, 62, 0, 160, 300, "패권", "보병"],
[ 25, "조조",1392, 0, null,100, 80, 95, 0, 160, 300, "패권", "반계"],
[ 26, "조진",1393, 0, null, 82, 67, 65, 0, 160, 300, "정복", null],
[ 25, "조창",1394, 0, null, 75, 88, 37, 0, 160, 300, "정복", "돌격"],
[ 76, "조통",1395, 0, null, 65, 64, 55, 0, 160, 300, "재간", null],
[ 84, "조표",1396, 0, null, 34, 70, 16, 0, 160, 300, "안전", null],
[ 7, "조홍1",1397, 0, null, 52, 66, 42, 0, 160, 300, "유지", null],
[ 24, "조홍2",1398, 0, null, 72, 69, 44, 0, 160, 300, "패권", null],
[ 26, "조환",1399, 0, null, 34, 24, 42, 0, 160, 300, "정복", null],
[ 19, "조훈",1400, 0, null, 67, 63, 30, 0, 160, 300, "출세", null],
[ 26, "조휴",1401, 0, null, 75, 71, 70, 0, 160, 300, "패권", null],
[ 19, "조희",1402, 0, null, 64, 57, 71, 0, 160, 300, "대의", null],
[ 22, "종요",1403, 0, null, 16, 20, 74, 0, 160, 300, "유지", null],
[ 20, "종회",1404, 0, null, 84, 58, 93, 0, 160, 300, "패권", null],
[128, "주거",1405, 0, null, 73, 71, 72, 0, 160, 300, "유지", null],
[118, "주방",1406, 0, null, 56, 36, 76, 0, 160, 300, "할거", null],
[126, "주연",1407, 0, null, 73, 72, 51, 0, 160, 300, "할거", null],
[126, "주유",1408, 0, null, 97, 73, 97, 0, 160, 300, "패권", "신산"],
[128, "주이",1409, 0, null, 61, 55, 61, 0, 160, 300, "안전", null],
[ 88, "주준",1410, 0, null, 82, 75, 65, 0, 160, 300, "왕좌", null],
[ 32, "주지",1411, 0, null, 52, 77, 47, 0, 160, 300, "안전", null],
[ 76, "주창",1412, 0, null, 42, 79, 30, 0, 160, 300, "의협", "궁병"],
[126, "주치",1413, 0, null, 58, 55, 56, 0, 160, 300, "안전", null],
[ 41, "주태1",1414, 0, null, 62, 55, 61, 0, 160, 300, "안전", null],
[126, "주태2",1415, 0, null, 74, 88, 60, 0, 160, 300, "정복", "필살"],
[128, "주환",1416, 0, null, 84, 86, 74, 0, 160, 300, "정복", null],
[ 29, "진건",1417, 0, null, 62, 70, 62, 0, 160, 300, "정복", null],
[ 29, "진교",1418, 0, null, 21, 25, 67, 0, 160, 300, "유지", null],
[ 28, "진군",1419, 0, null, 60, 38, 87, 0, 160, 300, "대의", null],
[143, "진궁",1420, 0, null, 77, 51, 90, 0, 160, 300, "할거", "신중"],
[ 79, "진규",1421, 0, null, 22, 19, 71, 0, 160, 300, "할거", null],
[ 72, "진도",1422, 0, null, 71, 85, 70, 0, 160, 300, "대의", null],
[ 79, "진등",1423, 0, null, 64, 62, 71, 0, 160, 300, "할거", null],
[ 37, "진림",1424, 0, null, 50, 28, 82, 0, 160, 300, "재간", null],
[124, "진무",1425, 0, null, 62, 74, 59, 0, 160, 300, "재간", null],
[ 66, "진복",1426, 0, null, 36, 27, 76, 0, 160, 300, "재간", null],
[ 50, "진수",1427, 0, null, 25, 29, 83, 0, 160, 300, "대의", null],
[ 81, "진식",1428, 0, null, 47, 68, 52, 0, 160, 300, "출세", null],
[ 79, "진진",1429, 0, null, 58, 38, 64, 0, 160, 300, "재간", null],
[ 28, "진태",1430, 0, null, 79, 76, 70, 0, 160, 300, "대의", null],
[ 11, "진횡",1431, 0, null, 38, 58, 47, 0, 160, 300, "출세", null],
[ 21, "차주",1432, 0, null, 55, 66, 62, 0, 160, 300, "안전", null],
[ 11, "착융",1433, 0, null, 62, 59, 21, 0, 160, 300, "출세", null],
[ 36, "채모",1434, 0, null, 79, 69, 68, 0, 160, 300, "정복", "궁병"],
[ 36, "채중",1435, 0, null, 58, 43, 55, 0, 160, 300, "출세", null],
[ 36, "채화",1436, 0, null, 56, 47, 49, 0, 160, 300, "안전", null],
[ 66, "초주",1437, 0, null, 22, 26, 81, 0, 160, 300, "대의", null],
[ 20, "최염",1438, 0, null, 43, 54, 67, 0, 160, 300, "대의", null],
[ 60, "축융",1439, 0, null, 59, 87, 25, 0, 160, 300, "정복", "척사"],
[ 60, "타사대왕",1440, 0, null, 61, 72, 67, 0, 160, 300, "출세", "척사"],
[124, "태사자",1441, 0, null, 71, 97, 65, 0, 160, 300, "대의", "무쌍"],
[124, "태사향",1442, 0, null, 51, 69, 50, 0, 160, 300, "재간", null],
[ 12, "포륭",1443, 0, null, 53, 74, 20, 0, 160, 300, "안전", null],
[ 74, "풍습",1444, 0, null, 36, 64, 44, 0, 160, 300, "재간", null],
[ 7, "하의",1445, 0, null, 49, 68, 25, 0, 160, 300, "출세", null],
[121, "하제",1446, 0, null, 74, 73, 64, 0, 160, 300, "재간", null],
[ 90, "하진",1447, 0, null, 49, 69, 37, 0, 160, 300, "왕좌", null],
[ 24, "하후덕",1448, 0, null, 67, 64, 39, 0, 160, 300, "출세", null],
[ 26, "하후돈",1449, 0, null, 88, 92, 71, 0, 160, 300, "의협", "돌격", "다 나오거라! 상대해 주마!"],
[ 19, "하후무",1450, 0, null, 38, 33, 37, 0, 160, 300, "안전", null],
[ 24, "하후상",1451, 0, null, 67, 62, 71, 0, 160, 300, "출세", null],
[ 26, "하후연",1452, 0, null, 79, 90, 58, 0, 160, 300, "패권", "궁병", "궁술로 날 당해낼 자가 있을까? 후후."],
[ 26, "하후위",1453, 0, null, 73, 76, 71, 0, 160, 300, "정복", null],
[ 26, "하후은",1454, 0, null, 49, 51, 39, 0, 160, 300, "안전", null],
[ 23, "하후패",1455, 0, null, 78, 88, 69, 0, 160, 300, "대의", null],
[ 20, "하후현",1456, 0, null, 57, 23, 75, 0, 160, 300, "유지", null],
[ 26, "하후혜",1457, 0, null, 76, 66, 78, 0, 160, 300, "정복", null],
[ 26, "하후화",1458, 0, null, 77, 61, 80, 0, 160, 300, "정복", null],
[ 22, "학소",1459, 0, null, 89, 81, 86, 0, 160, 300, "대의", "견고"],
[126, "한당",1460, 0, null, 68, 67, 64, 0, 160, 300, "할거", null],
[ 93, "한복",1461, 0, null, 66, 59, 42, 0, 160, 300, "안전", null],
[ 8, "한섬",1462, 0, null, 39, 62, 35, 0, 160, 300, "출세", null],
[ 48, "한수",1463, 0, null, 66, 76, 77, 0, 160, 300, "대의", "기병"],
[ 40, "한숭",1464, 0, null, 21, 25, 70, 0, 160, 300, "재간", null],
[ 7, "한충",1465, 0, null, 41, 66, 29, 0, 160, 300, "안전", null],
[ 9, "한현",1466, 0, null, 43, 61, 20, 0, 160, 300, "유지", null],
[ 27, "한호",1467, 0, null, 60, 73, 45, 0, 160, 300, "유지", null],
[ 79, "향랑",1468, 0, null, 51, 21, 77, 0, 160, 300, "대의", null],
[ 79, "향총",1469, 0, null, 76, 42, 73, 0, 160, 300, "왕좌", null],
[139, "허공",1470, 0, null, 65, 63, 59, 0, 160, 300, "유지", null],
[ 21, "허유",1471, 0, null, 47, 47, 57, 0, 160, 300, "재간", null],
[ 23, "허의",1472, 0, null, 31, 74, 47, 0, 160, 300, "출세", null],
[ 26, "허저",1473, 0, null, 57, 98, 27, 0, 160, 300, "정복", "무쌍"],
[ 87, "허정",1474, 0, null, 18, 29, 74, 0, 160, 300, "재간", null],
[ 12, "형도영",1475, 0, null, 49, 78, 23, 0, 160, 300, "출세", null],
[148, "호거아",1476, 0, null, 35, 76, 61, 0, 160, 300, "안전", null],
[ 76, "호반",1477, 0, null, 61, 58, 46, 0, 160, 300, "재간", null],
[ 20, "호분",1478, 0, null, 71, 60, 61, 0, 160, 300, "할거", null],
[ 27, "호주천",1479, 0, null, 77, 75, 65, 0, 160, 300, "정복", null],
[ 20, "호준",1480, 0, null, 67, 60, 46, 0, 160, 300, "재간", null],
[ 2, "화웅",1481, 0, null, 68, 88, 24, 0, 160, 300, "출세", "돌격"],
[131, "화핵",1482, 0, null, 37, 27, 75, 0, 160, 300, "안전", null],
[ 10, "화흠",1483, 0, null, 18, 43, 75, 0, 160, 300, "출세", null],
[ 21, "환범",1484, 0, null, 20, 25, 81, 0, 160, 300, "유지", null],
[127, "황개",1485, 0, null, 78, 85, 69, 0, 160, 300, "왕좌", "징병"],
[ 56, "황권",1486, 0, null, 76, 46, 77, 0, 160, 300, "대의", null],
[ 41, "황란",1487, 0, null, 29, 70, 25, 0, 160, 300, "재간", null],
[ 88, "황보숭",1488, 0, null, 83, 63, 73, 0, 160, 300, "왕좌", null],
[ 72, "황충",1489, 0, null, 84, 94, 67, 0, 160, 300, "왕좌", "궁병"],
[ 50, "황호",1490, 0, null, 15, 17, 48, 0, 160, 300, "안전", null],
[147, "후성",1491, 0, null, 56, 62, 33, 0, 160, 300, "정복", null]
],
"general_ex":[
[123, "가화",1492, 0, null, 50, 66, 40, 0, 160, 300, null, null],
[999, "건석",1493, 0, null, 21, 12, 61, 0, 160, 300, null, null],
[999, "견씨",1494, 0, null, 35, 24, 58, 0, 160, 300, null, null],
[ 40, "견홍",1495, 0, null, 76, 72, 66, 0, 160, 300, null, null],
[120, "고담",1496, 0, null, 33, 21, 69, 0, 160, 300, null, null],
[101, "고유",1497, 0, null, 56, 44, 73, 0, 160, 300, null, null],
[132, "곽마",1498, 0, null, 68, 71, 49, 0, 160, 300, null, null],
[ 39, "관구수",1499, 0, null, 58, 63, 35, 0, 160, 300, null, null],
[ 39, "관구전",1500, 0, null, 63, 58, 68, 0, 160, 300, null, null],
[999, "관로",1501, 0, null, 62, 21, 75, 0, 160, 300, null, null],
[ 65, "관정",1502, 0, null, 35, 50, 73, 0, 160, 300, null, null],
[137, "교수",1503, 0, null, 67, 69, 39, 0, 160, 300, null, null],
[ 33, "구건",1504, 0, null, 43, 56, 69, 0, 160, 300, null, null],
[ 41, "구본",1505, 0, null, 52, 41, 70, 0, 160, 300, null, null],
[ 12, "구성",1506, 0, null, 56, 71, 31, 0, 160, 300, null, null],
[ 21, "국연",1507, 0, null, 52, 21, 71, 0, 160, 300, null, null],
[ 99, "국의",1508, 0, null, 83, 79, 50, 0, 160, 300, null, null],
[ 34, "금의",1509, 0, null, 18, 40, 63, 0, 160, 300, null, null],
[ 76, "나헌",1510, 0, null, 86, 67, 75, 0, 160, 300, null, null],
[999, "남두",1511, 0, null, 35, 25, 54, 0, 160, 300, null, null],
[ 54, "냉포",1512, 0, null, 70, 82, 69, 0, 160, 300, null, null],
[124, "노숙2",1513, 0, null, 70, 55, 76, 0, 160, 300, null, null],
[ 42, "누규",1514, 0, null, 54, 19, 88, 0, 160, 300, null, null],
[ 6, "누반",1515, 0, null, 65, 76, 39, 0, 160, 300, null, null],
[130, "누현",1516, 0, null, 23, 20, 68, 0, 160, 300, null, null],
[ 40, "당균",1517, 0, null, 33, 19, 81, 0, 160, 300, null, null],
[ 32, "당빈",1518, 0, null, 70, 74, 62, 0, 160, 300, null, null],
[999, "대교",1519, 0, null, 42, 10, 54, 0, 160, 300, null, null],
[ 28, "대릉",1520, 0, null, 64, 75, 45, 0, 160, 300, null, null],
[129, "동조",1521, 0, null, 16, 15, 51, 0, 160, 300, null, null],
[114, "등수",1522, 0, null, 35, 20, 44, 0, 160, 300, null, null],
[ 50, "마막",1523, 0, null, 22, 17, 5, 0, 160, 300, null, null],
[116, "만욱",1524, 0, null, 20, 18, 66, 0, 160, 300, null, null],
[120, "맹종",1525, 0, null, 48, 48, 67, 0, 160, 300, null, null],
[ 38, "문호",1526, 0, null, 65, 74, 45, 0, 160, 300, null, null],
[999, "미씨",1527, 0, null, 59, 15, 68, 0, 160, 300, null, null],
[ 39, "반림",1528, 0, null, 66, 79, 8, 0, 160, 300, null, null],
[129, "반장",1529, 0, null, 77, 78, 69, 0, 160, 300, null, null],
[ 94, "방열",1530, 0, null, 58, 82, 28, 0, 160, 300, null, null],
[ 55, "방희",1531, 0, null, 59, 38, 69, 0, 160, 300, null, null],
[ 30, "배수",1532, 0, null, 10, 11, 77, 0, 160, 300, null, null],
[ 8, "번능",1533, 0, null, 70, 61, 47, 0, 160, 300, null, null],
[999, "번씨",1534, 0, null, 32, 17, 45, 0, 160, 300, null, null],
[ 49, "보도근",1535, 0, null, 64, 73, 50, 0, 160, 300, null, null],
[129, "보천",1536, 0, null, 68, 60, 72, 0, 160, 300, null, null],
[121, "보협",1537, 0, null, 73, 53, 75, 0, 160, 300, null, null],
[ 28, "부하",1538, 0, null, 44, 36, 85, 0, 160, 300, null, null],
[ 26, "비요",1539, 0, null, 70, 65, 73, 0, 160, 300, null, null],
[ 31, "사마주",1540, 0, null, 63, 53, 62, 0, 160, 300, null, null],
[ 41, "사찬",1541, 0, null, 61, 71, 54, 0, 160, 300, null, null],
[128, "설후",1542, 0, null, 16, 14, 71, 0, 160, 300, null, null],
[ 36, "성공영",1543, 0, null, 73, 58, 80, 0, 160, 300, null, null],
[126, "성만",1544, 0, null, 61, 69, 66, 0, 160, 300, null, null],
[999, "소교",1545, 0, null, 57, 23, 66, 0, 160, 300, null, null],
[ 46, "소유",1546, 0, null, 51, 61, 48, 0, 160, 300, null, null],
[ 31, "소제2",1547, 0, null, 22, 16, 78, 0, 160, 300, null, null],
[126, "손교",1548, 0, null, 77, 60, 69, 0, 160, 300, null, null],
[116, "손기",1549, 0, null, 62, 65, 52, 0, 160, 300, null, null],
[999, "손상향",1550, 0, null, 72, 62, 42, 0, 160, 300, null, null],
[125, "손익",1551, 0, null, 69, 75, 26, 0, 160, 300, null, null],
[125, "손진",1552, 0, null, 64, 71, 48, 0, 160, 300, null, null],
[123, "송겸",1553, 0, null, 61, 48, 44, 0, 160, 300, null, null],
[ 85, "순심",1554, 0, null, 20, 21, 79, 0, 160, 300, null, null],
[ 31, "순욱2",1555, 0, null, 10, 16, 77, 0, 160, 300, null, null],
[ 31, "순의",1556, 0, null, 16, 11, 73, 0, 160, 300, null, null],
[129, "시삭",1557, 0, null, 36, 66, 44, 0, 160, 300, null, null],
[ 29, "신창",1558, 0, null, 51, 29, 46, 0, 160, 300, null, null],
[999, "악신",1559, 0, null, 53, 12, 46, 0, 160, 300, null, null],
[138, "악취",1560, 0, null, 56, 68, 58, 0, 160, 300, null, null],
[138, "양강",1561, 0, null, 62, 70, 42, 0, 160, 300, null, null],
[ 21, "양부",1562, 0, null, 68, 55, 85, 0, 160, 300, null, null],
[ 72, "양서",1563, 0, null, 56, 62, 66, 0, 160, 300, null, null],
[ 34, "양습",1564, 0, null, 67, 49, 73, 0, 160, 300, null, null],
[ 16, "양앙",1565, 0, null, 65, 70, 39, 0, 160, 300, null, null],
[ 17, "양임",1566, 0, null, 71, 78, 56, 0, 160, 300, null, null],
[ 32, "양제",1567, 0, null, 69, 63, 71, 0, 160, 300, null, null],
[ 33, "양조2",1568, 0, null, 65, 61, 67, 0, 160, 300, null, null],
[ 48, "양추2",1569, 0, null, 66, 67, 61, 0, 160, 300, null, null],
[140, "양홍",1570, 0, null, 19, 17, 76, 0, 160, 300, null, null],
[ 31, "양혼",1571, 0, null, 60, 67, 63, 0, 160, 300, null, null],
[123, "여거",1572, 0, null, 71, 58, 69, 0, 160, 300, null, null],
[130, "여대",1573, 0, null, 83, 72, 70, 0, 160, 300, null, null],
[136, "염상",1574, 0, null, 29, 27, 69, 0, 160, 300, null, null],
[ 36, "염행",1575, 0, null, 70, 86, 38, 0, 160, 300, null, null],
[ 73, "영수",1576, 0, null, 69, 70, 74, 0, 160, 300, null, null],
[ 39, "오거",1577, 0, null, 49, 63, 32, 0, 160, 300, null, null],
[126, "오경",1578, 0, null, 73, 60, 57, 0, 160, 300, null, null],
[999, "오국태",1579, 0, null, 31, 11, 60, 0, 160, 300, null, null],
[126, "오찬",1580, 0, null, 69, 41, 78, 0, 160, 300, null, null],
[ 23, "온회",1581, 0, null, 42, 40, 78, 0, 160, 300, null, null],
[ 21, "왕기2",1582, 0, null, 70, 66, 63, 0, 160, 300, null, null],
[ 32, "왕도",1583, 0, null, 48, 44, 70, 0, 160, 300, null, null],
[123, "왕돈",1584, 0, null, 60, 65, 41, 0, 160, 300, null, null],
[ 34, "왕릉",1585, 0, null, 73, 60, 71, 0, 160, 300, null, null],
[ 63, "왕문",1586, 0, null, 64, 67, 32, 0, 160, 300, null, null],
[ 32, "왕상",1587, 0, null, 25, 19, 65, 0, 160, 300, null, null],
[ 34, "왕숙",1588, 0, null, 35, 21, 80, 0, 160, 300, null, null],
[ 33, "왕업",1589, 0, null, 32, 6, 46, 0, 160, 300, null, null],
[ 35, "왕충",1590, 0, null, 42, 58, 21, 0, 160, 300, null, null],
[ 1, "우보",1591, 0, null, 43, 63, 12, 0, 160, 300, null, null],
[122, "우사",1592, 0, null, 70, 33, 79, 0, 160, 300, null, null],
[138, "원요",1593, 0, null, 44, 42, 45, 0, 160, 300, null, null],
[ 95, "원유",1594, 0, null, 57, 38, 73, 0, 160, 300, null, null],
[ 31, "위관",1595, 0, null, 69, 45, 81, 0, 160, 300, null, null],
[129, "위막",1596, 0, null, 58, 62, 60, 0, 160, 300, null, null],
[ 55, "유괴",1597, 0, null, 75, 72, 66, 0, 160, 300, null, null],
[129, "유략",1598, 0, null, 72, 68, 59, 0, 160, 300, null, null],
[ 45, "유반",1599, 0, null, 74, 79, 48, 0, 160, 300, null, null],
[ 29, "유복",1600, 0, null, 54, 50, 73, 0, 160, 300, null, null],
[ 78, "유선2",1601, 0, null, 9, 21, 39, 0, 160, 300, null, null],
[139, "유섭",1602, 0, null, 62, 79, 26, 0, 160, 300, null, null],
[ 28, "유소",1603, 0, null, 66, 51, 73, 0, 160, 300, null, null],
[128, "유승",1604, 0, null, 46, 69, 29, 0, 160, 300, null, null],
[129, "유찬",1605, 0, null, 74, 75, 66, 0, 160, 300, null, null],
[129, "유평",1606, 0, null, 65, 70, 67, 0, 160, 300, null, null],
[138, "유훈",1607, 0, null, 51, 64, 50, 0, 160, 300, null, null],
[ 48, "이감",1608, 0, null, 59, 67, 33, 0, 160, 300, null, null],
[ 19, "이승",1609, 0, null, 13, 26, 32, 0, 160, 300, null, null],
[ 22, "이통",1610, 0, null, 75, 84, 52, 0, 160, 300, null, null],
[138, "이풍2",1611, 0, null, 72, 77, 50, 0, 160, 300, null, null],
[ 20, "이풍3",1612, 0, null, 23, 25, 71, 0, 160, 300, null, null],
[ 29, "장구",1613, 0, null, 69, 71, 47, 0, 160, 300, null, null],
[ 21, "장기",1614, 0, null, 77, 35, 79, 0, 160, 300, null, null],
[ 74, "장남",1615, 0, null, 71, 64, 38, 0, 160, 300, null, null],
[100, "장막",1616, 0, null, 53, 52, 70, 0, 160, 300, null, null],
[ 7, "장만성",1617, 0, null, 73, 83, 47, 0, 160, 300, null, null],
[135, "장반",1618, 0, null, 56, 73, 66, 0, 160, 300, null, null],
[ 78, "장빈",1619, 0, null, 30, 28, 67, 0, 160, 300, null, null],
[124, "장승",1620, 0, null, 75, 68, 75, 0, 160, 300, null, null],
[999, "장양2",1621, 0, null, 58, 50, 47, 0, 160, 300, null, null],
[ 68, "장억",1622, 0, null, 82, 80, 54, 0, 160, 300, null, null],
[ 75, "장준",1623, 0, null, 65, 67, 66, 0, 160, 300, null, null],
[ 20, "장집",1624, 0, null, 31, 27, 74, 0, 160, 300, null, null],
[ 39, "장특",1625, 0, null, 71, 53, 74, 0, 160, 300, null, null],
[ 96, "저곡",1626, 0, null, 57, 53, 67, 0, 160, 300, null, null],
[128, "전기",1627, 0, null, 51, 69, 55, 0, 160, 300, null, null],
[ 23, "전만",1628, 0, null, 52, 74, 38, 0, 160, 300, null, null],
[128, "전상",1629, 0, null, 5, 6, 11, 0, 160, 300, null, null],
[130, "전역",1630, 0, null, 60, 62, 37, 0, 160, 300, null, null],
[ 75, "전예",1631, 0, null, 80, 62, 83, 0, 160, 300, null, null],
[ 64, "전해",1632, 0, null, 71, 63, 57, 0, 160, 300, null, null],
[123, "정봉2",1633, 0, null, 67, 68, 52, 0, 160, 300, null, null],
[ 22, "정의",1634, 0, null, 17, 3, 66, 0, 160, 300, null, null],
[ 81, "제갈교",1635, 0, null, 55, 17, 77, 0, 160, 300, null, null],
[ 40, "제갈서",1636, 0, null, 45, 43, 27, 0, 160, 300, null, null],
[ 25, "조충",1637, 0, null, 14, 7, 80, 0, 160, 300, null, null],
[121, "종리목",1638, 0, null, 84, 68, 75, 0, 160, 300, null, null],
[ 22, "종육",1639, 0, null, 27, 11, 71, 0, 160, 300, null, null],
[122, "좌혁",1640, 0, null, 60, 66, 51, 0, 160, 300, null, null],
[ 36, "주령",1641, 0, null, 77, 70, 69, 0, 160, 300, null, null],
[115, "주앙",1642, 0, null, 75, 64, 64, 0, 160, 300, null, null],
[ 52, "주포",1643, 0, null, 59, 72, 12, 0, 160, 300, null, null],
[ 11, "주흔",1644, 0, null, 67, 53, 77, 0, 160, 300, null, null],
[140, "진기",1645, 0, null, 58, 67, 46, 0, 160, 300, null, null],
[142, "진란",1646, 0, null, 65, 70, 43, 0, 160, 300, null, null],
[ 25, "진랑",1647, 0, null, 57, 70, 38, 0, 160, 300, null, null],
[ 12, "진응",1648, 0, null, 62, 69, 49, 0, 160, 300, null, null],
[124, "진표",1649, 0, null, 62, 49, 74, 0, 160, 300, null, null],
[999, "채염",1650, 0, null, 40, 22, 64, 0, 160, 300, null, null],
[999, "초선",1651, 0, null, 66, 15, 72, 0, 160, 300, null, null],
[135, "초이",1652, 0, null, 54, 65, 55, 0, 160, 300, null, null],
[ 65, "추단",1653, 0, null, 63, 71, 36, 0, 160, 300, null, null],
[999, "추씨",1654, 0, null, 36, 13, 54, 0, 160, 300, null, null],
[ 71, "추정",1655, 0, null, 67, 65, 66, 0, 160, 300, null, null],
[145, "파재",1656, 0, null, 69, 75, 52, 0, 160, 300, null, null],
[ 22, "포신",1657, 0, null, 78, 60, 83, 0, 160, 300, null, null],
[114, "하식",1658, 0, null, 18, 38, 29, 0, 160, 300, null, null],
[ 36, "하안",1659, 0, null, 6, 27, 72, 0, 160, 300, null, null],
[999, "하후씨",1660, 0, null, 29, 16, 47, 0, 160, 300, null, null],
[ 5, "학맹",1661, 0, null, 57, 66, 41, 0, 160, 300, null, null],
[ 98, "한거자",1662, 0, null, 53, 59, 30, 0, 160, 300, null, null],
[ 19, "한덕",1663, 0, null, 62, 79, 24, 0, 160, 300, null, null],
[140, "한윤",1664, 0, null, 27, 24, 68, 0, 160, 300, null, null],
[999, "허소",1665, 0, null, 53, 27, 60, 0, 160, 300, null, null],
[ 30, "호열",1666, 0, null, 77, 69, 76, 0, 160, 300, null, null],
[ 76, "호제",1667, 0, null, 58, 42, 68, 0, 160, 300, null, null],
[149, "호진",1668, 0, null, 65, 77, 13, 0, 160, 300, null, null],
[ 29, "호질",1669, 0, null, 73, 50, 75, 0, 160, 300, null, null],
[ 7, "환계",1670, 0, null, 12, 25, 67, 0, 160, 300, null, null],
[ 56, "황숭",1671, 0, null, 68, 64, 74, 0, 160, 300, null, null],
[999, "황승언",1672, 0, null, 68, 17, 81, 0, 160, 300, null, null],
[999, "황월영",1673, 0, null, 58, 14, 75, 0, 160, 300, null, null],
[ 45, "황조",1674, 0, null, 74, 65, 57, 0, 160, 300, null, null],
[ 48, "후선",1675, 0, null, 56, 66, 35, 0, 160, 300, null, null],
[ 8, "휴고",1676, 0, null, 61, 72, 40, 0, 160, 300, null, null],
[ 98, "휴원진",1677, 0, null, 53, 63, 38, 0, 160, 300, null, null],
[ 22, "희지재",1678, 0, null, 24, 5, 86, 0, 160, 300, null, null]
],
"cities":[
],
"history":[
"<C>●</>180년 1월:<L><b>【이벤트】</b></>당대의 대표 세력들이 등장합니다."
],
"initialEvents":[
],
"events":[
]
}
+379
View File
@@ -0,0 +1,379 @@
{
"title":"【가상모드13】 걸그룹대전",
"life":1,
"fiction":1,
"nation":[
],
"diplomacy":[
],
"iconPath": "걸그룹",
"stat":{
"total":220,
"min":40,
"max":95,
"npcMax":95
},
"general":[
[0, "아이유", null, 0, null, 90, 56, 100, 0, 160, 250, null, null],
[0, "걸스데이민아", null, 0, null, 96, 52, 95, 0, 160, 250, null, null],
[0, "구하라", null, 0, null, 95, 91, 57, 0, 160, 250, null, null],
[0, "손나은", null, 0, null, 92, 54, 92, 0, 160, 250, null, null],
[0, "윤아", null, 0, null, 94, 94, 62, 0, 160, 250, null, null],
[0, "걸스데이소진", null, 0, null, 86, 94, 70, 0, 160, 250, null, null],
[0, "수지", null, 0, null, 100, 58, 95, 0, 160, 250, null, null],
[0, "정예인", null, 0, null, 90, 90, 65, 0, 160, 250, null, null],
[0, "혜리", null, 0, null, 90, 68, 90, 0, 160, 250, null, null],
[0, "은하", null, 0, null, 88, 69, 87, 0, 160, 250, null, null],
[0, "슈", null, 0, null, 92, 54, 80, 0, 160, 250, null, null],
[0, "소원", null, 0, null, 90, 85, 60, 0, 160, 250, null, null],
[0, "보아", null, 0, null, 95, 99, 96, 0, 160, 250, null, null],
[0, "김세정", null, 0, null, 100, 92, 100, 0, 160, 250, null, null],
[0, "나라", null, 0, null, 94, 97, 65, 0, 160, 250, null, null],
[0, "서지수", null, 0, null, 90, 89, 63, 0, 160, 250, null, null],
[0, "양파", null, 0, null, 85, 54, 92, 0, 160, 250, null, null],
[0, "앨리스", null, 0, null, 90, 90, 67, 0, 160, 250, null, null],
[0, "효린", null, 0, null, 40, 72, 97, 0, 160, 250, null, null],
[0, "보라", null, 0, null, 82, 81, 68, 0, 160, 250, null, null],
[0, "소유", null, 0, null, 70, 68, 81, 0, 160, 250, null, null],
[0, "다솜", null, 0, null, 82, 77, 69, 0, 160, 250, null, null],
[0, "지연", null, 0, null, 88, 75, 65, 0, 160, 250, null, null],
[0, "효민", null, 0, null, 83, 74, 66, 0, 160, 250, null, null],
[0, "은정", null, 0, null, 70, 60, 72, 0, 160, 250, null, null],
[0, "큐리", null, 0, null, 70, 61, 58, 0, 160, 250, null, null],
[0, "보람", null, 0, null, 72, 60, 60, 0, 160, 250, null, null],
[0, "티아라소연", null, 0, null, 71, 58, 77, 0, 160, 250, null, null],
[0, "라임", null, 0, null, 78, 70, 74, 0, 160, 250, null, null],
[0, "유영", null, 0, null, 70, 53, 64, 0, 160, 250, null, null],
[0, "서영", null, 0, null, 65, 67, 62, 0, 160, 250, null, null],
[0, "헬비여름", null, 0, null, 63, 62, 63, 0, 160, 250, null, null],
[0, "남지현", null, 0, null, 80, 62, 74, 0, 160, 250, null, null],
[0, "허가윤", null, 0, null, 70, 64, 82, 0, 160, 250, null, null],
[0, "전지윤", null, 0, null, 69, 61, 69, 0, 160, 250, null, null],
[0, "김현아", null, 0, null, 92, 92, 72, 0, 160, 250, null, null],
[0, "권소현", null, 0, null, 75, 59, 70, 0, 160, 250, null, null],
[0, "이해리", null, 0, null, 61, 45, 93, 0, 160, 250, null, null],
[0, "강민경", null, 0, null, 88, 48, 84, 0, 160, 250, null, null],
[0, "비키", null, 0, null, 54, 74, 69, 0, 160, 250, null, null],
[0, "김진", null, 0, null, 51, 73, 66, 0, 160, 250, null, null],
[0, "이민경", null, 0, null, 56, 71, 70, 0, 160, 250, null, null],
[0, "한나", null, 0, null, 40, 43, 41, 0, 160, 250, null, null],
[0, "김한별", null, 0, null, 60, 41, 57, 0, 160, 250, null, null],
[0, "김한샘", null, 0, null, 31, 41, 40, 0, 160, 250, null, null],
[0, "블랙핑크지수", null, 0, null, 83, 73, 80, 0, 160, 250, null, null],
[0, "블랙핑크제니", null, 0, null, 84, 70, 82, 0, 160, 250, null, null],
[0, "로제", null, 0, null, 80, 70, 87, 0, 160, 250, null, null],
[0, "리사", null, 0, null, 80, 74, 84, 0, 160, 250, null, null],
[0, "수민", null, 0, null, 66, 62, 72, 0, 160, 250, null, null],
[0, "소나무민재", null, 0, null, 60, 61, 80, 0, 160, 250, null, null],
[0, "디애나", null, 0, null, 68, 73, 64, 0, 160, 250, null, null],
[0, "나현", null, 0, null, 71, 79, 57, 0, 160, 250, null, null],
[0, "의진", null, 0, null, 76, 80, 61, 0, 160, 250, null, null],
[0, "하이디", null, 0, null, 71, 60, 80, 0, 160, 250, null, null],
[0, "뉴썬", null, 0, null, 60, 61, 59, 0, 160, 250, null, null],
[0, "유라", null, 0, null, 80, 70, 61, 0, 160, 250, null, null],
[0, "지민", null, 0, null, 69, 66, 72, 0, 160, 250, null, null],
[0, "AOA유나", null, 0, null, 74, 54, 68, 0, 160, 250, null, null],
[0, "혜정", null, 0, null, 74, 57, 65, 0, 160, 250, null, null],
[0, "AOA민아", null, 0, null, 75, 62, 58, 0, 160, 250, null, null],
[0, "설현", null, 0, null, 90, 78, 59, 0, 160, 250, null, null],
[0, "찬미", null, 0, null, 68, 62, 60, 0, 160, 250, null, null],
[0, "AOA초아", null, 0, null, 80, 58, 74, 0, 160, 250, null, null],
[0, "솔빈", null, 0, null, 80, 66, 62, 0, 160, 250, null, null],
[0, "해인", null, 0, null, 67, 63, 60, 0, 160, 250, null, null],
[0, "라붐유정", null, 0, null, 66, 61, 71, 0, 160, 250, null, null],
[0, "라붐소연", null, 0, null, 80, 58, 70, 0, 160, 250, null, null],
[0, "지엔", null, 0, null, 61, 60, 62, 0, 160, 250, null, null],
[0, "율희", null, 0, null, 60, 54, 60, 0, 160, 250, null, null],
[0, "효정", null, 0, null, 78, 54, 59, 0, 160, 250, null, null],
[0, "오마이걸미미", null, 0, null, 51, 57, 55, 0, 160, 250, null, null],
[0, "유아", null, 0, null, 73, 81, 70, 0, 160, 250, null, null],
[0, "승희", null, 0, null, 69, 76, 78, 0, 160, 250, null, null],
[0, "지호", null, 0, null, 69, 67, 62, 0, 160, 250, null, null],
[0, "비니", null, 0, null, 60, 56, 61, 0, 160, 250, null, null],
[0, "아린", null, 0, null, 69, 57, 58, 0, 160, 250, null, null],
[0, "박초롱", null, 0, null, 76, 60, 63, 0, 160, 250, null, null],
[0, "윤보미", null, 0, null, 80, 61, 62, 0, 160, 250, null, null],
[0, "정은지", null, 0, null, 78, 60, 86, 0, 160, 250, null, null],
[0, "김남주", null, 0, null, 69, 59, 68, 0, 160, 250, null, null],
[0, "오하영", null, 0, null, 78, 60, 66, 0, 160, 250, null, null],
[0, "김재경", null, 0, null, 82, 71, 68, 0, 160, 250, null, null],
[0, "고나은", null, 0, null, 75, 62, 60, 0, 160, 250, null, null],
[0, "지숙", null, 0, null, 77, 57, 69, 0, 160, 250, null, null],
[0, "노을", null, 0, null, 73, 60, 63, 0, 160, 250, null, null],
[0, "오승아", null, 0, null, 78, 56, 66, 0, 160, 250, null, null],
[0, "정윤혜", null, 0, null, 75, 59, 60, 0, 160, 250, null, null],
[0, "조현영", null, 0, null, 79, 60, 63, 0, 160, 250, null, null],
[0, "경리", null, 0, null, 80, 82, 64, 0, 160, 250, null, null],
[0, "나뮤혜미", null, 0, null, 72, 67, 60, 0, 160, 250, null, null],
[0, "나뮤소진", null, 0, null, 73, 63, 59, 0, 160, 250, null, null],
[0, "금조", null, 0, null, 70, 60, 54, 0, 160, 250, null, null],
[0, "손성아", null, 0, null, 69, 63, 60, 0, 160, 250, null, null],
[0, "박민하", null, 0, null, 90, 73, 57, 0, 160, 250, null, null],
[0, "웬디", null, 0, null, 84, 70, 95, 0, 160, 250, null, null],
[0, "아이린", null, 0, null, 100, 75, 70, 0, 160, 250, null, null],
[0, "슬기", null, 0, null, 93, 90, 76, 0, 160, 250, null, null],
[0, "조이", null, 0, null, 89, 70, 84, 0, 160, 250, null, null],
[0, "예리", null, 0, null, 86, 70, 77, 0, 160, 250, null, null],
[0, "솔라", null, 0, null, 83, 62, 90, 0, 160, 250, null, null],
[0, "문별", null, 0, null, 70, 63, 85, 0, 160, 250, null, null],
[0, "휘인", null, 0, null, 67, 61, 84, 0, 160, 250, null, null],
[0, "화사", null, 0, null, 51, 64, 83, 0, 160, 250, null, null],
[0, "나연", null, 0, null, 78, 63, 70, 0, 160, 250, null, null],
[0, "정연", null, 0, null, 78, 66, 68, 0, 160, 250, null, null],
[0, "모모", null, 0, null, 80, 88, 63, 0, 160, 250, null, null],
[0, "사나", null, 0, null, 83, 83, 64, 0, 160, 250, null, null],
[0, "지효", null, 0, null, 73, 63, 86, 0, 160, 250, null, null],
[0, "트와이스미나", null, 0, null, 79, 87, 66, 0, 160, 250, null, null],
[0, "다현", null, 0, null, 78, 66, 68, 0, 160, 250, null, null],
[0, "채영", null, 0, null, 70, 68, 67, 0, 160, 250, null, null],
[0, "쯔위", null, 0, null, 100, 72, 61, 0, 160, 250, null, null],
[0, "제아", null, 0, null, 64, 57, 89, 0, 160, 250, null, null],
[0, "나르샤", null, 0, null, 63, 60, 80, 0, 160, 250, null, null],
[0, "미료", null, 0, null, 60, 57, 82, 0, 160, 250, null, null],
[0, "가인", null, 0, null, 67, 77, 80, 0, 160, 250, null, null],
[0, "하나", null, 0, null, 66, 62, 64, 0, 160, 250, null, null],
[0, "구구단미미", null, 0, null, 69, 60, 63, 0, 160, 250, null, null],
[0, "구구단나영", null, 0, null, 80, 62, 83, 0, 160, 250, null, null],
[0, "해빈", null, 0, null, 70, 60, 86, 0, 160, 250, null, null],
[0, "소이", null, 0, null, 66, 61, 64, 0, 160, 250, null, null],
[0, "샐리", null, 0, null, 68, 66, 67, 0, 160, 250, null, null],
[0, "구구단미나", null, 0, null, 80, 70, 63, 0, 160, 250, null, null],
[0, "구구단혜연", null, 0, null, 63, 64, 66, 0, 160, 250, null, null],
[0, "최유정", null, 0, null, 70, 80, 67, 0, 160, 250, null, null],
[0, "김도연", null, 0, null, 81, 81, 68, 0, 160, 250, null, null],
[0, "지수연", null, 0, null, 64, 62, 74, 0, 160, 250, null, null],
[0, "엘리", null, 0, null, 64, 60, 63, 0, 160, 250, null, null],
[0, "세이", null, 0, null, 61, 61, 66, 0, 160, 250, null, null],
[0, "루아", null, 0, null, 53, 59, 60, 0, 160, 250, null, null],
[0, "리나", null, 0, null, 57, 60, 61, 0, 160, 250, null, null],
[0, "루시", null, 0, null, 83, 68, 64, 0, 160, 250, null, null],
[0, "이효리", null, 0, null, 90, 91, 83, 0, 160, 250, null, null],
[0, "성유리", null, 0, null, 92, 62, 53, 0, 160, 250, null, null],
[0, "이진", null, 0, null, 64, 54, 52, 0, 160, 250, null, null],
[0, "옥주현", null, 0, null, 43, 61, 91, 0, 160, 250, null, null],
[0, "유진", null, 0, null, 94, 63, 73, 0, 160, 250, null, null],
[0, "바다", null, 0, null, 58, 66, 96, 0, 160, 250, null, null],
[0, "설아", null, 0, null, 70, 61, 64, 0, 160, 250, null, null],
[0, "엑시", null, 0, null, 73, 81, 70, 0, 160, 250, null, null],
[0, "보나", null, 0, null, 76, 68, 60, 0, 160, 250, null, null],
[0, "성소", null, 0, null, 80, 94, 63, 0, 160, 250, null, null],
[0, "은서", null, 0, null, 68, 63, 60, 0, 160, 250, null, null],
[0, "다영", null, 0, null, 71, 60, 62, 0, 160, 250, null, null],
[0, "다원", null, 0, null, 65, 60, 60, 0, 160, 250, null, null],
[0, "우주소녀수빈", null, 0, null, 66, 61, 61, 0, 160, 250, null, null],
[0, "선의", null, 0, null, 70, 62, 59, 0, 160, 250, null, null],
[0, "우주소녀여름", null, 0, null, 58, 60, 60, 0, 160, 250, null, null],
[0, "미기", null, 0, null, 63, 63, 61, 0, 160, 250, null, null],
[0, "루다", null, 0, null, 81, 67, 66, 0, 160, 250, null, null],
[0, "연정", null, 0, null, 68, 58, 83, 0, 160, 250, null, null],
[0, "윤채경", null, 0, null, 80, 64, 70, 0, 160, 250, null, null],
[0, "김채원", null, 0, null, 67, 60, 63, 0, 160, 250, null, null],
[0, "양예나", null, 0, null, 70, 61, 68, 0, 160, 250, null, null],
[0, "레이첼", null, 0, null, 68, 62, 62, 0, 160, 250, null, null],
[0, "이진솔", null, 0, null, 69, 56, 70, 0, 160, 250, null, null],
[0, "박규리", null, 0, null, 80, 76, 83, 0, 160, 250, null, null],
[0, "한승연", null, 0, null, 77, 70, 69, 0, 160, 250, null, null],
[0, "허영지", null, 0, null, 70, 66, 66, 0, 160, 250, null, null],
[0, "니콜", null, 0, null, 69, 74, 73, 0, 160, 250, null, null],
[0, "강지영", null, 0, null, 63, 63, 57, 0, 160, 250, null, null],
[0, "레이나", null, 0, null, 76, 66, 74, 0, 160, 250, null, null],
[0, "나나", null, 0, null, 90, 72, 64, 0, 160, 250, null, null],
[0, "이영", null, 0, null, 69, 61, 67, 0, 160, 250, null, null],
[0, "리지", null, 0, null, 68, 62, 77, 0, 160, 250, null, null],
[0, "가은", null, 0, null, 60, 59, 63, 0, 160, 250, null, null],
[0, "가희", null, 0, null, 67, 90, 62, 0, 160, 250, null, null],
[0, "전효성", null, 0, null, 88, 87, 84, 0, 160, 250, null, null],
[0, "송가은", null, 0, null, 80, 68, 77, 0, 160, 250, null, null],
[0, "정하나", null, 0, null, 68, 63, 70, 0, 160, 250, null, null],
[0, "한선화", null, 0, null, 79, 59, 71, 0, 160, 250, null, null],
[0, "베이비소울", null, 0, null, 71, 60, 70, 0, 160, 250, null, null],
[0, "유지애", null, 0, null, 70, 59, 71, 0, 160, 250, null, null],
[0, "이미주", null, 0, null, 81, 57, 76, 0, 160, 250, null, null],
[0, "Kei", null, 0, null, 87, 70, 83, 0, 160, 250, null, null],
[0, "JIN", null, 0, null, 68, 63, 82, 0, 160, 250, null, null],
[0, "류수정", null, 0, null, 69, 62, 72, 0, 160, 250, null, null],
[0, "태연", null, 0, null, 87, 64, 90, 0, 160, 250, null, null],
[0, "써니", null, 0, null, 79, 68, 78, 0, 160, 250, null, null],
[0, "티파니", null, 0, null, 84, 66, 81, 0, 160, 250, null, null],
[0, "효연", null, 0, null, 40, 100, 42, 0, 160, 250, null, null],
[0, "유리", null, 0, null, 82, 84, 67, 0, 160, 250, null, null],
[0, "수영", null, 0, null, 69, 68, 73, 0, 160, 250, null, null],
[0, "서현", null, 0, null, 77, 64, 79, 0, 160, 250, null, null],
[0, "제시카", null, 0, null, 81, 67, 86, 0, 160, 250, null, null],
[0, "LE", null, 0, null, 63, 63, 80, 0, 160, 250, null, null],
[0, "정화", null, 0, null, 80, 61, 61, 0, 160, 250, null, null],
[0, "하니", null, 0, null, 87, 83, 69, 0, 160, 250, null, null],
[0, "솔지", null, 0, null, 76, 63, 93, 0, 160, 250, null, null],
[0, "혜린", null, 0, null, 86, 60, 86, 0, 160, 250, null, null],
[0, "유니스", null, 0, null, 75, 58, 73, 0, 160, 250, null, null],
[0, "기희현", null, 0, null, 86, 66, 70, 0, 160, 250, null, null],
[0, "다이아제니", null, 0, null, 71, 66, 68, 0, 160, 250, null, null],
[0, "정채연", null, 0, null, 79, 63, 66, 0, 160, 250, null, null],
[0, "은진", null, 0, null, 66, 67, 63, 0, 160, 250, null, null],
[0, "예빈", null, 0, null, 68, 65, 67, 0, 160, 250, null, null],
[0, "은채", null, 0, null, 61, 58, 60, 0, 160, 250, null, null],
[0, "주은", null, 0, null, 70, 59, 65, 0, 160, 250, null, null],
[0, "솜이", null, 0, null, 70, 66, 61, 0, 160, 250, null, null],
[0, "예린", null, 0, null, 74, 73, 70, 0, 160, 250, null, null],
[0, "유주", null, 0, null, 65, 71, 85, 0, 160, 250, null, null],
[0, "신비", null, 0, null, 77, 80, 74, 0, 160, 250, null, null],
[0, "엄지", null, 0, null, 59, 69, 67, 0, 160, 250, null, null],
[0, "세리", null, 0, null, 74, 73, 80, 0, 160, 250, null, null],
[0, "아영", null, 0, null, 78, 76, 64, 0, 160, 250, null, null],
[0, "우희", null, 0, null, 77, 77, 63, 0, 160, 250, null, null],
[0, "달샤벳수빈", null, 0, null, 79, 74, 67, 0, 160, 250, null, null],
[0, "효은", null, 0, null, 72, 71, 69, 0, 160, 250, null, null],
[0, "민희", null, 0, null, 69, 73, 66, 0, 160, 250, null, null],
[0, "소영", null, 0, null, 64, 70, 65, 0, 160, 250, null, null],
[0, "혜빈", null, 0, null, 62, 59, 66, 0, 160, 250, null, null],
[0, "연우", null, 0, null, 76, 61, 63, 0, 160, 250, null, null],
[0, "제인", null, 0, null, 72, 67, 61, 0, 160, 250, null, null],
[0, "모모랜드태하", null, 0, null, 60, 60, 60, 0, 160, 250, null, null],
[0, "나윤", null, 0, null, 62, 61, 63, 0, 160, 250, null, null],
[0, "데이지", null, 0, null, 68, 63, 59, 0, 160, 250, null, null],
[0, "아인", null, 0, null, 72, 57, 69, 0, 160, 250, null, null],
[0, "주이", null, 0, null, 40, 74, 56, 0, 160, 250, null, null],
[0, "낸시", null, 0, null, 80, 69, 67, 0, 160, 250, null, null],
[0, "선예", null, 0, null, 80, 61, 78, 0, 160, 250, null, null],
[0, "선미", null, 0, null, 80, 82, 70, 0, 160, 250, null, null],
[0, "유빈", null, 0, null, 76, 69, 77, 0, 160, 250, null, null],
[0, "혜림", null, 0, null, 69, 63, 67, 0, 160, 250, null, null],
[0, "예은", null, 0, null, 70, 61, 80, 0, 160, 250, null, null],
[0, "설리", null, 0, null, 85, 41, 43, 0, 160, 250, null, null],
[0, "빅토리아", null, 0, null, 89, 88, 80, 0, 160, 250, null, null],
[0, "크리스탈", null, 0, null, 93, 72, 71, 0, 160, 250, null, null],
[0, "엠버", null, 0, null, 65, 69, 74, 0, 160, 250, null, null],
[0, "루나", null, 0, null, 76, 70, 92, 0, 160, 250, null, null],
[0, "재이", null, 0, null, 80, 70, 70, 0, 160, 250, null, null],
[0, "린지", null, 0, null, 69, 68, 71, 0, 160, 250, null, null],
[0, "예지", null, 0, null, 58, 63, 78, 0, 160, 250, null, null],
[0, "피에스타혜미", null, 0, null, 66, 54, 59, 0, 160, 250, null, null],
[0, "차오루", null, 0, null, 78, 73, 67, 0, 160, 250, null, null],
[0, "민영", null, 0, null, 76, 72, 81, 0, 160, 250, null, null],
[0, "브브걸유정", null, 0, null, 64, 73, 67, 0, 160, 250, null, null],
[0, "은지", null, 0, null, 70, 73, 68, 0, 160, 250, null, null],
[0, "브브걸유나", null, 0, null, 66, 76, 66, 0, 160, 250, null, null],
[0, "하윤", null, 0, null, 71, 78, 69, 0, 160, 250, null, null],
[0, "베리굿태하", null, 0, null, 78, 75, 78, 0, 160, 250, null, null],
[0, "조현", null, 0, null, 79, 78, 72, 0, 160, 250, null, null],
[0, "서율", null, 0, null, 68, 63, 62, 0, 160, 250, null, null],
[0, "다예", null, 0, null, 70, 62, 64, 0, 160, 250, null, null],
[0, "세형", null, 0, null, 72, 70, 59, 0, 160, 250, null, null],
[0, "고운", null, 0, null, 77, 71, 68, 0, 160, 250, null, null],
[0, "간미연", null, 0, null, 77, 56, 73, 0, 160, 250, null, null],
[0, "김이지", null, 0, null, 70, 63, 61, 0, 160, 250, null, null],
[0, "윤은혜", null, 0, null, 72, 61, 63, 0, 160, 250, null, null],
[0, "심은진", null, 0, null, 75, 60, 70, 0, 160, 250, null, null],
[0, "이희진", null, 0, null, 63, 54, 78, 0, 160, 250, null, null],
[0, "유지", null, 0, null, 72, 59, 73, 0, 160, 250, null, null],
[0, "다혜", null, 0, null, 70, 67, 63, 0, 160, 250, null, null],
[0, "베스티혜연", null, 0, null, 64, 63, 70, 0, 160, 250, null, null],
[0, "해령", null, 0, null, 81, 70, 76, 0, 160, 250, null, null],
[0, "김보아", null, 0, null, 69, 63, 86, 0, 160, 250, null, null],
[0, "박시현", null, 0, null, 73, 62, 66, 0, 160, 250, null, null],
[0, "양지원", null, 0, null, 84, 70, 69, 0, 160, 250, null, null],
[0, "나래", null, 0, null, 69, 65, 79, 0, 160, 250, null, null],
[0, "김보형", null, 0, null, 67, 61, 83, 0, 160, 250, null, null],
[0, "주비", null, 0, null, 62, 73, 82, 0, 160, 250, null, null],
[0, "미성", null, 0, null, 68, 71, 84, 0, 160, 250, null, null],
[0, "코타", null, 0, null, 57, 73, 80, 0, 160, 250, null, null],
[0, "금비라", null, 0, null, 63, 65, 87, 0, 160, 250, null, null],
[0, "김연지", null, 0, null, 40, 54, 90, 0, 160, 250, null, null],
[0, "이보람", null, 0, null, 61, 56, 87, 0, 160, 250, null, null],
[0, "남규리", null, 0, null, 87, 55, 72, 0, 160, 250, null, null],
[0, "다나", null, 0, null, 80, 70, 86, 0, 160, 250, null, null],
[0, "린아", null, 0, null, 86, 68, 70, 0, 160, 250, null, null],
[0, "선데이", null, 0, null, 72, 77, 66, 0, 160, 250, null, null],
[0, "스테파니", null, 0, null, 76, 92, 63, 0, 160, 250, null, null],
[0, "박정아", null, 0, null, 70, 63, 81, 0, 160, 250, null, null],
[0, "하주연", null, 0, null, 52, 62, 63, 0, 160, 250, null, null],
[0, "박세미", null, 0, null, 60, 59, 57, 0, 160, 250, null, null],
[0, "김예원", null, 0, null, 62, 57, 58, 0, 160, 250, null, null],
[0, "서인영", null, 0, null, 73, 78, 68, 0, 160, 250, null, null],
[0, "차희", null, 0, null, 71, 59, 80, 0, 160, 250, null, null],
[0, "멜로디유민", null, 0, null, 79, 55, 78, 0, 160, 250, null, null],
[0, "예인", null, 0, null, 78, 63, 78, 0, 160, 250, null, null],
[0, "여은", null, 0, null, 70, 57, 80, 0, 160, 250, null, null],
[0, "오승희", null, 0, null, 73, 60, 69, 0, 160, 250, null, null],
[0, "최유진", null, 0, null, 76, 63, 67, 0, 160, 250, null, null],
[0, "장승연", null, 0, null, 68, 72, 61, 0, 160, 250, null, null],
[0, "SORN", null, 0, null, 64, 73, 62, 0, 160, 250, null, null],
[0, "장예은", null, 0, null, 70, 76, 66, 0, 160, 250, null, null],
[0, "엘키", null, 0, null, 78, 71, 60, 0, 160, 250, null, null],
[0, "권은빈", null, 0, null, 76, 73, 68, 0, 160, 250, null, null],
[0, "프리스틴나영", null, 0, null, 73, 75, 70, 0, 160, 250, null, null],
[0, "로아", null, 0, null, 68, 71, 61, 0, 160, 250, null, null],
[0, "유하", null, 0, null, 70, 68, 65, 0, 160, 250, null, null],
[0, "은우", null, 0, null, 72, 67, 63, 0, 160, 250, null, null],
[0, "레나", null, 0, null, 73, 66, 73, 0, 160, 250, null, null],
[0, "결경", null, 0, null, 88, 77, 59, 0, 160, 250, null, null],
[0, "예하나", null, 0, null, 63, 65, 65, 0, 160, 250, null, null],
[0, "성연", null, 0, null, 69, 71, 60, 0, 160, 250, null, null],
[0, "시연", null, 0, null, 66, 62, 66, 0, 160, 250, null, null],
[0, "카일라", null, 0, null, 60, 69, 60, 0, 160, 250, null, null],
[0, "지유", null, 0, null, 72, 63, 66, 0, 160, 250, null, null],
[0, "라니아혜미", null, 0, null, 66, 63, 61, 0, 160, 250, null, null],
[0, "지은", null, 0, null, 61, 60, 56, 0, 160, 250, null, null],
[0, "라니아유민", null, 0, null, 68, 63, 66, 0, 160, 250, null, null],
[0, "따보", null, 0, null, 58, 60, 57, 0, 160, 250, null, null],
[0, "제니", null, 0, null, 62, 51, 81, 0, 160, 250, null, null],
[0, "건지", null, 0, null, 72, 53, 84, 0, 160, 250, null, null],
[0, "서린", null, 0, null, 66, 50, 83, 0, 160, 250, null, null],
[0, "나리", null, 0, null, 84, 86, 80, 0, 160, 250, null, null],
[0, "지애", null, 0, null, 63, 81, 72, 0, 160, 250, null, null],
[0, "우주", null, 0, null, 67, 86, 69, 0, 160, 250, null, null],
[0, "와썹수진", null, 0, null, 64, 80, 73, 0, 160, 250, null, null],
[0, "타히티민재", null, 0, null, 62, 63, 66, 0, 160, 250, null, null],
[0, "미소", null, 0, null, 63, 60, 61, 0, 160, 250, null, null],
[0, "타히티지수", null, 0, null, 61, 57, 67, 0, 160, 250, null, null],
[0, "아리", null, 0, null, 72, 69, 64, 0, 160, 250, null, null],
[0, "제리", null, 0, null, 66, 61, 68, 0, 160, 250, null, null],
[0, "아유미", null, 0, null, 80, 68, 69, 0, 160, 250, null, null],
[0, "혜승", null, 0, null, 68, 57, 71, 0, 160, 250, null, null],
[0, "하린", null, 0, null, 70, 60, 66, 0, 160, 250, null, null],
[0, "황정음", null, 0, null, 79, 55, 72, 0, 160, 250, null, null],
[0, "슈가수진", null, 0, null, 83, 54, 63, 0, 160, 250, null, null],
[0, "산다라박", null, 0, null, 80, 66, 64, 0, 160, 250, null, null],
[0, "씨엘", null, 0, null, 40, 88, 77, 0, 160, 250, null, null],
[0, "박봄", null, 0, null, 55, 60, 73, 0, 160, 250, null, null],
[0, "공민지", null, 0, null, 40, 87, 70, 0, 160, 250, null, null],
[0, "지아", null, 0, null, 68, 83, 70, 0, 160, 250, null, null],
[0, "민", null, 0, null, 62, 82, 73, 0, 160, 250, null, null],
[0, "페이", null, 0, null, 74, 87, 70, 0, 160, 250, null, null],
[0, "앤씨아", null, 0, null, 74, 62, 70, 0, 160, 250, null, null],
[0, "윤하", null, 0, null, 78, 53, 86, 0, 160, 250, null, null],
[0, "아이비", null, 0, null, 87, 82, 87, 0, 160, 250, null, null],
[0, "코코", null, 0, null, 80, 60, 78, 0, 160, 250, null, null],
[0, "소리", null, 0, null, 78, 60, 78, 0, 160, 250, null, null],
[0, "밴", null, 0, null, 79, 53, 90, 0, 160, 250, null, null],
[0, "김청하", null, 0, null, 68, 94, 72, 0, 160, 250, null, null],
[0, "장나라", null, 0, null, 84, 62, 80, 0, 160, 250, null, null],
[0, "엘린", null, 0, null, 71, 61, 63, 0, 160, 250, null, null],
[0, "소율", null, 0, null, 70, 66, 64, 0, 160, 250, null, null],
[0, "금미", null, 0, null, 73, 63, 61, 0, 160, 250, null, null],
[0, "크레용팝초아", null, 0, null, 72, 67, 65, 0, 160, 250, null, null],
[0, "웨이", null, 0, null, 70, 65, 60, 0, 160, 250, null, null],
[0, "쥬니엘", null, 0, null, 80, 46, 81, 0, 160, 250, null, null],
[0, "이민", null, 0, null, 64, 50, 83, 0, 160, 250, null, null],
[0, "크리스탈채", null, 0, null, 72, 51, 84, 0, 160, 250, null, null],
[0, "윤미래", null, 0, null, 57, 80, 102, 0, 160, 250, null, null],
[0, "애니", null, 0, null, 58, 92, 88, 0, 160, 250, null, null],
[0, "NS윤지", null, 0, null, 86, 84, 78, 0, 160, 250, null, null]
],
"general_ex":[
],
"cities":[
],
"history":[
"<C>●</>180년 1월:<L><b>【이벤트】</b></>제작자: 세정.",
"<C>●</>180년 1월:<L><b>【가상모드13】</b>걸그룹대전</>",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>최고의 걸그룹을 가린다!"
],
"initialEvents":[
],
"events":[
]
}
+336
View File
@@ -0,0 +1,336 @@
{
"title":"【가상모드14】 소울소드",
"life":1,
"fiction":1,
"nation":[
],
"diplomacy":[],
"stat":{
"total":220,
"min":40,
"max":95,
"npcMax":95
},
"general":[
[0, "모에", null, 0, null, 68, 55, 82, 0, 160, 300, null, null],
[0, "란다", null, 0, null, 61, 78, 43, 0, 160, 300, null, null],
[0, "키데리오", null, 0, null, 74, 70, 42, 0, 160, 300, null, null],
[0, "하이나", null, 0, null, 83, 70, 97, 0, 160, 300, null, null],
[0, "미세리아", null, 0, null, 79, 75, 88, 0, 160, 300, null, null],
[0, "마르셀라", null, 0, null, 65, 42, 81, 0, 160, 300, null, null],
[0, "록시", null, 0, null, 69, 36, 77, 0, 160, 300, null, null],
[0, "류이", null, 0, null, 69, 74, 60, 0, 160, 300, null, null],
[0, "마르몰", null, 0, null, 89, 84, 80, 0, 160, 300, null, null],
[0, "타베나", null, 0, null, 78, 80, 64, 0, 160, 300, null, null],
[0, "라벤데", null, 0, null, 77, 77, 63, 0, 160, 300, null, null],
[0, "마리안", null, 0, null, 92, 74, 97, 0, 160, 300, null, null],
[0, "찰스", null, 0, null, 72, 71, 55, 0, 160, 300, null, null],
[0, "에멜", null, 0, null, 87, 88, 66, 0, 160, 300, null, null],
[0, "카나안", null, 0, null, 64, 52, 82, 0, 160, 300, null, null],
[0, "바스타레", null, 0, null, 84, 79, 79, 0, 160, 300, null, null],
[0, "트루트", null, 0, null, 76, 71, 63, 0, 160, 300, null, null],
[0, "암푸스", null, 0, null, 82, 72, 61, 0, 160, 300, null, null],
[0, "에타", null, 0, null, 65, 69, 60, 0, 160, 300, null, null],
[0, "타마", null, 0, null, 62, 61, 63, 0, 160, 300, null, null],
[0, "레드린", null, 0, null, 68, 63, 59, 0, 160, 300, null, null],
[0, "듀라스", null, 0, null, 72, 57, 69, 0, 160, 300, null, null],
[0, "쿠벤", null, 0, null, 55, 74, 56, 0, 160, 300, null, null],
[0, "리오스", null, 0, null, 90, 83, 91, 0, 160, 300, null, null],
[0, "아리", null, 0, null, 80, 79, 63, 0, 160, 300, null, null],
[0, "사라", null, 0, null, 71, 32, 79, 0, 160, 300, null, null],
[0, "크리디", null, 0, null, 80, 69, 94, 0, 160, 300, null, null],
[0, "클레라", null, 0, null, 69, 58, 88, 0, 160, 300, null, null],
[0, "하루아나", null, 0, null, 70, 49, 90, 0, 160, 300, null, null],
[0, "슈", null, 0, null, 61, 42, 91, 0, 160, 300, null, null],
[0, "하룩", null, 0, null, 79, 64, 66, 0, 160, 300, null, null],
[0, "시몬느", null, 0, null, 75, 68, 54, 0, 160, 300, null, null],
[0, "앰버", null, 0, null, 65, 72, 44, 0, 160, 300, null, null],
[0, "안젤리카", null, 0, null, 76, 73, 53, 0, 160, 300, null, null],
[0, "달린", null, 0, null, 57, 34, 77, 0, 160, 300, null, null],
[0, "하이베르", null, 0, null, 70, 75, 52, 0, 160, 300, null, null],
[0, "리에나", null, 0, null, 70, 72, 48, 0, 160, 300, null, null],
[0, "월터", null, 0, null, 66, 60, 59, 0, 160, 300, null, null],
[0, "르네", null, 0, null, 78, 73, 45, 0, 160, 300, null, null],
[0, "크리시스", null, 0, null, 76, 72, 42, 0, 160, 300, null, null],
[0, "베르", null, 0, null, 73, 81, 63, 0, 160, 300, null, null],
[0, "모멘트", null, 0, null, 70, 73, 65, 0, 160, 300, null, null],
[0, "모벤트", null, 0, null, 66, 76, 63, 0, 160, 300, null, null],
[0, "올거", null, 0, null, 71, 73, 54, 0, 160, 300, null, null],
[0, "라이", null, 0, null, 78, 42, 86, 0, 160, 300, null, null],
[0, "데이나", null, 0, null, 74, 35, 87, 0, 160, 300, null, null],
[0, "이벤", null, 0, null, 68, 54, 84, 0, 160, 300, null, null],
[0, "란도루", null, 0, null, 63, 48, 77, 0, 160, 300, null, null],
[0, "클라라", null, 0, null, 64, 42, 75, 0, 160, 300, null, null],
[0, "루이즈", null, 0, null, 67, 21, 73, 0, 160, 300, null, null],
[0, "타이온", null, 0, null, 90, 86, 73, 0, 160, 300, null, null],
[0, "로지", null, 0, null, 83, 81, 61, 0, 160, 300, null, null],
[0, "에디스", null, 0, null, 72, 61, 77, 0, 160, 300, null, null],
[0, "콜리나", null, 0, null, 75, 66, 67, 0, 160, 300, null, null],
[0, "마가렛", null, 0, null, 71, 76, 75, 0, 160, 300, null, null],
[0, "라루아", null, 0, null, 77, 84, 73, 0, 160, 300, null, null],
[0, "아르테레", null, 0, null, 77, 87, 63, 0, 160, 300, null, null],
[0, "쥬니아", null, 0, null, 64, 63, 70, 0, 160, 300, null, null],
[0, "멀독", null, 0, null, 84, 72, 79, 0, 160, 300, null, null],
[0, "리치네", null, 0, null, 79, 63, 70, 0, 160, 300, null, null],
[0, "아모스", null, 0, null, 73, 62, 85, 0, 160, 300, null, null],
[0, "에포스", null, 0, null, 70, 32, 86, 0, 160, 300, null, null],
[0, "유메리아", null, 0, null, 87, 65, 92, 0, 160, 300, null, null],
[0, "유리아", null, 0, null, 62, 53, 83, 0, 160, 300, null, null],
[0, "나룬", null, 0, null, 83, 81, 79, 0, 160, 300, null, null],
[0, "아르볼", null, 0, null, 68, 29, 84, 0, 160, 300, null, null],
[0, "스니퍼", null, 0, null, 67, 80, 66, 0, 160, 300, null, null],
[0, "하로데스", null, 0, null, 63, 65, 74, 0, 160, 300, null, null],
[0, "주혜", null, 0, null, 58, 67, 72, 0, 160, 300, null, null],
[0, "브렉데모", null, 0, null, 61, 56, 74, 0, 160, 300, null, null],
[0, "케이시", null, 0, null, 67, 64, 86, 0, 160, 300, null, null],
[0, "크로츠", null, 0, null, 73, 75, 66, 0, 160, 300, null, null],
[0, "아스트리아", null, 0, null, 80, 62, 92, 0, 160, 300, null, null],
[0, "존덜링", null, 0, null, 52, 62, 63, 0, 160, 300, null, null],
[0, "모니카", null, 0, null, 73, 90, 60, 0, 160, 300, null, null],
[0, "에반", null, 0, null, 57, 89, 39, 0, 160, 300, null, null],
[0, "아이노", null, 0, null, 70, 75, 68, 0, 160, 300, null, null],
[0, "이리아", null, 0, null, 71, 69, 63, 0, 160, 300, null, null],
[0, "데브라", null, 0, null, 79, 58, 78, 0, 160, 300, null, null],
[0, "클로레아", null, 0, null, 87, 83, 78, 0, 160, 300, null, null],
[0, "리모네", null, 0, null, 75, 60, 87, 0, 160, 300, null, null],
[0, "이로아스", null, 0, null, 73, 60, 69, 0, 160, 300, null, null],
[0, "루치아", null, 0, null, 76, 68, 76, 0, 160, 300, null, null],
[0, "메리아", null, 0, null, 68, 47, 79, 0, 160, 300, null, null],
[0, "브렉", null, 0, null, 64, 73, 62, 0, 160, 300, null, null],
[0, "에디스", null, 0, null, 60, 49, 88, 0, 160, 300, null, null],
[0, "조시아", null, 0, null, 65, 63, 69, 0, 160, 300, null, null],
[0, "야마르", null, 0, null, 76, 73, 68, 0, 160, 300, null, null],
[0, "레이븐", null, 0, null, 73, 75, 70, 0, 160, 300, null, null],
[0, "무타바", null, 0, null, 87, 85, 61, 0, 160, 300, null, null],
[0, "카미안", null, 0, null, 70, 71, 68, 0, 160, 300, null, null],
[0, "어맨더", null, 0, null, 68, 76, 63, 0, 160, 300, null, null],
[0, "이데아", null, 0, null, 74, 86, 73, 0, 160, 300, null, null],
[0, "티라", null, 0, null, 74, 64, 91, 0, 160, 300, null, null],
[0, "알트", null, 0, null, 69, 68, 87, 0, 160, 300, null, null],
[0, "리나젤", null, 0, null, 83, 86, 66, 0, 160, 300, null, null],
[0, "카밀라", null, 0, null, 70, 59, 99, 0, 160, 300, null, null],
[0, "데바인", null, 0, null, 67, 69, 88, 0, 160, 300, null, null],
[0, "만텔", null, 0, null, 81, 83, 80, 0, 160, 300, null, null],
[0, "이리스", null, 0, null, 79, 86, 77, 0, 160, 300, null, null],
[0, "티팜", null, 0, null, 67, 55, 86, 0, 160, 300, null, null],
[0, "류나드", null, 0, null, 83, 89, 59, 0, 160, 300, null, null],
[0, "리베스", null, 0, null, 69, 67, 97, 0, 160, 300, null, null],
[0, "젤레", null, 0, null, 75, 42, 88, 0, 160, 300, null, null],
[0, "에루다", null, 0, null, 82, 85, 90, 0, 160, 300, null, null],
[0, "듀오라", null, 0, null, 81, 82, 64, 0, 160, 300, null, null],
[0, "로이", null, 0, null, 79, 84, 72, 0, 160, 300, null, null],
[0, "카이", null, 0, null, 83, 54, 90, 0, 160, 300, null, null],
[0, "카이로스", null, 0, null, 85, 82, 80, 0, 160, 300, null, null],
[0, "리코스", null, 0, null, 87, 77, 86, 0, 160, 300, null, null],
[0, "오웬", null, 0, null, 66, 89, 59, 0, 160, 300, null, null],
[0, "카이젤", null, 0, null, 78, 93, 72, 0, 160, 300, null, null],
[0, "칸나", null, 0, null, 90, 78, 70, 0, 160, 300, null, null],
[0, "샬롯", null, 0, null, 85, 84, 78, 0, 160, 300, null, null],
[0, "미티", null, 0, null, 78, 63, 83, 0, 160, 300, null, null],
[0, "엘린", null, 0, null, 70, 37, 89, 0, 160, 300, null, null],
[0, "레이첼", null, 0, null, 77, 80, 51, 0, 160, 300, null, null],
[0, "리디아", null, 0, null, 74, 79, 63, 0, 160, 300, null, null],
[0, "리부로", null, 0, null, 70, 70, 45, 0, 160, 300, null, null],
[0, "투말린", null, 0, null, 65, 72, 42, 0, 160, 300, null, null],
[0, "로즈", null, 0, null, 67, 63, 80, 0, 160, 300, null, null],
[0, "레지나", null, 0, null, 71, 42, 84, 0, 160, 300, null, null],
[0, "아레아스", null, 0, null, 84, 77, 70, 0, 160, 300, null, null],
[0, "에클레", null, 0, null, 70, 83, 62, 0, 160, 300, null, null],
[0, "퓨니엄", null, 0, null, 73, 74, 56, 0, 160, 300, null, null],
[0, "카라", null, 0, null, 70, 65, 84, 0, 160, 300, null, null],
[0, "로니아", null, 0, null, 77, 84, 77, 0, 160, 300, null, null],
[0, "하카세", null, 0, null, 65, 62, 47, 0, 160, 300, null, null],
[0, "하리테론", null, 0, null, 62, 46, 65, 0, 160, 300, null, null],
[0, "이세라", null, 0, null, 59, 57, 52, 0, 160, 300, null, null],
[0, "아라시스", null, 0, null, 75, 62, 49, 0, 160, 300, null, null],
[0, "오리엔토", null, 0, null, 59, 64, 45, 0, 160, 300, null, null],
[0, "키르멘", null, 0, null, 64, 52, 51, 0, 160, 300, null, null],
[0, "가리먼", null, 0, null, 59, 62, 55, 0, 160, 300, null, null],
[0, "젤로먼", null, 0, null, 54, 54, 69, 0, 160, 300, null, null],
[0, "가레인", null, 0, null, 64, 45, 59, 0, 160, 300, null, null],
[0, "웬드리스", null, 0, null, 63, 42, 52, 0, 160, 300, null, null],
[0, "요하스", null, 0, null, 55, 60, 39, 0, 160, 300, null, null],
[0, "키르가스", null, 0, null, 66, 52, 32, 0, 160, 300, null, null],
[0, "휘크리스", null, 0, null, 69, 69, 62, 0, 160, 300, null, null],
[0, "야쿠", null, 0, null, 63, 49, 79, 0, 160, 300, null, null],
[0, "테레헨", null, 0, null, 65, 52, 66, 0, 160, 300, null, null],
[0, "테레리온", null, 0, null, 69, 59, 69, 0, 160, 300, null, null],
[0, "로윈터", null, 0, null, 32, 18, 73, 0, 160, 300, null, null],
[0, "나데윈터", null, 0, null, 39, 24, 69, 0, 160, 300, null, null],
[0, "제르피스", null, 0, null, 59, 49, 76, 0, 160, 300, null, null],
[0, "제나", null, 0, null, 60, 42, 72, 0, 160, 300, null, null],
[0, "케시아", null, 0, null, 66, 49, 66, 0, 160, 300, null, null],
[0, "에리사", null, 0, null, 54, 66, 49, 0, 160, 300, null, null],
[0, "크루시오돈", null, 0, null, 60, 69, 32, 0, 160, 300, null, null],
[0, "크루시오엔", null, 0, null, 32, 22, 74, 0, 160, 300, null, null],
[0, "크루피사냐", null, 0, null, 55, 45, 75, 0, 160, 300, null, null],
[0, "테레미스", null, 0, null, 65, 55, 62, 0, 160, 300, null, null],
[0, "카시오리나", null, 0, null, 45, 43, 64, 0, 160, 300, null, null],
[0, "하나리", null, 0, null, 49, 55, 63, 0, 160, 300, null, null],
[0, "바니아", null, 0, null, 59, 43, 72, 0, 160, 300, null, null],
[0, "에베투스", null, 0, null, 65, 55, 57, 0, 160, 300, null, null],
[0, "에렌디라", null, 0, null, 80, 77, 82, 0, 160, 300, null, null],
[0, "코카루", null, 0, null, 65, 34, 66, 0, 160, 300, null, null],
[0, "나키", null, 0, null, 59, 54, 67, 0, 160, 300, null, null],
[0, "모코", null, 0, null, 67, 66, 49, 0, 160, 300, null, null],
[0, "아젤리오", null, 0, null, 70, 65, 52, 0, 160, 300, null, null],
[0, "아카시", null, 0, null, 68, 67, 50, 0, 160, 300, null, null],
[0, "라프리엘", null, 0, null, 72, 66, 76, 0, 160, 300, null, null],
[0, "에리키오먼", null, 0, null, 67, 70, 52, 0, 160, 300, null, null],
[0, "레베로", null, 0, null, 62, 75, 72, 0, 160, 300, null, null],
[0, "라이야", null, 0, null, 67, 70, 70, 0, 160, 300, null, null],
[0, "비앙키", null, 0, null, 75, 70, 57, 0, 160, 300, null, null],
[0, "안타니엘", null, 0, null, 59, 69, 55, 0, 160, 300, null, null],
[0, "아미르", null, 0, null, 79, 62, 69, 0, 160, 300, null, null],
[0, "데하르나", null, 0, null, 70, 32, 67, 0, 160, 300, null, null],
[0, "데브라", null, 0, null, 70, 69, 65, 0, 160, 300, null, null],
[0, "리르", null, 0, null, 65, 74, 53, 0, 160, 300, null, null],
[0, "릴리스", null, 0, null, 60, 67, 33, 0, 160, 300, null, null],
[0, "로렌시아", null, 0, null, 85, 59, 83, 0, 160, 300, null, null],
[0, "원스", null, 0, null, 77, 84, 36, 0, 160, 300, null, null],
[0, "카리나", null, 0, null, 49, 64, 58, 0, 160, 300, null, null],
[0, "헤카톤", null, 0, null, 52, 67, 46, 0, 160, 300, null, null],
[0, "카나레", null, 0, null, 53, 39, 72, 0, 160, 300, null, null],
[0, "바이핸드", null, 0, null, 62, 31, 62, 0, 160, 300, null, null],
[0, "도루숨", null, 0, null, 64, 64, 64, 0, 160, 300, null, null],
[0, "미카렌", null, 0, null, 47, 52, 39, 0, 160, 300, null, null],
[0, "미카도", null, 0, null, 60, 65, 52, 0, 160, 300, null, null],
[0, "모키아", null, 0, null, 67, 63, 42, 0, 160, 300, null, null],
[0, "리키아", null, 0, null, 69, 65, 49, 0, 160, 300, null, null],
[0, "와이덴", null, 0, null, 60, 44, 69, 0, 160, 300, null, null],
[0, "미리암", null, 0, null, 61, 73, 50, 0, 160, 300, null, null],
[0, "칼리오스", null, 0, null, 62, 70, 42, 0, 160, 300, null, null],
[0, "에벨라", null, 0, null, 23, 33, 82, 0, 160, 300, null, null],
[0, "네이수스", null, 0, null, 59, 76, 59, 0, 160, 300, null, null],
[0, "울란", null, 0, null, 60, 52, 68, 0, 160, 300, null, null],
[0, "타나소스", null, 0, null, 73, 87, 69, 0, 160, 300, null, null],
[0, "소태우스", null, 0, null, 67, 75, 70, 0, 160, 300, null, null],
[0, "타대오", null, 0, null, 65, 70, 72, 0, 160, 300, null, null],
[0, "라타", null, 0, null, 60, 75, 52, 0, 160, 300, null, null],
[0, "리사", null, 0, null, 55, 32, 70, 0, 160, 300, null, null],
[0, "스토마", null, 0, null, 60, 42, 72, 0, 160, 300, null, null],
[0, "에스텔", null, 0, null, 55, 47, 73, 0, 160, 300, null, null],
[0, "퓨리아", null, 0, null, 59, 57, 55, 0, 160, 300, null, null],
[0, "하이만", null, 0, null, 53, 62, 49, 0, 160, 300, null, null],
[0, "뮤람", null, 0, null, 57, 60, 66, 0, 160, 300, null, null],
[0, "크리스토퍼", null, 0, null, 60, 69, 47, 0, 160, 300, null, null],
[0, "루이칸", null, 0, null, 70, 72, 60, 0, 160, 300, null, null],
[0, "카닐", null, 0, null, 64, 69, 43, 0, 160, 300, null, null],
[0, "브렉모스", null, 0, null, 32, 67, 77, 0, 160, 300, null, null],
[0, "토리스", null, 0, null, 36, 53, 62, 0, 160, 300, null, null],
[0, "레이나", null, 0, null, 77, 82, 59, 0, 160, 300, null, null],
[0, "프라잉", null, 0, null, 52, 41, 77, 0, 160, 300, null, null],
[0, "바쿠렌", null, 0, null, 52, 55, 51, 0, 160, 300, null, null],
[0, "게르고", null, 0, null, 64, 70, 62, 0, 160, 300, null, null],
[0, "자쿠라", null, 0, null, 59, 72, 29, 0, 160, 300, null, null],
[0, "엔게리", null, 0, null, 60, 53, 42, 0, 160, 300, null, null],
[0, "웬디", null, 0, null, 58, 77, 49, 0, 160, 300, null, null],
[0, "티람", null, 0, null, 62, 67, 63, 0, 160, 300, null, null],
[0, "루카", null, 0, null, 59, 57, 60, 0, 160, 300, null, null],
[0, "한나", null, 0, null, 69, 73, 73, 0, 160, 300, null, null],
[0, "포레아", null, 0, null, 58, 65, 22, 0, 160, 300, null, null],
[0, "카세리나", null, 0, null, 55, 73, 46, 0, 160, 300, null, null],
[0, "알프레도", null, 0, null, 62, 32, 72, 0, 160, 300, null, null],
[0, "브린아", null, 0, null, 59, 64, 43, 0, 160, 300, null, null],
[0, "모네", null, 0, null, 56, 67, 70, 0, 160, 300, null, null],
[0, "아키라", null, 0, null, 42, 39, 73, 0, 160, 300, null, null],
[0, "스테이시", null, 0, null, 38, 80, 69, 0, 160, 300, null, null],
[0, "토우란", null, 0, null, 37, 65, 45, 0, 160, 300, null, null],
[0, "마코르", null, 0, null, 50, 43, 50, 0, 160, 300, null, null],
[0, "이레인", null, 0, null, 70, 65, 73, 0, 160, 300, null, null],
[0, "비오스", null, 0, null, 65, 63, 66, 0, 160, 300, null, null],
[0, "파리아", null, 0, null, 70, 64, 58, 0, 160, 300, null, null],
[0, "코란", null, 0, null, 53, 60, 46, 0, 160, 300, null, null],
[0, "블렌토", null, 0, null, 74, 66, 53, 0, 160, 300, null, null],
[0, "베니아", null, 0, null, 65, 79, 35, 0, 160, 300, null, null],
[0, "벨자르", null, 0, null, 52, 56, 59, 0, 160, 300, null, null],
[0, "오마주", null, 0, null, 77, 80, 21, 0, 160, 300, null, null],
[0, "아리엔", null, 0, null, 59, 21, 84, 0, 160, 300, null, null],
[0, "돌로메스", null, 0, null, 75, 83, 62, 0, 160, 300, null, null],
[0, "달라니카", null, 0, null, 68, 65, 53, 0, 160, 300, null, null],
[0, "안주네", null, 0, null, 70, 59, 67, 0, 160, 300, null, null],
[0, "이고트리", null, 0, null, 69, 74, 49, 0, 160, 300, null, null],
[0, "나마테로", null, 0, null, 64, 60, 82, 0, 160, 300, null, null],
[0, "그리마우아", null, 0, null, 71, 75, 41, 0, 160, 300, null, null],
[0, "하노아", null, 0, null, 90, 95, 72, 0, 160, 300, null, null],
[0, "메니아드", null, 0, null, 72, 65, 26, 0, 160, 300, null, null],
[0, "베르니아", null, 0, null, 70, 68, 33, 0, 160, 300, null, null],
[0, "모리웬", null, 0, null, 46, 32, 76, 0, 160, 300, null, null],
[0, "하나로스", null, 0, null, 82, 67, 31, 0, 160, 300, null, null],
[0, "베리도스", null, 0, null, 59, 23, 80, 0, 160, 300, null, null],
[0, "델레흐마", null, 0, null, 67, 73, 45, 0, 160, 300, null, null],
[0, "골란디르", null, 0, null, 72, 74, 72, 0, 160, 300, null, null],
[0, "고르네스", null, 0, null, 73, 47, 80, 0, 160, 300, null, null],
[0, "헤리아", null, 0, null, 62, 50, 76, 0, 160, 300, null, null],
[0, "안테리나", null, 0, null, 49, 67, 23, 0, 160, 300, null, null],
[0, "안타키오", null, 0, null, 44, 52, 62, 0, 160, 300, null, null],
[0, "아이실리", null, 0, null, 65, 32, 51, 0, 160, 300, null, null],
[0, "캘리스", null, 0, null, 53, 40, 47, 0, 160, 300, null, null],
[0, "푸켄", null, 0, null, 50, 57, 32, 0, 160, 300, null, null],
[0, "바티노", null, 0, null, 60, 66, 64, 0, 160, 300, null, null],
[0, "토우암", null, 0, null, 70, 77, 52, 0, 160, 300, null, null],
[0, "크룬", null, 0, null, 67, 72, 53, 0, 160, 300, null, null],
[0, "바이카넨", null, 0, null, 62, 42, 70, 0, 160, 300, null, null],
[0, "미라시아", null, 0, null, 64, 43, 67, 0, 160, 300, null, null],
[0, "비랑카", null, 0, null, 67, 75, 53, 0, 160, 300, null, null],
[0, "브라셀", null, 0, null, 79, 65, 64, 0, 160, 300, null, null],
[0, "키자벨", null, 0, null, 64, 72, 45, 0, 160, 300, null, null],
[0, "아리랑카", null, 0, null, 58, 69, 23, 0, 160, 300, null, null],
[0, "벨라넨", null, 0, null, 75, 77, 62, 0, 160, 300, null, null],
[0, "덴슈아", null, 0, null, 56, 60, 53, 0, 160, 300, null, null],
[0, "데르니아", null, 0, null, 63, 63, 62, 0, 160, 300, null, null],
[0, "알리오나", null, 0, null, 63, 60, 69, 0, 160, 300, null, null],
[0, "시아레스", null, 0, null, 93, 94, 73, 0, 160, 300, null, null],
[0, "제시카", null, 0, null, 94, 97, 88, 0, 160, 300, null, null],
[0, "리에하르", null, 0, null, 89, 97, 69, 0, 160, 300, null, null],
[0, "테리온", null, 0, null, 88, 77, 95, 0, 160, 300, null, null],
[0, "슈란", null, 0, null, 90, 95, 65, 0, 160, 300, null, null],
[0, "라유", null, 0, null, 101, 102, 76, 0, 160, 300, null, null],
[0, "제로스", null, 0, null, 105, 98, 74, 0, 160, 300, null, null],
[0, "네로스", null, 0, null, 98, 89, 82, 0, 160, 300, null, null],
[0, "바이넨", null, 0, null, 89, 96, 71, 0, 160, 300, null, null],
[0, "세라자드", null, 0, null, 96, 93, 79, 0, 160, 300, null, null],
[0, "마틸다", null, 0, null, 91, 98, 71, 0, 160, 300, null, null],
[0, "레온", null, 0, null, 93, 96, 69, 0, 160, 300, null, null],
[0, "오리헨", null, 0, null, 98, 95, 79, 0, 160, 300, null, null],
[0, "렌티온", null, 0, null, 84, 92, 69, 0, 160, 300, null, null],
[0, "새논", null, 0, null, 84, 93, 74, 0, 160, 300, null, null],
[0, "딘", null, 0, null, 89, 89, 78, 0, 160, 300, null, null],
[0, "미라이", null, 0, null, 83, 97, 70, 0, 160, 300, null, null],
[0, "블론디", null, 0, null, 84, 91, 59, 0, 160, 300, null, null],
[0, "레이미", null, 0, null, 85, 62, 97, 0, 160, 300, null, null],
[0, "나나리", null, 0, null, 88, 63, 98, 0, 160, 300, null, null],
[0, "카엘", null, 0, null, 82, 93, 69, 0, 160, 300, null, null],
[0, "아이오네", null, 0, null, 97, 105, 76, 0, 160, 300, null, null],
[0, "네로메루", null, 0, null, 94, 67, 95, 0, 160, 300, null, null],
[0, "그단세자르", null, 0, null, 93, 82, 88, 0, 160, 300, null, null],
[0, "마르첼라손", null, 0, null, 97, 94, 97, 0, 160, 300, null, null],
[0, "초롱레아", null, 0, null, 98, 99, 76, 0, 160, 300, null, null],
[0, "루피나", null, 0, null, 93, 97, 74, 0, 160, 300, null, null],
[0, "융버메", null, 0, null, 91, 97, 75, 0, 160, 300, null, null],
[0, "프로디테오", null, 0, null, 90, 82, 94, 0, 160, 300, null, null],
[0, "정카다시안", null, 0, null, 93, 92, 92, 0, 160, 300, null, null],
[0, "관지평", null, 0, null, 92, 92, 92, 0, 160, 300, null, null],
[0, "라플레토", null, 0, null, 88, 92, 71, 0, 160, 300, null, null],
[0, "라이제", null, 0, null, 97, 79, 105, 0, 160, 300, null, null],
[0, "칼슨", null, 0, null, 80, 94, 64, 0, 160, 300, null, null]
],
"general_ex":[
],
"cities":[
],
"history":[
"<C>●</>180년 1월:<L><b>【이벤트】</b></>제작자: 촉구.",
"<C>●</>180년 1월:<L><b>【가상모드13】</b>소울소드</>",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>혼란스러운 세상을 영웅들과 함께 바로잡아라!"
],
"initialEvents":[
],
"events":[
]
}
+349
View File
@@ -0,0 +1,349 @@
{
"title":"【가상모드14-1】 소울소드_리마스터",
"life":1,
"fiction":1,
"nation":[
],
"diplomacy":[],
"stat":{
"total":220,
"min":40,
"max":95,
"npcMax":95
},
"general":[
[0, "흑뢰의라이제", null, 0, null, 91, 71, 93, 0, 160, 300, null, null],
[0, "성녀마리안", null, 0, null, 92, 71, 92, 0, 160, 300, null, null],
[0, "팔방미녀세정", null, 0, null, 88, 87, 80, 0, 160, 300, null, null],
[0, "빛나는아이오네", null, 0, null, 91, 93, 71, 0, 160, 300, null, null],
[0, "포근한라유", null, 0, null, 92, 92, 71, 0, 160, 300, null, null],
[0, "은랑의제로스", null, 0, null, 93, 91, 71, 0, 160, 300, null, null],
[0, "악몽술사테리온", null, 0, null, 91, 71, 92, 0, 160, 300, null, null],
[0, "마검의제시카", null, 0, null, 91, 92, 71, 0, 160, 300, null, null],
[0, "분노의슈란", null, 0, null, 91, 92, 71, 0, 160, 300, null, null],
[0, "영광의시아레스", null, 0, null, 92, 91, 71, 0, 160, 300, null, null],
[0, "홍련의리오스", null, 0, null, 92, 91, 71, 0, 160, 300, null, null],
[0, "붉은눈의마모아", null, 0, null, 87, 80, 86, 0, 160, 300, null, null],
[0, "블리자드네로스", null, 0, null, 92, 90, 71, 0, 160, 300, null, null],
[0, "혈광의바이넨", null, 0, null, 91, 92, 70, 0, 160, 300, null, null],
[0, "붉은유성하네드", null, 0, null, 90, 93, 69, 0, 160, 300, null, null],
[0, "뉴페이스마르첼라", null, 0, null, 90, 70, 91, 0, 160, 300, null, null],
[0, "환영의에루다", null, 0, null, 88, 73, 90, 0, 160, 300, null, null],
[0, "마도사나나리", null, 0, null, 91, 70, 90, 0, 160, 300, null, null],
[0, "의유혹의유메리아", null, 0, null, 86, 79, 86, 0, 160, 300, null, null],
[0, "풍요로운오리헨", null, 0, null, 92, 91, 68, 0, 160, 300, null, null],
[0, "리에하르", null, 0, null, 90, 68, 92, 0, 160, 300, null, null],
[0, "파괴의바스타레", null, 0, null, 85, 82, 82, 0, 160, 300, null, null],
[0, "약속의글로리아", null, 0, null, 90, 92, 67, 0, 160, 300, null, null],
[0, "차가운세피럴", null, 0, null, 88, 69, 91, 0, 160, 300, null, null],
[0, "시원한카나시안", null, 0, null, 88, 67, 92, 0, 160, 300, null, null],
[0, "행복의클로레아", null, 0, null, 87, 90, 70, 0, 160, 300, null, null],
[0, "흑사자레온", null, 0, null, 91, 92, 64, 0, 160, 300, null, null],
[0, "열화의레이미", null, 0, null, 90, 65, 91, 0, 160, 300, null, null],
[0, "철벽의마르몰", null, 0, null, 86, 80, 80, 0, 160, 300, null, null],
[0, "환몽의기사로지", null, 0, null, 88, 88, 70, 0, 160, 300, null, null],
[0, "오빠를만난레아", null, 0, null, 89, 65, 91, 0, 160, 300, null, null],
[0, "미소의아르테레", null, 0, null, 85, 90, 70, 0, 160, 300, null, null],
[0, "희망의일리티아", null, 0, null, 89, 87, 69, 0, 160, 300, null, null],
[0, "불굴의타이온", null, 0, null, 91, 86, 68, 0, 160, 300, null, null],
[0, "바보미융버메", null, 0, null, 90, 91, 64, 0, 160, 300, null, null],
[0, "약속의카엘", null, 0, null, 85, 89, 70, 0, 160, 300, null, null],
[0, "신농가관지평", null, 0, null, 88, 66, 89, 0, 160, 300, null, null],
[0, "귀여운리모네", null, 0, null, 85, 79, 79, 0, 160, 300, null, null],
[0, "이데아", null, 0, null, 84, 89, 70, 0, 160, 300, null, null],
[0, "현장복귀딘", null, 0, null, 86, 89, 68, 0, 160, 300, null, null],
[0, "리나젤", null, 0, null, 86, 90, 67, 0, 160, 300, null, null],
[0, "환수사세라자드", null, 0, null, 88, 89, 66, 0, 160, 300, null, null],
[0, "섬광의마틸다", null, 0, null, 88, 92, 63, 0, 160, 300, null, null],
[0, "건강한꼬마루피나", null, 0, null, 89, 92, 62, 0, 160, 300, null, null],
[0, "신탁의하노아", null, 0, null, 89, 93, 60, 0, 160, 300, null, null],
[0, "광역의블레악스", null, 0, null, 86, 67, 88, 0, 160, 300, null, null],
[0, "유혹의나룬", null, 0, null, 80, 83, 78, 0, 160, 300, null, null],
[0, "정령궁수모니카", null, 0, null, 86, 88, 67, 0, 160, 300, null, null],
[0, "마검을얻은칼슨", null, 0, null, 86, 91, 64, 0, 160, 300, null, null],
[0, "저주의네로메루", null, 0, null, 86, 64, 90, 0, 160, 300, null, null],
[0, "백련의마르센", null, 0, null, 86, 86, 68, 0, 160, 300, null, null],
[0, "풍광의아이리", null, 0, null, 86, 88, 66, 0, 160, 300, null, null],
[0, "세르펜스", null, 0, null, 89, 60, 90, 0, 160, 300, null, null],
[0, "블랙어스카이로스", null, 0, null, 84, 85, 70, 0, 160, 300, null, null],
[0, "분란의새논", null, 0, null, 87, 86, 65, 0, 160, 300, null, null],
[0, "미소의아스트리아", null, 0, null, 82, 65, 90, 0, 160, 300, null, null],
[0, "어맨더", null, 0, null, 83, 87, 67, 0, 160, 300, null, null],
[0, "염사의라루아", null, 0, null, 84, 86, 66, 0, 160, 300, null, null],
[0, "뿅망치에멜", null, 0, null, 86, 85, 65, 0, 160, 300, null, null],
[0, "정보상인미세리아", null, 0, null, 86, 60, 89, 0, 160, 300, null, null],
[0, "게임여신하로디테", null, 0, null, 86, 62, 87, 0, 160, 300, null, null],
[0, "라플레토", null, 0, null, 82, 74, 79, 0, 160, 300, null, null],
[0, "찰나의아리스", null, 0, null, 82, 84, 69, 0, 160, 300, null, null],
[0, "흑랑의리코스", null, 0, null, 83, 87, 65, 0, 160, 300, null, null],
[0, "혈광의클라우드", null, 0, null, 84, 88, 63, 0, 160, 300, null, null],
[0, "크리디", null, 0, null, 80, 64, 90, 0, 160, 300, null, null],
[0, "백작부인블론디", null, 0, null, 83, 86, 65, 0, 160, 300, null, null],
[0, "기사렌티온", null, 0, null, 87, 88, 59, 0, 160, 300, null, null],
[0, "셀루아", null, 0, null, 85, 83, 65, 0, 160, 300, null, null],
[0, "석공무타바", null, 0, null, 90, 81, 62, 0, 160, 300, null, null],
[0, "순백의티라", null, 0, null, 71, 72, 89, 0, 160, 300, null, null],
[0, "교황의기사미라이", null, 0, null, 86, 90, 56, 0, 160, 300, null, null],
[0, "맹독의멀독", null, 0, null, 85, 83, 63, 0, 160, 300, null, null],
[0, "데이나", null, 0, null, 77, 63, 90, 0, 160, 300, null, null],
[0, "바람의무희네바", null, 0, null, 83, 59, 88, 0, 160, 300, null, null],
[0, "웨스트윈드아모스", null, 0, null, 73, 70, 87, 0, 160, 300, null, null],
[0, "루치아", null, 0, null, 83, 80, 67, 0, 160, 300, null, null],
[0, "하이나", null, 0, null, 81, 57, 91, 0, 160, 300, null, null],
[0, "스니퍼", null, 0, null, 78, 81, 70, 0, 160, 300, null, null],
[0, "오마주", null, 0, null, 82, 87, 60, 0, 160, 300, null, null],
[0, "이로아스", null, 0, null, 82, 76, 70, 0, 160, 300, null, null],
[0, "광살의에반", null, 0, null, 80, 88, 60, 0, 160, 300, null, null],
[0, "카밀라", null, 0, null, 86, 49, 92, 0, 160, 300, null, null],
[0, "사념술사데바인", null, 0, null, 80, 58, 89, 0, 160, 300, null, null],
[0, "바람의레지나", null, 0, null, 77, 64, 86, 0, 160, 300, null, null],
[0, "부정의퓨니엄", null, 0, null, 76, 74, 75, 0, 160, 300, null, null],
[0, "흑묘샬롯", null, 0, null, 81, 88, 56, 0, 160, 300, null, null],
[0, "쥬곤을찾는만텔", null, 0, null, 76, 80, 67, 0, 160, 300, null, null],
[0, "날뒤는알트", null, 0, null, 73, 62, 87, 0, 160, 300, null, null],
[0, "로즈", null, 0, null, 72, 63, 86, 0, 160, 300, null, null],
[0, "막내카라", null, 0, null, 75, 67, 79, 0, 160, 300, null, null],
[0, "리치네", null, 0, null, 78, 65, 78, 0, 160, 300, null, null],
[0, "블랙하운드암푸스", null, 0, null, 74, 80, 66, 0, 160, 300, null, null],
[0, "흑월의리베스", null, 0, null, 73, 55, 91, 0, 160, 300, null, null],
[0, "혁명의브렉", null, 0, null, 76, 77, 66, 0, 160, 300, null, null],
[0, "에클레", null, 0, null, 73, 83, 63, 0, 160, 300, null, null],
[0, "타베나", null, 0, null, 77, 80, 62, 0, 160, 300, null, null],
[0, "복수의이벤", null, 0, null, 72, 58, 88, 0, 160, 300, null, null],
[0, "심연의베르", null, 0, null, 72, 79, 67, 0, 160, 300, null, null],
[0, "탐험가로이", null, 0, null, 73, 78, 67, 0, 160, 300, null, null],
[0, "미녀기사쥬니아", null, 0, null, 71, 66, 80, 0, 160, 300, null, null],
[0, "스토마", null, 0, null, 69, 69, 79, 0, 160, 300, null, null],
[0, "리사", null, 0, null, 70, 71, 76, 0, 160, 300, null, null],
[0, "마가렛", null, 0, null, 73, 81, 63, 0, 160, 300, null, null],
[0, "흑풍의아레아스", null, 0, null, 75, 85, 57, 0, 160, 300, null, null],
[0, "병기장인하이베르", null, 0, null, 67, 75, 74, 0, 160, 300, null, null],
[0, "타대오", null, 0, null, 70, 74, 72, 0, 160, 300, null, null],
[0, "이리아", null, 0, null, 74, 70, 72, 0, 160, 300, null, null],
[0, "귀환의류나드", null, 0, null, 80, 84, 52, 0, 160, 300, null, null],
[0, "라타", null, 0, null, 73, 69, 73, 0, 160, 300, null, null],
[0, "정령기사한나", null, 0, null, 70, 73, 72, 0, 160, 300, null, null],
[0, "원스", null, 0, null, 77, 82, 56, 0, 160, 300, null, null],
[0, "악동듀요라", null, 0, null, 76, 69, 69, 0, 160, 300, null, null],
[0, "에렌디라", null, 0, null, 82, 80, 52, 0, 160, 300, null, null],
[0, "은발의야마르", null, 0, null, 73, 73, 67, 0, 160, 300, null, null],
[0, "하늘의콜리나", null, 0, null, 74, 77, 62, 0, 160, 300, null, null],
[0, "루이칸", null, 0, null, 73, 66, 73, 0, 160, 300, null, null],
[0, "레이첼", null, 0, null, 70, 68, 73, 0, 160, 300, null, null],
[0, "테이머존덜링", null, 0, null, 67, 72, 72, 0, 160, 300, null, null],
[0, "엘린", null, 0, null, 74, 48, 88, 0, 160, 300, null, null],
[0, "에포스", null, 0, null, 76, 48, 86, 0, 160, 300, null, null],
[0, "아미르", null, 0, null, 69, 64, 77, 0, 160, 300, null, null],
[0, "에타", null, 0, null, 72, 62, 76, 0, 160, 300, null, null],
[0, "정령술사도루숨", null, 0, null, 72, 64, 74, 0, 160, 300, null, null],
[0, "차녀카미안", null, 0, null, 72, 76, 62, 0, 160, 300, null, null],
[0, "질니아", null, 0, null, 74, 80, 56, 0, 160, 300, null, null],
[0, "마도사에디스", null, 0, null, 72, 51, 86, 0, 160, 300, null, null],
[0, "크리시스", null, 0, null, 68, 72, 69, 0, 160, 300, null, null],
[0, "블랙암즈류이", null, 0, null, 74, 72, 63, 0, 160, 300, null, null],
[0, "아리", null, 0, null, 73, 76, 60, 0, 160, 300, null, null],
[0, "폭주의란도루", null, 0, null, 70, 51, 87, 0, 160, 300, null, null],
[0, "웬디", null, 0, null, 72, 77, 59, 0, 160, 300, null, null],
[0, "찰스", null, 0, null, 72, 83, 53, 0, 160, 300, null, null],
[0, "산들바람젤레", null, 0, null, 68, 52, 87, 0, 160, 300, null, null],
[0, "요하스", null, 0, null, 69, 65, 73, 0, 160, 300, null, null],
[0, "아이노", null, 0, null, 72, 70, 65, 0, 160, 300, null, null],
[0, "홍염의케이시", null, 0, null, 76, 42, 88, 0, 160, 300, null, null],
[0, "소태우스", null, 0, null, 72, 70, 64, 0, 160, 300, null, null],
[0, "빙혼마도사카이", null, 0, null, 74, 43, 88, 0, 160, 300, null, null],
[0, "데브라", null, 0, null, 71, 75, 59, 0, 160, 300, null, null],
[0, "크로츠", null, 0, null, 78, 73, 54, 0, 160, 300, null, null],
[0, "하루아나", null, 0, null, 68, 49, 87, 0, 160, 300, null, null],
[0, "그리마우아", null, 0, null, 72, 73, 59, 0, 160, 300, null, null],
[0, "라벤데", null, 0, null, 69, 83, 52, 0, 160, 300, null, null],
[0, "행운의슈", null, 0, null, 70, 45, 88, 0, 160, 300, null, null],
[0, "치료사클레라", null, 0, null, 73, 42, 88, 0, 160, 300, null, null],
[0, "칠흑의라이", null, 0, null, 69, 48, 86, 0, 160, 300, null, null],
[0, "엔게리", null, 0, null, 70, 70, 62, 0, 160, 300, null, null],
[0, "네이수스", null, 0, null, 73, 69, 60, 0, 160, 300, null, null],
[0, "비오스", null, 0, null, 72, 70, 59, 0, 160, 300, null, null],
[0, "배반의프라잉", null, 0, null, 69, 47, 84, 0, 160, 300, null, null],
[0, "돌로메스", null, 0, null, 71, 54, 74, 0, 160, 300, null, null],
[0, "티팜", null, 0, null, 68, 43, 87, 0, 160, 300, null, null],
[0, "레이븐", null, 0, null, 69, 43, 86, 0, 160, 300, null, null],
[0, "투말린", null, 0, null, 72, 69, 57, 0, 160, 300, null, null],
[0, "게르고", null, 0, null, 72, 69, 57, 0, 160, 300, null, null],
[0, "로렌시아", null, 0, null, 70, 42, 85, 0, 160, 300, null, null],
[0, "달라니카", null, 0, null, 65, 59, 73, 0, 160, 300, null, null],
[0, "레이나", null, 0, null, 66, 56, 74, 0, 160, 300, null, null],
[0, "안주네", null, 0, null, 73, 49, 74, 0, 160, 300, null, null],
[0, "안테리나", null, 0, null, 67, 68, 61, 0, 160, 300, null, null],
[0, "쿠벤", null, 0, null, 67, 69, 60, 0, 160, 300, null, null],
[0, "이고트리", null, 0, null, 70, 73, 53, 0, 160, 300, null, null],
[0, "데브라", null, 0, null, 74, 73, 49, 0, 160, 300, null, null],
[0, "칼리오스", null, 0, null, 58, 53, 84, 0, 160, 300, null, null],
[0, "시몬느", null, 0, null, 67, 56, 72, 0, 160, 300, null, null],
[0, "추적자주혜", null, 0, null, 67, 73, 55, 0, 160, 300, null, null],
[0, "감시자록시", null, 0, null, 58, 56, 80, 0, 160, 300, null, null],
[0, "모멘트", null, 0, null, 61, 70, 63, 0, 160, 300, null, null],
[0, "올거", null, 0, null, 58, 76, 60, 0, 160, 300, null, null],
[0, "하룩", null, 0, null, 72, 62, 60, 0, 160, 300, null, null],
[0, "비랑카", null, 0, null, 65, 70, 59, 0, 160, 300, null, null],
[0, "야쿠", null, 0, null, 66, 69, 59, 0, 160, 300, null, null],
[0, "휘크리스", null, 0, null, 70, 74, 50, 0, 160, 300, null, null],
[0, "사랑찾는메리아", null, 0, null, 68, 39, 86, 0, 160, 300, null, null],
[0, "에벨라", null, 0, null, 62, 46, 85, 0, 160, 300, null, null],
[0, "아리엔", null, 0, null, 72, 44, 77, 0, 160, 300, null, null],
[0, "모벤트", null, 0, null, 63, 71, 59, 0, 160, 300, null, null],
[0, "파리아", null, 0, null, 69, 77, 47, 0, 160, 300, null, null],
[0, "데하르나", null, 0, null, 66, 54, 72, 0, 160, 300, null, null],
[0, "베르니아", null, 0, null, 70, 53, 69, 0, 160, 300, null, null],
[0, "베니아", null, 0, null, 64, 55, 73, 0, 160, 300, null, null],
[0, "하리테론", null, 0, null, 75, 65, 52, 0, 160, 300, null, null],
[0, "리르", null, 0, null, 67, 72, 52, 0, 160, 300, null, null],
[0, "좌절의키데리오", null, 0, null, 71, 76, 44, 0, 160, 300, null, null],
[0, "빙하의미티", null, 0, null, 74, 79, 38, 0, 160, 300, null, null],
[0, "나키", null, 0, null, 67, 64, 59, 0, 160, 300, null, null],
[0, "미리암", null, 0, null, 70, 67, 53, 0, 160, 300, null, null],
[0, "뮤람", null, 0, null, 60, 59, 70, 0, 160, 300, null, null],
[0, "안타니엘", null, 0, null, 60, 66, 63, 0, 160, 300, null, null],
[0, "와이덴", null, 0, null, 67, 59, 63, 0, 160, 300, null, null],
[0, "아이실리", null, 0, null, 69, 64, 56, 0, 160, 300, null, null],
[0, "리부로", null, 0, null, 70, 67, 52, 0, 160, 300, null, null],
[0, "아르볼", null, 0, null, 70, 28, 90, 0, 160, 300, null, null],
[0, "토벌군대장리에나", null, 0, null, 70, 68, 50, 0, 160, 300, null, null],
[0, "마르셀라", null, 0, null, 60, 44, 83, 0, 160, 300, null, null],
[0, "크룬", null, 0, null, 60, 63, 64, 0, 160, 300, null, null],
[0, "모리웬", null, 0, null, 69, 64, 54, 0, 160, 300, null, null],
[0, "메니아드", null, 0, null, 67, 67, 53, 0, 160, 300, null, null],
[0, "담금질중인칸나", null, 0, null, 75, 84, 28, 0, 160, 300, null, null],
[0, "장녀카나안", null, 0, null, 70, 32, 84, 0, 160, 300, null, null],
[0, "하나리", null, 0, null, 59, 62, 65, 0, 160, 300, null, null],
[0, "하로데스", null, 0, null, 70, 72, 44, 0, 160, 300, null, null],
[0, "복수의카이젤", null, 0, null, 77, 92, 17, 0, 160, 300, null, null],
[0, "브라셀", null, 0, null, 63, 69, 53, 0, 160, 300, null, null],
[0, "불패의오웬", null, 0, null, 79, 82, 24, 0, 160, 300, null, null],
[0, "유리아", null, 0, null, 67, 32, 85, 0, 160, 300, null, null],
[0, "월터", null, 0, null, 68, 69, 47, 0, 160, 300, null, null],
[0, "나마테로", null, 0, null, 68, 73, 43, 0, 160, 300, null, null],
[0, "모네", null, 0, null, 69, 73, 42, 0, 160, 300, null, null],
[0, "복수의로니아", null, 0, null, 80, 87, 17, 0, 160, 300, null, null],
[0, "카닐", null, 0, null, 60, 70, 53, 0, 160, 300, null, null],
[0, "위기의트루트", null, 0, null, 73, 72, 38, 0, 160, 300, null, null],
[0, "루이즈", null, 0, null, 59, 40, 83, 0, 160, 300, null, null],
[0, "바니아", null, 0, null, 63, 47, 72, 0, 160, 300, null, null],
[0, "웬드리스", null, 0, null, 57, 55, 70, 0, 160, 300, null, null],
[0, "모키아", null, 0, null, 67, 63, 52, 0, 160, 300, null, null],
[0, "비앙키", null, 0, null, 67, 72, 43, 0, 160, 300, null, null],
[0, "헤리아", null, 0, null, 53, 57, 71, 0, 160, 300, null, null],
[0, "레베로", null, 0, null, 66, 72, 43, 0, 160, 300, null, null],
[0, "블렌토", null, 0, null, 72, 70, 39, 0, 160, 300, null, null],
[0, "교사클라라", null, 0, null, 60, 37, 83, 0, 160, 300, null, null],
[0, "크루시오돈", null, 0, null, 56, 61, 63, 0, 160, 300, null, null],
[0, "티람", null, 0, null, 60, 57, 63, 0, 160, 300, null, null],
[0, "나데윈터", null, 0, null, 59, 51, 70, 0, 160, 300, null, null],
[0, "오리엔토", null, 0, null, 52, 54, 73, 0, 160, 300, null, null],
[0, "릴리스", null, 0, null, 59, 57, 63, 0, 160, 300, null, null],
[0, "바쿠렌", null, 0, null, 52, 54, 73, 0, 160, 300, null, null],
[0, "리키아", null, 0, null, 64, 66, 49, 0, 160, 300, null, null],
[0, "이레인", null, 0, null, 63, 43, 72, 0, 160, 300, null, null],
[0, "헤카톤", null, 0, null, 63, 63, 52, 0, 160, 300, null, null],
[0, "아라시스", null, 0, null, 67, 66, 45, 0, 160, 300, null, null],
[0, "브렉데모", null, 0, null, 66, 32, 79, 0, 160, 300, null, null],
[0, "브렉모스", null, 0, null, 63, 38, 76, 0, 160, 300, null, null],
[0, "베리도스", null, 0, null, 64, 43, 70, 0, 160, 300, null, null],
[0, "미카렌", null, 0, null, 62, 55, 60, 0, 160, 300, null, null],
[0, "고르네스", null, 0, null, 70, 64, 43, 0, 160, 300, null, null],
[0, "울란", null, 0, null, 65, 73, 39, 0, 160, 300, null, null],
[0, "노래하는사라", null, 0, null, 64, 27, 85, 0, 160, 300, null, null],
[0, "하나로스", null, 0, null, 70, 34, 72, 0, 160, 300, null, null],
[0, "아리랑카", null, 0, null, 43, 68, 65, 0, 160, 300, null, null],
[0, "푸켄", null, 0, null, 53, 70, 53, 0, 160, 300, null, null],
[0, "자쿠라", null, 0, null, 64, 63, 49, 0, 160, 300, null, null],
[0, "타마", null, 0, null, 60, 70, 46, 0, 160, 300, null, null],
[0, "안타키오", null, 0, null, 63, 70, 43, 0, 160, 300, null, null],
[0, "모에", null, 0, null, 59, 32, 84, 0, 160, 300, null, null],
[0, "바이카넨", null, 0, null, 60, 42, 73, 0, 160, 300, null, null],
[0, "키르멘", null, 0, null, 63, 42, 70, 0, 160, 300, null, null],
[0, "젤로먼", null, 0, null, 67, 38, 70, 0, 160, 300, null, null],
[0, "조시아", null, 0, null, 70, 62, 43, 0, 160, 300, null, null],
[0, "르네", null, 0, null, 67, 70, 38, 0, 160, 300, null, null],
[0, "풍만의란다", null, 0, null, 66, 72, 37, 0, 160, 300, null, null],
[0, "토리스", null, 0, null, 58, 43, 73, 0, 160, 300, null, null],
[0, "하카세", null, 0, null, 60, 62, 52, 0, 160, 300, null, null],
[0, "모코", null, 0, null, 65, 70, 39, 0, 160, 300, null, null],
[0, "크루피사냐", null, 0, null, 53, 46, 74, 0, 160, 300, null, null],
[0, "에리키오먼", null, 0, null, 63, 38, 72, 0, 160, 300, null, null],
[0, "로윈터", null, 0, null, 53, 64, 56, 0, 160, 300, null, null],
[0, "제나", null, 0, null, 63, 58, 52, 0, 160, 300, null, null],
[0, "카나레", null, 0, null, 62, 64, 47, 0, 160, 300, null, null],
[0, "캘리스", null, 0, null, 65, 65, 43, 0, 160, 300, null, null],
[0, "알프레도", null, 0, null, 60, 33, 79, 0, 160, 300, null, null],
[0, "벨라넨", null, 0, null, 59, 43, 70, 0, 160, 300, null, null],
[0, "라이야", null, 0, null, 53, 56, 63, 0, 160, 300, null, null],
[0, "카세리나", null, 0, null, 59, 67, 46, 0, 160, 300, null, null],
[0, "마코르", null, 0, null, 60, 69, 43, 0, 160, 300, null, null],
[0, "포레아", null, 0, null, 67, 62, 43, 0, 160, 300, null, null],
[0, "안젤리카", null, 0, null, 63, 76, 33, 0, 160, 300, null, null],
[0, "바이핸드", null, 0, null, 58, 70, 43, 0, 160, 300, null, null],
[0, "미카도", null, 0, null, 69, 59, 43, 0, 160, 300, null, null],
[0, "크리스토퍼", null, 0, null, 58, 74, 39, 0, 160, 300, null, null],
[0, "테레헨", null, 0, null, 67, 70, 34, 0, 160, 300, null, null],
[0, "달린", null, 0, null, 53, 36, 81, 0, 160, 300, null, null],
[0, "가레인", null, 0, null, 55, 42, 73, 0, 160, 300, null, null],
[0, "레드린", null, 0, null, 59, 62, 49, 0, 160, 300, null, null],
[0, "파울런", null, 0, null, 60, 62, 48, 0, 160, 300, null, null],
[0, "에스텔", null, 0, null, 59, 64, 47, 0, 160, 300, null, null],
[0, "가리먼", null, 0, null, 65, 66, 39, 0, 160, 300, null, null],
[0, "타나소스", null, 0, null, 69, 62, 39, 0, 160, 300, null, null],
[0, "에리사", null, 0, null, 53, 43, 73, 0, 160, 300, null, null],
[0, "미라시아", null, 0, null, 58, 39, 72, 0, 160, 300, null, null],
[0, "루카", null, 0, null, 58, 63, 48, 0, 160, 300, null, null],
[0, "테레리온", null, 0, null, 59, 67, 43, 0, 160, 300, null, null],
[0, "코카루", null, 0, null, 59, 68, 42, 0, 160, 300, null, null],
[0, "아젤리오", null, 0, null, 65, 69, 35, 0, 160, 300, null, null],
[0, "앰버", null, 0, null, 64, 75, 30, 0, 160, 300, null, null],
[0, "아키라", null, 0, null, 59, 32, 77, 0, 160, 300, null, null],
[0, "라프리엘", null, 0, null, 52, 43, 73, 0, 160, 300, null, null],
[0, "카시오리나", null, 0, null, 54, 41, 73, 0, 160, 300, null, null],
[0, "에베투스", null, 0, null, 53, 43, 72, 0, 160, 300, null, null],
[0, "덴슈아", null, 0, null, 53, 43, 72, 0, 160, 300, null, null],
[0, "제르피스", null, 0, null, 53, 52, 63, 0, 160, 300, null, null],
[0, "키자벨", null, 0, null, 62, 53, 53, 0, 160, 300, null, null],
[0, "키르가스", null, 0, null, 72, 43, 53, 0, 160, 300, null, null],
[0, "퓨리아", null, 0, null, 60, 64, 44, 0, 160, 300, null, null],
[0, "카리나", null, 0, null, 60, 66, 42, 0, 160, 300, null, null],
[0, "리디아", null, 0, null, 67, 79, 22, 0, 160, 300, null, null],
[0, "테레미스", null, 0, null, 63, 32, 72, 0, 160, 300, null, null],
[0, "골란디르", null, 0, null, 60, 53, 54, 0, 160, 300, null, null],
[0, "코란", null, 0, null, 60, 64, 43, 0, 160, 300, null, null],
[0, "바티노", null, 0, null, 53, 70, 43, 0, 160, 300, null, null],
[0, "하이만", null, 0, null, 62, 65, 39, 0, 160, 300, null, null],
[0, "데르니아", null, 0, null, 67, 65, 34, 0, 160, 300, null, null],
[0, "이세라", null, 0, null, 70, 62, 34, 0, 160, 300, null, null],
[0, "토우란", null, 0, null, 64, 62, 39, 0, 160, 300, null, null],
[0, "스테이시", null, 0, null, 65, 69, 31, 0, 160, 300, null, null],
[0, "크루시오엔", null, 0, null, 58, 34, 71, 0, 160, 300, null, null],
[0, "벨자르", null, 0, null, 59, 70, 34, 0, 160, 300, null, null],
[0, "토우암", null, 0, null, 62, 68, 32, 0, 160, 300, null, null],
[0, "델레흐마", null, 0, null, 59, 68, 34, 0, 160, 300, null, null],
[0, "브린아", null, 0, null, 67, 65, 29, 0, 160, 300, null, null],
[0, "알리오나", null, 0, null, 53, 34, 72, 0, 160, 300, null, null],
[0, "케시아", null, 0, null, 53, 71, 32, 0, 160, 300, null, null],
[0, "듀라스", null, 0, null, 48, 26, 78, 0, 160, 300, null, null],
[0, "아카시", null, 0, null, 48, 29, 74, 0, 160, 300, null, null]
],
"general_ex":[
],
"cities":[
],
"history":[
"<C>●</>180년 1월:<L><b>【이벤트】</b></>제작자: 촉구.",
"<C>●</>180년 1월:<L><b>【가상모드13】</b>소울소드</>",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>혼란스러운 세상을 영웅들과 함께 바로잡아라!"
],
"initialEvents":[
],
"events":[
]
}
+711
View File
@@ -0,0 +1,711 @@
{
"title": "【가상모드15】 애니집결",
"startYear": 180,
"history": [
"<C>●</>180년 1월:<L><b>【이벤트】</b></>제작자: 강서유서.",
"<C>●</>180년 1월:<L><b>【가상모드15】</b>애니집결!</>",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>애니의 등장인물들이 한곳에서 자웅을 겨룬다!"
],
"stat": {
"total": 220,
"min": 40,
"max": 95,
"npcMax": 95
},
"iconPath": "애니집결",
"fiction": 1,
"nation":[
],
"diplomacy":[],
"general":[
[0, "기타노시오리", null, 0, null, 96, 92, 93, 0, 160, 333, "왕좌", null],
[0, "마도카", null, 0, null, 86, 50, 77, 0, 160, 300, null, "집중", "친구들에겐 비밀이야★"],
[0, "마미", null, 0, null, 70, 74, 60, 0, 165, 240, null, null, "이젠 아무것도 두렵지 않아"],
[0, "호무라", null, 0, null, 76, 64, 80, 0, 160, 333, null, "집중", "이게바로…사랑이야.."],
[0, "쿄코", null, 0, null, 68, 77, 54, 0, 160, 240, null, null],
[0, "미키사야카", null, 0, null, 80, 77, 62, 0, 160, 240, null, null, "나는 정말…바보"],
[0, "나기사", null, 0, null, 72, 80, 70, 0, 160, 240, null, null, "나기사는 단지 치즈가 먹고싶엇던것 뿐이에요!"],
[0, "오리코", null, 0, null, 65, 33, 94, 0, 160, 240, null, null],
[0, "쿠레키리카", null, 0, null, 50, 80, 50, 0, 160, 240, null, null],
[0, "유마", null, 0, null, 69, 74, 70, 0, 160, 333, null, null],
[0, "큐베", null, 0, null, 22, 14, 4, 0, 160, 333, null, null, "나랑 계약해서 마녀가 되어줘!"],
[0, "사사", null, 0, null, 64, 78, 72, 0, 160, 333, null, null],
[0, "코이토", null, 0, null, 65, 70, 74, 0, 160, 333, null, null],
[0, "코마키", null, 0, null, 80, 75, 49, 0, 160, 333, null, null],
[0, "파브", null, 0, null, 40, 3, 32, 0, 160, 300, null, null, "지금부터 마을의 마법소녀를 반으로 줄여야 한다퐁!"],
[0, "스노우화이트", null, 0, null, 68, 83, 79, 0, 160, 333, null, "돌격", "사람들을 도울수 있는게 기뻐서!"],
[0, "프흐레", null, 0, null, 84, 25, 100, 0, 160, 333, null, "집중", "괜찮아...... 그리고 데류지 에게 전달해 줘...... 원하는 나의 요구"],
[0, "섀도게일", null, 0, null, 52, 75, 74, 0, 160, 333, null, null],
[0, "7753.0", null, 0, null, 64, 19, 84, 0, 160, 333, null, null, "전 인사부문소속의 7753이라고 합니다"],
[0, "인페르노", null, 0, null, 79, 85, 60, 0, 160, 399, null, null, "저녀석…해버려줘…마법소녀,,,사냥,,,"],
[0, "룰러", null, 0, null, 70, 30, 80, 0, 160, 333, null, null, "룰러의 이름으로 명한다"],
[0, "네무링", null, 0, null, 71, 63, 58, 0, 160, 333, null, null, "공주님이 되어버리면 되는거야."],
[0, "크랑테일", null, 0, null, 75, 86, 72, 0, 160, 333, null, null],
[0, "리플", null, 0, null, 59, 81, 70, 0, 160, 299, null, null],
[0, "글라시아네", null, 0, null, 42, 20, 85, 0, 160, 333, null, null, "죽이지마! 죽고싶지 않아!!"],
[0, "페치카", null, 0, null, 71, 33, 75, 0, 160, 333, null, null, "그래도…이번엔 누군가를 구할수있어서..행복해요…"],
[0, "하무엘", null, 0, null, 73, 23, 65, 0, 160, 333, null, null, "푸크푹이 유적안으로..윽…들어가고…있습니다…"],
[0, "타마", null, 0, null, 66, 81, 27, 0, 160, 300, null, null],
[0, "파르", null, 0, null, 30, 10, 74, 0, 160, 300, null, null, "게임마스터와 마스코트간에 규칙소통의 차이가 있엇퐁."],
[0, "나노하", null, 0, null, 85, 105, 85, 0, 160, 300, "패권", "위압", "잠깐 머리좀 식힐까?"],
[0, "페이트", null, 0, null, 70, 77, 73, 0, 160, 300, null, null],
[0, "비비오", null, 0, null, 75, 70, 70, 0, 160, 300, null, null, "엄마를 돌려줘!!"],
[0, "린디", null, 0, null, 78, 50, 50, 0, 160, 300, null, null],
[0, "크로노", null, 0, null, 73, 27, 58, 0, 160, 300, null, null],
[0, "스밥팅", null, 0, null, 53, 50, 64, 0, 160, 300, null, null],
[0, "긴카", null, 0, null, 73, 80, 52, 0, 160, 300, null, null],
[0, "캐로", null, 0, null, 71, 63, 74, 0, 160, 300, null, null],
[0, "에리오", null, 0, null, 65, 68, 72, 0, 160, 300, null, null],
[0, "티아나", null, 0, null, 72, 82, 78, 0, 160, 300, null, null],
[0, "하야테", null, 0, null, 74, 55, 85, 0, 160, 300, null, "환술"],
[0, "시그넘", null, 0, null, 75, 78, 79, 0, 160, 300, null, null],
[0, "비타", null, 0, null, 70, 85, 50, 0, 160, 300, null, null],
[0, "샤멀", null, 0, null, 55, 42, 80, 0, 160, 300, null, null],
[0, "노베", null, 0, null, 72, 80, 70, 0, 160, 300, null, null],
[0, "칭크", null, 0, null, 76, 84, 75, 0, 160, 300, null, null],
[0, "콰트르", null, 0, null, 51, 39, 92, 0, 160, 300, null, null],
[0, "스칼리에티", null, 0, null, 27, 12, 94, 0, 160, 300, null, "발명", "나는 너의 아빠쯤 되려나? 페이트."],
[0, "유노", null, 0, null, 64, 45, 81, 0, 160, 300, null, null],
[0, "쟈피라", null, 0, null, 20, 40, 65, 0, 160, 300, null, null],
[0, "셰인", null, 0, null, 43, 67, 30, 0, 160, 300, null, null],
[0, "이리야", null, 0, null, 79, 72, 67, 0, 160, 300, null, null, "소중한 내 친구니까!!"],
[0, "미유", null, 0, null, 76, 82, 84, 0, 160, 300, null, null],
[0, "쿠로", null, 0, null, 60, 73, 70, 0, 160, 300, null, null],
[0, "토오사카린", null, 0, null, 72, 62, 83, 0, 160, 300, null, null],
[0, "루비아", null, 0, null, 56, 40, 50, 0, 160, 300, null, "상재"],
[0, "시로", null, 0, null, 78, 40, 70, 0, 160, 300, null, null],
[0, "타이가", null, 0, null, 55, 50, 40, 0, 160, 300, null, null],
[0, "루비", null, 0, null, 49, 20, 70, 0, 160, 300, null, "척사"],
[0, "사파이어", null, 0, null, 49, 55, 86, 0, 160, 300, null, null],
[0, "세라", null, 0, null, 50, 77, 30, 0, 160, 300, null, null],
[0, "리즈", null, 0, null, 50, 80, 30, 0, 160, 300, null, null],
[0, "아이리스필", null, 0, null, 80, 45, 79, 0, 160, 300, null, null],
[0, "키리츠구", null, 0, null, 90, 95, 89, 0, 160, 300, null, null, "나는 너를 죽이고…세계를 구한다….!"],
[0, "젤레치", null, 0, null, 57, 52, 99, 0, 100, 300, null, null],
[0, "로드 엘멜로이", null, 0, null, 75, 43, 90, 0, 160, 300, null, null, "아니,나는 그의 신하다"],
[0, "클라나기사", null, 0, null, 85, 30, 85, 0, 160, 300, null, null, "경단~ 경단~ 경단 경단 경단 경단 대가족~"],
[0, "토모야", null, 0, null, 85, 84, 75, 0, 160, 300, null, null],
[0, "후지바야시쿄", null, 0, null, 80, 70, 69, 0, 160, 300, null, "무쌍", "요헤이! 또 그러는 거야??"],
[0, "후지바야시료", null, 0, null, 74, 30, 77, 0, 160, 300, null, null],
[0, "토모요", null, 0, null, 80, 72, 65, 0, 160, 300, null, "무쌍"],
[0, "캇페이", null, 0, null, 75, 55, 18, 0, 160, 300, null, null],
[0, "요헤이", null, 0, null, 69, 60, 30, 0, 160, 300, null, "견고", "우오오오오오오!!!"],
[0, "스노하라메이", null, 0, null, 70, 70, 70, 0, 160, 300, null, null, "저희 못난 오빠떔에 고생이 많으십니다"],
[0, "사나에", null, 0, null, 80, 40, 75, 0, 160, 300, null, null],
[0, "아키오", null, 0, null, 74, 86, 70, 0, 160, 300, null, null],
[0, "나오유키", null, 0, null, 70, 55, 55, 0, 160, 300, null, null, "토모야.. 고맙다."],
[0, "코토미", null, 0, null, 74, 52, 78, 0, 160, 300, null, null],
[0, "우시오", null, 0, null, 75, 60, 78, 0, 160, 300, null, null, "안녕.. 아빠…"],
[0, "리에", null, 0, null, 77, 37, 82, 0, 160, 300, null, null],
[0, "미야자와", null, 0, null, 78, 30, 85, 0, 160, 300, null, null],
[0, "시마카츠키", null, 0, null, 72, 49, 63, 0, 160, 300, null, null],
[0, "사가라미사에", null, 0, null, 85, 87, 85, 0, 160, 300, null, "위압"],
[0, "코즈키미유", null, 0, null, 77, 73, 64, 0, 160, 300, null, null, "혹시 루에게 고백이라도 한거니?"],
[0, "카나타", null, 0, null, 75, 70, 69, 0, 160, 300, null, null],
[0, "사이온지미우", null, 0, null, 2, 9, 4, 0, 160, 300, null, null, "엄마! 쉿! 쉬잇!!"],
[0, "크리스틴", null, 0, null, 67, 80, 60, 0, 160, 300, null, "무쌍", "미유랑 카나타가 붙어있어…."],
[0, "모모카", null, 0, null, 80, 60, 55, 0, 160, 300, null, null, "마이 달링! 루!"],
[0, "산타", null, 0, null, 54, 10, 30, 0, 160, 300, "유지", null],
[0, "쿠리타", null, 0, null, 46, 14, 10, 0, 160, 300, null, null],
[0, "고니시아야", null, 0, null, 67, 15, 77, 0, 160, 300, null, null],
[0, "루", null, 0, null, 81, 50, 73, 0, 160, 300, null, null, "다아!★"],
[0, "완냐", null, 0, null, 69, 48, 75, 0, 160, 300, null, null],
[0, "야마무라미캉", null, 0, null, 75, 64, 30, 0, 160, 300, null, null],
[0, "야보시세이야", null, 0, null, 70, 50, 70, 0, 160, 300, null, null],
[0, "야보시 루이", null, 0, null, 75, 73, 71, 0, 160, 300, null, null],
[0, "도리안", null, 0, null, 65, 49, 86, 0, 160, 300, null, "발명"],
[0, "키위", null, 0, null, 66, 33, 70, 0, 160, 300, null, "상재"],
[0, "구아바", null, 0, null, 45, 49, 51, 0, 160, 300, null, null],
[0, "히카리가오가", null, 0, null, 70, 49, 77, 0, 160, 300, null, null],
[0, "코즈키유우", null, 0, null, 85, 33, 75, 0, 160, 300, null, "발명"],
[0, "코즈키미키", null, 0, null, 88, 33, 80, 0, 160, 300, null, null],
[0, "란", null, 0, null, 80, 72, 40, 0, 160, 300, null, null],
[0, "하루네아이라", null, 0, null, 84, 45, 74, 0, 160, 300, null, null, "오로라~~~~~~~~~라이징~ 드리임!"],
[0, "리즈무", null, 0, null, 80, 25, 82, 0, 160, 300, null, null],
[0, "미온", null, 0, null, 78, 25, 90, 0, 160, 300, null, null],
[0, "아세치쿄코", null, 0, null, 76, 30, 82, 0, 160, 300, null, "상재"],
[0, "쥰매니저", null, 0, null, 75, 65, 75, 0, 160, 300, null, null],
[0, "미스터K", null, 0, null, 55, 20, 70, 0, 160, 300, null, null],
[0, "아세치킨타로", null, 0, null, 11, 22, 78, 0, 160, 300, null, null],
[0, "세레나", null, 0, null, 78, 50, 82, 0, 160, 300, null, "상재"],
[0, "카논", null, 0, null, 79, 50, 81, 0, 160, 300, null, null],
[0, "카나메", null, 0, null, 73, 23, 92, 0, 160, 300, null, null],
[0, "소나타", null, 0, null, 70, 35, 84, 0, 160, 300, null, null],
[0, "아게하미아", null, 0, null, 35, 9, 4, 0, 160, 300, null, null],
[0, "안경언니", null, 0, null, 74, 66, 77, 0, 160, 300, null, null, "프리즘스타의 세계에 온것을 환영해."],
[0, "토가시카리나", null, 0, null, 89, 23, 81, 0, 160, 300, null, null],
[0, "혜인", null, 0, null, 78, 50, 87, 0, 160, 300, null, null],
[0, "하루네이츠키", null, 0, null, 85, 30, 85, 0, 160, 300, null, null],
[0, "쇼우", null, 0, null, 87, 90, 78, 0, 160, 300, null, null],
[0, "오로라드림히비키", null, 0, null, 85, 33, 80, 0, 160, 300, null, null],
[0, "와타루", null, 0, null, 80, 11, 80, 0, 160, 300, null, null],
[0, "펭귄선생", null, 0, null, 55, 44, 49, 0, 160, 300, null, null],
[0, "카미죠토우마", null, 0, null, 70, 80, 50, 0, 160, 300, null, null, "불행해…"],
[0, "인덱스", null, 0, null, 30, 10, 89, 0, 160, 300, null, null],
[0, "미사카미코토", null, 0, null, 78, 93, 88, 0, 160, 300, null, null, "찌릿찌릿이라고 부르지마!!"],
[0, "엑셀레이터", null, 0, null, 64, 110, 90, 0, 160, 300, null, "위압", "압축! 압축! 공기를 압축!"],
[0, "시스터즈", null, 0, null, 44, 65, 50, 0, 160, 300, null, null, "~라고 미사카는 말합니다"],
[0, "라스트오더", null, 0, null, 75, 10, 90, 0, 160, 300, null, null, "미사카는 미사카는 말해보기도 하고~"],
[0, "카키네", null, 0, null, 44, 98, 22, 0, 160, 222, null, null],
[0, "무기농시즈리", null, 0, null, 78, 90, 80, 0, 160, 300, null, null],
[0, "쇼쿠호미사키", null, 0, null, 77, 30, 60, 0, 160, 300, null, null],
[0, "키하라겐세이", null, 0, null, 7, 9, 85, 0, 160, 300, null, "발명"],
[0, "아레이스타", null, 0, null, 67, 39, 90, 0, 160, 300, null, null],
[0, "무스지메", null, 0, null, 57, 49, 75, 0, 160, 300, null, null],
[0, "시라이쿠로코", null, 0, null, 56, 29, 60, 0, 160, 300, null, "견고", "오네사마!!!!!!!!!!!!!!!!!!!!!!!!!"],
[0, "시아게", null, 0, null, 67, 40, 30, 0, 160, 300, null, null],
[0, "사텐", null, 0, null, 55, 94, 30, 0, 160, 300, null, "무쌍"],
[0, "우이하루", null, 0, null, 33, 15, 89, 0, 160, 300, null, null],
[0, "헤븐캔슬러", null, 0, null, 79, 10, 90, 0, 160, 300, "은둔", "의술"],
[0, "칸자키", null, 0, null, 70, 92, 75, 0, 160, 300, null, null],
[0, "스테일", null, 0, null, 47, 88, 55, 0, 160, 300, null, null],
[0, "코모에", null, 0, null, 78, 10, 85, 0, 160, 300, null, null],
[0, "코난", null, 0, null, 55, 72, 99, 0, 160, 300, null, null, "미궁을 모르는 명탐정! 진실은 언제나 하나!"],
[0, "모리란", null, 0, null, 67, 100, 82, 0, 160, 300, null, "돌격"],
[0, "스즈키소노코", null, 0, null, 66, 55, 86, 0, 160, 300, null, "상재"],
[0, "쿄고쿠마코토", null, 0, null, 79, 108, 52, 0, 160, 300, null, "무쌍"],
[0, "진", null, 0, null, 79, 87, 90, 0, 160, 300, null, "돌격"],
[0, "베르무트", null, 0, null, 75, 67, 96, 0, 160, 300, null, null, "A secret makes a woman woman…"],
[0, "키얀티", null, 0, null, 56, 80, 49, 0, 160, 300, null, "저격"],
[0, "코른", null, 0, null, 57, 84, 55, 0, 160, 300, null, "저격"],
[0, "키르", null, 0, null, 64, 77, 63, 0, 150, 300, null, null],
[0, "버본", null, 0, null, 84, 83, 80, 0, 160, 300, null, null],
[0, "Rum", null, 0, null, 80, 30, 80, 0, 160, 300, null, null],
[0, "헤이지", null, 0, null, 78, 78, 95, 0, 160, 300, null, null],
[0, "카즈하", null, 0, null, 76, 30, 90, 0, 160, 300, null, null],
[0, "메구레경부", null, 0, null, 94, 79, 88, 0, 160, 300, null, null],
[0, "타카기형사", null, 0, null, 67, 80, 79, 0, 160, 300, null, null],
[0, "미와코", null, 0, null, 70, 83, 82, 0, 160, 300, null, null],
[0, "시라토리형사", null, 0, null, 71, 84, 81, 0, 160, 300, null, null],
[0, "하네다슈키치", null, 0, null, 76, 33, 100, 0, 160, 300, null, null],
[0, "조디", null, 0, null, 79, 67, 88, 0, 160, 300, null, null],
[0, "슈이치", null, 0, null, 86, 90, 100, 0, 160, 300, null, "저격"],
[0, "제임스 블랙", null, 0, null, 88, 55, 85, 0, 160, 300, null, null],
[0, "케멜수사관", null, 0, null, 67, 78, 79, 0, 160, 300, null, null],
[0, "히아바라아이", null, 0, null, 78, 49, 100, 0, 160, 300, null, "발명"],
[0, "소년탐정단", null, 0, null, 67, 85, 74, 0, 160, 300, null, null],
[0, "워커", null, 0, null, 73, 80, 66, 0, 160, 300, null, null],
[0, "카리스마렌야", null, 0, null, 75, 78, 78, 0, 160, 300, null, "상재"],
[0, "모리코고로", null, 0, null, 78, 77, 92, 0, 160, 300, null, null, "그만할수는 없어 진상을 밝혀내는게 탐정의 습성이니까."],
[0, "토우카", null, 0, null, 86, 57, 77, 0, 160, 300, null, "인덕"],
[0, "아이샤", null, 0, null, 97, 97, 75, 0, 160, 300, null, "위압"],
[0, "린린", null, 0, null, 86, 98, 22, 0, 160, 300, null, "무쌍"],
[0, "세이", null, 0, null, 92, 93, 80, 0, 160, 300, null, "무쌍"],
[0, "시온", null, 0, null, 85, 94, 67, 0, 160, 300, null, "궁병"],
[0, "슈리", null, 0, null, 75, 19, 100, 0, 160, 300, null, "집중", "하와와와…"],
[0, "하나리", null, 0, null, 85, 40, 92, 0, 160, 300, null, "반계", "아와와…"],
[0, "라이라이", null, 0, null, 33, 35, 78, 0, 160, 300, null, "상재"],
[0, "덴덴", null, 0, null, 40, 22, 57, 0, 160, 300, null, null],
[0, "미파", null, 0, null, 32, 17, 74, 0, 160, 300, null, null],
[0, "스이", null, 0, null, 80, 93, 21, 0, 160, 300, null, null],
[0, "탄포포", null, 0, null, 82, 90, 57, 0, 160, 310, null, null],
[0, "루오", null, 0, null, 74, 67, 62, 0, 160, 290, null, null],
[0, "소우", null, 0, null, 73, 70, 65, 0, 160, 290, null, null],
[0, "유에", null, 0, null, 78, 13, 94, 0, 160, 330, null, "인덕", "백성의 호소를 귀담아 듣는것이 정치의 근본."],
[0, "에이", null, 0, null, 78, 19, 99, 0, 160, 300, null, "신중"],
[0, "롄", null, 0, null, 87, 107, 35, 0, 160, 300, null, "돌격"],
[0, "네네네", null, 0, null, 78, 19, 89, 0, 160, 300, null, null, "진구우우웅!!!!!!!!킥!"],
[0, "화웅", null, 0, null, 82, 87, 53, 0, 160, 300, null, "기병"],
[0, "시아", null, 0, null, 81, 88, 78, 0, 160, 300, null, "돌격"],
[0, "로안", null, 0, null, 85, 83, 79, 0, 160, 300, null, null],
[0, "후우란", null, 0, null, 82, 30, 90, 0, 160, 300, null, null],
[0, "파이렌", null, 0, null, 84, 85, 64, 0, 160, 300, null, "기병"],
[0, "파이탄", null, 0, null, 19, 10, 67, 0, 160, 300, null, null],
[0, "쿠탄", null, 0, null, 7, 3, 31, 0, 160, 300, null, null],
[0, "엔야", null, 0, null, 79, 91, 38, 0, 160, 300, null, null],
[0, "키쿄우", null, 0, null, 86, 90, 72, 0, 160, 300, null, null],
[0, "유도", null, 0, null, 19, 11, 52, 0, 160, 300, null, null],
[0, "레이하", null, 0, null, 80, 30, 65, 0, 160, 300, null, null],
[0, "토시", null, 0, null, 86, 92, 36, 0, 160, 300, null, "돌격"],
[0, "이이셰", null, 0, null, 87, 94, 41, 0, 160, 300, null, null, "지력 36이 지력100을 이겼다!"],
[0, "마치", null, 0, null, 77, 23, 94, 0, 160, 300, null, null],
[0, "카린", null, 0, null, 96, 75, 92, 0, 160, 300, null, "반계"],
[0, "슌란", null, 0, null, 85, 89, 20, 0, 160, 300, null, "돌격"],
[0, "슈란", null, 0, null, 87, 92, 75, 0, 160, 300, null, "저격"],
[0, "케이파", null, 0, null, 51, 14, 95, 0, 160, 300, null, "집중", "아아…카린님…!"],
[0, "곽가린", null, 0, null, 67, 19, 97, 0, 160, 300, null, "신산"],
[0, "정욱후우", null, 0, null, 80, 35, 92, 0, 160, 300, null, null, "Zzzzz,,,,"],
[0, "나기", null, 0, null, 80, 84, 53, 0, 160, 300, null, null],
[0, "사와", null, 0, null, 83, 78, 63, 0, 160, 300, null, null],
[0, "마오", null, 0, null, 77, 78, 76, 0, 160, 300, null, null],
[0, "텐호", null, 0, null, 87, 12, 54, 0, 160, 300, null, "환술"],
[0, "렌호", null, 0, null, 78, 56, 72, 0, 160, 300, null, "환술"],
[0, "치호", null, 0, null, 77, 39, 89, 0, 160, 300, null, "환술"],
[0, "미우", null, 0, null, 42, 44, 19, 0, 160, 300, null, null],
[0, "나나노", null, 0, null, 74, 70, 67, 0, 160, 300, null, null],
[0, "카론", null, 0, null, 89, 86, 51, 0, 160, 300, null, null],
[0, "에이카", null, 0, null, 79, 81, 52, 0, 160, 300, null, null, "좌절감이 숙녀를 키우는 것이에요!!!"],
[0, "초선", null, 0, null, 75, 100, 55, 0, 160, 300, null, "위압", "아앙 주인님~"],
[0, "루린", null, 0, null, 74, 76, 67, 0, 160, 300, null, null, "걱정돼…걱정된다고!"],
[0, "샨푸", null, 0, null, 89, 94, 73, 0, 160, 300, null, null],
[0, "토우", null, 0, null, 22, 8, 77, 0, 160, 300, null, null],
[0, "스우", null, 0, null, 81, 50, 83, 0, 160, 300, null, null],
[0, "케이", null, 0, null, 53, 49, 32, 0, 160, 300, null, null],
[0, "레이첸", null, 0, null, 23, 14, 60, 0, 160, 300, null, null],
[0, "옌렌", null, 0, null, 96, 94, 75, 0, 160, 300, null, "무쌍"],
[0, "세렌", null, 0, null, 94, 94, 69, 0, 160, 300, null, "돌격"],
[0, "렌파", null, 0, null, 85, 55, 77, 0, 160, 300, null, null],
[0, "메이린", null, 0, null, 96, 69, 97, 0, 160, 300, null, "신산"],
[0, "사이", null, 0, null, 84, 80, 66, 0, 160, 300, null, null],
[0, "스이레이", null, 0, null, 85, 81, 79, 0, 160, 300, null, null],
[0, "민메이", null, 0, null, 78, 92, 72, 0, 160, 300, null, null],
[0, "시슌", null, 0, null, 79, 93, 79, 0, 160, 300, null, null],
[0, "아셰", null, 0, null, 82, 66, 89, 0, 160, 300, null, null],
[0, "농", null, 0, null, 93, 62, 94, 0, 160, 300, null, null],
[0, "샤오렌", null, 0, null, 84, 81, 80, 0, 160, 300, null, null],
[0, "파오", null, 0, null, 92, 33, 92, 0, 160, 300, null, null],
[0, "라이카", null, 0, null, 33, 14, 92, 0, 160, 300, null, null],
[0, "리안", null, 0, null, 82, 91, 64, 0, 160, 300, null, null],
[0, "마츠자키 아미", null, 0, null, 76, 69, 81, 0, 160, 300, null, null, "미스터리!!!!!"],
[0, "이요", null, 0, null, 64, 99, 82, 0, 160, 300, null, null, "이요씨빔~~~~~~~~~"],
[0, "캔다", null, 0, null, 70, 74, 70, 0, 160, 300, null, null],
[0, "이싸", null, 0, null, 55, 75, 55, 0, 160, 300, null, null],
[0, "미스터리", null, 0, null, 82, 10, 67, 0, 160, 300, null, "발명"],
[0, "타케다쿠미코", null, 0, null, 80, 60, 80, 0, 160, 300, null, null],
[0, "니얀다카멘", null, 0, null, 88, 96, 88, 0, 160, 300, null, "무쌍", "난다! 난다! 니얀다 카멘!"],
[0, "냐고", null, 0, null, 37, 46, 42, 0, 160, 300, "유지", null],
[0, "니얀다카렌", null, 0, null, 77, 90, 75, 0, 160, 300, null, null],
[0, "미코", null, 0, null, 49, 21, 84, 0, 160, 300, null, null],
[0, "냐온", null, 0, null, 72, 30, 90, 0, 160, 300, "패권", "발명"],
[0, "콩", null, 0, null, 62, 60, 75, 0, 160, 300, null, null],
[0, "네코선인", null, 0, null, 88, 52, 89, 0, 160, 300, "운둔", "신산"],
[0, "긴코", null, 0, null, 67, 79, 90, 0, 160, 300, null, null],
[0, "사라카치", null, 0, null, 70, 83, 80, 0, 160, 300, null, null],
[0, "미이라맨", null, 0, null, 82, 86, 60, 0, 160, 300, null, "돌격", "미이라~맨"],
[0, "망토대왕", null, 0, null, 67, 94, 70, 0, 160, 300, null, "돌격", "이몸은 숲의 왕이시다!"],
[0, "타누코", null, 0, null, 72, 78, 82, 0, 160, 300, null, null],
[0, "쿠모네코", null, 0, null, 74, 74, 45, 0, 160, 300, null, null],
[0, "도쿠로왕", null, 0, null, 90, 95, 80, 0, 160, 300, null, "돌격", "하지마!! 이대로 봉인되긴 싫단말이다!!"],
[0, "네프론", null, 0, null, 40, 93, 35, 0, 160, 300, null, null],
[0, "오물대왕", null, 0, null, 72, 60, 78, 0, 160, 300, null, null],
[0, "락맨", null, 0, null, 40, 97, 29, 0, 160, 300, null, null],
[0, "피코", null, 0, null, 39, 67, 20, 0, 160, 300, null, null],
[0, "또또", null, 0, null, 19, 10, 78, 0, 160, 300, null, "발명"],
[0, "나나", null, 0, null, 50, 19, 88, 0, 160, 300, null, null],
[0, "카카코선생님", null, 0, null, 67, 40, 75, 0, 160, 300, null, null],
[0, "스즈코센세", null, 0, null, 76, 41, 84, 0, 160, 300, null, null],
[0, "투투", null, 0, null, 52, 60, 70, 0, 160, 300, null, null],
[0, "츄츄", null, 0, null, 64, 70, 30, 0, 160, 300, null, null],
[0, "모모", null, 0, null, 78, 70, 75, 0, 160, 300, null, null],
[0, "쥐선인", null, 0, null, 90, 43, 94, 0, 160, 300, null, "환술", "고양이들에게 속지마라..!"],
[0, "로로나", null, 0, null, 92, 89, 94, 0, 160, 300, null, null, "나는 로로라이나 프릭셀이야!"],
[0, "토토리", null, 0, null, 85, 86, 93, 0, 160, 300, null, null, "역시.. 키가 작으시네요 쿠데리아상"],
[0, "메루루", null, 0, null, 87, 75, 92, 0, 160, 300, null, null],
[0, "쿠데리아", null, 0, null, 75, 68, 79, 0, 160, 300, null, "상재", "그렇게 부르지 말랬지!!"],
[0, "스테르크", null, 0, null, 80, 102, 81, 0, 160, 300, null, "무쌍", "자 따라해봐 로.로.나"],
[0, "아스트리드", null, 0, null, 39, 78, 96, 0, 160, 300, "유지", null],
[0, "미미", null, 0, null, 78, 82, 76, 0, 160, 300, null, null],
[0, "지노 크나프", null, 0, null, 72, 84, 70, 0, 160, 300, null, null],
[0, "에스카", null, 0, null, 84, 75, 91, 0, 160, 300, null, null],
[0, "로직스", null, 0, null, 80, 85, 79, 0, 160, 300, null, null],
[0, "소피", null, 0, null, 97, 94, 99, 0, 160, 300, null, "집중"],
[0, "플라흐타", null, 0, null, 79, 80, 101, 0, 160, 300, null, "환술"],
[0, "피리스", null, 0, null, 81, 66, 80, 0, 160, 300, null, "반계"],
[0, "일메리아", null, 0, null, 90, 64, 85, 0, 160, 300, null, null],
[0, "리디", null, 0, null, 77, 79, 82, 0, 160, 300, null, null],
[0, "수르", null, 0, null, 79, 77, 84, 0, 160, 300, null, null],
[0, "리아나", null, 0, null, 72, 78, 67, 0, 160, 300, null, null],
[0, "이츠카시도", null, 0, null, 94, 82, 80, 0, 160, 300, null, "환술", "린~~~~네~~~!!!!!!!!!!!!!!!!!!!"],
[0, "이츠카코토리", null, 0, null, 87, 91, 78, 0, 160, 300, null, null],
[0, "야토가미토카", null, 0, null, 84, 94, 22, 0, 160, 300, null, null],
[0, "요시노", null, 0, null, 88, 85, 64, 0, 160, 300, null, null],
[0, "쿠루미", null, 0, null, 86, 88, 83, 0, 160, 300, null, null],
[0, "타카미야마나", null, 0, null, 81, 90, 83, 0, 160, 300, null, null],
[0, "소노가미린네", null, 0, null, 90, 93, 84, 0, 160, 300, null, null, "시도..! 시도!"],
[0, "카구야", null, 0, null, 72, 90, 34, 0, 160, 300, null, null],
[0, "유즈루", null, 0, null, 72, 90, 75, 0, 160, 300, null, null],
[0, "이자요이미쿠", null, 0, null, 87, 82, 70, 0, 160, 300, null, null],
[0, "마유리", null, 0, null, 81, 81, 81, 0, 160, 300, null, null],
[0, "아루스마리아", null, 0, null, 75, 59, 92, 0, 160, 300, null, null],
[0, "마리나", null, 0, null, 75, 59, 94, 0, 160, 300, null, null],
[0, "소노가미리오", null, 0, null, 80, 87, 77, 0, 160, 300, null, null, "리오 나는 소노가미 리오야."],
[0, "나츠미", null, 0, null, 70, 79, 77, 0, 160, 300, null, "환술"],
[0, "오리가미", null, 0, null, 78, 88, 75, 0, 160, 300, null, "저격"],
[0, "니아", null, 0, null, 70, 30, 82, 0, 160, 300, null, null],
[0, "무쿠로", null, 0, null, 64, 85, 70, 0, 160, 300, null, null],
[0, "레이네", null, 0, null, 70, 30, 80, 0, 160, 300, null, null],
[0, "아이작", null, 0, null, 98, 67, 99, 0, 150, 290, null, "집중"],
[0, "엘렌", null, 0, null, 86, 82, 77, 0, 160, 300, null, null],
[0, "쿠사가베료코", null, 0, null, 81, 73, 76, 0, 160, 300, null, null],
[0, "아르테미시아", null, 0, null, 83, 82, 69, 0, 160, 300, null, null],
[0, "토노마치", null, 0, null, 33, 43, 22, 0, 160, 300, null, null],
[0, "아이", null, 0, null, 42, 39, 50, 0, 160, 300, null, null],
[0, "마이", null, 0, null, 19, 24, 37, 0, 160, 300, null, null],
[0, "미이", null, 0, null, 19, 19, 56, 0, 160, 300, null, null],
[0, "타치바나히비키", null, 0, null, 74, 95, 67, 0, 160, 300, null, "돌격"],
[0, "츠바사", null, 0, null, 76, 94, 77, 0, 160, 300, null, null],
[0, "크리스", null, 0, null, 80, 93, 77, 0, 160, 300, null, null],
[0, "마리아", null, 0, null, 84, 92, 77, 0, 160, 300, null, null],
[0, "시라베", null, 0, null, 85, 92, 77, 0, 160, 300, null, null],
[0, "아카츠키키리카", null, 0, null, 77, 92, 80, 0, 160, 300, null, null],
[0, "전희절창미쿠", null, 0, null, 72, 30, 90, 0, 160, 300, null, null],
[0, "캐롤", null, 0, null, 95, 82, 80, 0, 160, 300, null, null],
[0, "엘프나인", null, 0, null, 83, 29, 77, 0, 160, 300, null, null],
[0, "웰박사", null, 0, null, 99, 70, 99, 0, 160, 300, null, "발명", "영웅이 된건가…?"],
[0, "세가와유타", null, 0, null, 83, 75, 88, 0, 160, 300, null, "견고"],
[0, "타카나시소라", null, 0, null, 86, 80, 85, 0, 160, 300, null, null],
[0, "타카나시미우", null, 0, null, 87, 78, 78, 0, 160, 300, null, null],
[0, "타카나시히나", null, 0, null, 75, 33, 51, 0, 160, 300, null, null],
[0, "오다라이카", null, 0, null, 92, 64, 85, 0, 160, 300, null, null],
[0, "니무라코이치", null, 0, null, 85, 51, 90, 0, 160, 300, null, null],
[0, "샤샤", null, 0, null, 87, 44, 80, 0, 160, 300, null, null, "Miu! Мой милый Миу!"],
[0, "큐어블랙", null, 0, null, 73, 95, 55, 0, 160, 300, null, "돌격"],
[0, "큐어화이트", null, 0, null, 77, 90, 90, 0, 160, 300, null, null],
[0, "큐어블룸", null, 0, null, 76, 89, 78, 0, 160, 300, null, null],
[0, "큐어이그렛", null, 0, null, 82, 88, 94, 0, 160, 300, null, null],
[0, "미치루", null, 0, null, 84, 86, 80, 0, 160, 300, null, null],
[0, "카오루", null, 0, null, 84, 80, 86, 0, 160, 300, null, null],
[0, "큐어드림", null, 0, null, 92, 96, 55, 0, 160, 300, null, "통찰", "희망이가진 위대한 힘! 큐어드림!"],
[0, "큐어루즈", null, 0, null, 74, 93, 78, 0, 160, 300, null, null],
[0, "키리야", null, 0, null, 77, 89, 85, 0, 160, 300, null, null, "고마워요..선배들…이세계에 살아가는 의미를 알게해줘서…"],
[0, "루미너스", null, 0, null, 73, 89, 75, 0, 160, 300, null, null],
[0, "레모네이드", null, 0, null, 84, 87, 66, 0, 160, 300, null, null],
[0, "민트", null, 0, null, 80, 75, 77, 0, 160, 300, null, null],
[0, "아쿠아", null, 0, null, 83, 80, 76, 0, 160, 300, null, null],
[0, "밀키로즈", null, 0, null, 84, 97, 72, 0, 160, 300, null, null],
[0, "분비", null, 0, null, 88, 98, 80, 0, 160, 300, null, "견고", "이렇게 죽긴 싫은데..!!"],
[0, "가마오", null, 0, null, 42, 84, 36, 0, 160, 300, null, null],
[0, "큐어블로섬", null, 0, null, 86, 75, 84, 0, 160, 300, null, null],
[0, "큐어마린", null, 0, null, 71, 82, 41, 0, 160, 300, null, null],
[0, "큐어션샤인", null, 0, null, 77, 83, 80, 0, 160, 300, null, null],
[0, "큐어문라이트", null, 0, null, 82, 88, 84, 0, 160, 300, null, null],
[0, "큐어멜로디", null, 0, null, 80, 85, 49, 0, 160, 300, null, null],
[0, "큐어리듬", null, 0, null, 77, 85, 88, 0, 160, 300, null, null],
[0, "큐어비트", null, 0, null, 80, 84, 80, 0, 160, 300, null, null],
[0, "하미", null, 0, null, 56, 50, 77, 0, 160, 300, null, null],
[0, "큐어뮤즈", null, 0, null, 86, 92, 81, 0, 160, 300, null, null],
[0, "큐어하트", null, 0, null, 93, 90, 95, 0, 160, 300, null, "위압"],
[0, "다이아몬드", null, 0, null, 86, 88, 90, 0, 160, 300, null, null],
[0, "큐어로제타", null, 0, null, 80, 80, 85, 0, 160, 300, null, "상재"],
[0, "큐어소드", null, 0, null, 79, 87, 82, 0, 160, 300, null, "착사"],
[0, "큐어에이스", null, 0, null, 75, 83, 77, 0, 160, 300, null, null],
[0, "하세가와스바루", null, 0, null, 86, 77, 80, 0, 160, 300, null, null, "정말 초등학생은 최고야!!"],
[0, "토모카", null, 0, null, 70, 64, 82, 0, 160, 300, null, null, "잘부탁 드려요 하세가와 코치님!"],
[0, "아이리", null, 0, null, 71, 76, 75, 0, 160, 300, null, null, "키얘기는 하지마세요!!"],
[0, "마호", null, 0, null, 65, 62, 77, 0, 160, 300, null, "상재"],
[0, "사키", null, 0, null, 75, 66, 80, 0, 160, 300, null, null, "마호~ 그만!!"],
[0, "로큐브히나타", null, 0, null, 67, 66, 55, 0, 160, 300, null, null],
[0, "사츠키", null, 0, null, 72, 77, 70, 0, 160, 300, null, null],
[0, "넵튠", null, 0, null, 71, 55, 30, 0, 160, 300, null, null, "난 플라네튠의 여신 넵튠이야!"],
[0, "퍼플하트", null, 0, null, 86, 88, 77, 0, 160, 300, null, "돌격"],
[0, "네프기어", null, 0, null, 84, 87, 80, 0, 160, 300, null, null],
[0, "느와르", null, 0, null, 85, 88, 80, 0, 160, 300, null, null],
[0, "유니", null, 0, null, 73, 80, 75, 0, 160, 300, null, "저격"],
[0, "블랑", null, 0, null, 80, 88, 69, 0, 160, 300, null, "격노"],
[0, "롬", null, 0, null, 69, 77, 60, 0, 160, 300, null, null],
[0, "람", null, 0, null, 70, 60, 77, 0, 160, 300, null, null],
[0, "그린하트", null, 0, null, 81, 88, 83, 0, 160, 300, null, null],
[0, "마제콘느", null, 0, null, 85, 88, 75, 0, 160, 300, null, null],
[0, "프루루트", null, 0, null, 68, 94, 30, 0, 160, 300, null, "위압"],
[0, "피셰", null, 0, null, 70, 61, 69, 0, 160, 300, null, null],
[0, "비샤", null, 0, null, 75, 86, 75, 0, 160, 300, null, null],
[0, "우즈메", null, 0, null, 78, 88, 82, 0, 160, 300, null, null],
[0, "미나즈키하루카", null, 0, null, 83, 86, 70, 0, 160, 300, null, null],
[0, "칸나즈키아오이", null, 0, null, 86, 84, 88, 0, 160, 300, null, null],
[0, "하즈키쿠루미", null, 0, null, 75, 84, 80, 0, 160, 300, null, null],
[0, "테슬라바이올렛", null, 0, null, 69, 85, 77, 0, 160, 300, null, null],
[0, "나인바이올렛", null, 0, null, 73, 84, 79, 0, 160, 300, null, null],
[0, "나폴레옹정령", null, 0, null, 60, 60, 50, 0, 160, 300, null, null],
[0, "사이죠세츠코", null, 0, null, 77, 67, 81, 0, 160, 300, null, null],
[0, "블랙트레이더", null, 0, null, 86, 95, 78, 0, 160, 300, null, null],
[0, "엘리스", null, 0, null, 77, 91, 80, 0, 160, 300, null, null],
[0, "리리카", null, 0, null, 65, 59, 71, 0, 160, 300, null, null],
[0, "제르시퍼", null, 0, null, 95, 99, 89, 0, 160, 300, null, null],
[0, "메구루", null, 0, null, 70, 80, 67, 0, 160, 300, null, null],
[0, "스미레", null, 0, null, 75, 85, 80, 0, 160, 300, null, null],
[0, "메어리", null, 0, null, 70, 88, 78, 0, 160, 300, null, null],
[0, "유우키유우나", null, 0, null, 88, 91, 78, 0, 160, 300, null, null, "유우키 유우나! 용자부소속이야!"],
[0, "토고미모리", null, 0, null, 88, 105, 97, 0, 160, 300, null, null],
[0, "후우", null, 0, null, 85, 90, 86, 0, 160, 300, null, null],
[0, "이츠키", null, 0, null, 87, 91, 84, 0, 160, 300, null, null],
[0, "미요시카린", null, 0, null, 85, 93, 80, 0, 160, 300, null, null],
[0, "노기소노코", null, 0, null, 79, 84, 78, 0, 160, 300, null, null],
[0, "미노와긴", null, 0, null, 83, 87, 81, 0, 160, 300, null, null],
[0, "아키선생님", null, 0, null, 85, 39, 88, 0, 160, 300, null, null],
[0, "신수", null, 0, null, 97, 69, 99, 0, 160, 300, null, "견고"],
[0, "노기와카바", null, 0, null, 87, 85, 79, 0, 160, 300, null, null],
[0, "우에사토", null, 0, null, 80, 19, 85, 0, 160, 300, null, "귀모"],
[0, "이요지마안즈", null, 0, null, 76, 88, 86, 0, 160, 295, null, "저격"],
[0, "도이타마코", null, 0, null, 72, 89, 37, 0, 160, 300, null, "견고"],
[0, "코오리치카게", null, 0, null, 67, 90, 83, 0, 160, 300, null, null],
[0, "타카시마유우나", null, 0, null, 72, 88, 75, 0, 160, 300, null, null, "군짱, 그러면 안되."],
[0, "우타노", null, 0, null, 71, 83, 67, 0, 160, 300, null, "농업"],
[0, "후지모리미토", null, 0, null, 70, 15, 81, 0, 160, 300, null, null],
[0, "키리토", null, 0, null, 85, 91, 80, 0, 160, 300, null, "무쌍", "스타…버스트!!!...스트림!!!!!"],
[0, "아스나", null, 0, null, 94, 89, 87, 0, 160, 300, null, "무쌍", "내…이름…어떻게 안거야??"],
[0, "린드", null, 0, null, 81, 72, 69, 0, 160, 300, null, null, "왜 디어벨 상을 죽게 내버려 뒀어!!"],
[0, "키바오", null, 0, null, 88, 75, 80, 0, 160, 300, null, "통찰", "잠껀 기다려 보그레이!"],
[0, "에길", null, 0, null, 75, 91, 73, 0, 160, 300, null, "상재", "싸게 사서 싸게 제공하는것이 우리가게의 모토지"],
[0, "클라인", null, 0, null, 70, 92, 50, 0, 160, 300, null, null],
[0, "리텐", null, 0, null, 72, 88, 59, 0, 160, 300, null, "견고"],
[0, "리즈벳", null, 0, null, 65, 78, 70, 0, 160, 300, null, null],
[0, "시리카", null, 0, null, 79, 78, 62, 0, 160, 300, null, null],
[0, "PoH", null, 0, null, 65, 80, 74, 0, 160, 300, null, "저격", "It`s Show Time!"],
[0, "히스클리프", null, 0, null, 69, 75, 75, 0, 160, 300, null, "발명"],
[0, "슈미트", null, 0, null, 88, 82, 40, 0, 160, 300, null, "견고"],
[0, "조", null, 0, null, 45, 73, 55, 0, 160, 300, null, null],
[0, "자자", null, 0, null, 40, 80, 50, 0, 160, 300, null, null, "니녀석은 기필코 내가죽인다…!!"],
[0, "그림록", null, 0, null, 52, 50, 19, 0, 160, 300, null, null],
[0, "그리셸다", null, 0, null, 75, 50, 80, 0, 160, 300, null, null],
[0, "NPC", null, 0, null, 10, 30, 55, 0, 160, 300, null, null],
[0, "키즈멜", null, 0, null, 77, 87, 50, 0, 160, 300, null, null],
[0, "스고우", null, 0, null, 23, 19, 51, 0, 160, 300, null, null],
[0, "유이", null, 0, null, 79, 19, 88, 0, 160, 300, null, null],
[0, "스트레아", null, 0, null, 70, 70, 55, 0, 160, 300, null, null],
[0, "리파", null, 0, null, 70, 78, 72, 0, 160, 300, null, null],
[0, "레콘", null, 0, null, 55, 50, 32, 0, 160, 300, null, null],
[0, "사쿠야", null, 0, null, 80, 64, 78, 0, 160, 300, null, null],
[0, "알리샤루", null, 0, null, 80, 60, 77, 0, 160, 300, null, null],
[0, "쥐아르고", null, 0, null, 76, 50, 85, 0, 160, 300, null, null],
[0, "카케무네", null, 0, null, 71, 59, 70, 0, 160, 300, null, null],
[0, "시구르드", null, 0, null, 32, 23, 40, 0, 160, 300, null, null],
[0, "룩스", null, 0, null, 81, 77, 60, 0, 160, 300, null, null],
[0, "네즈하", null, 0, null, 65, 70, 71, 0, 160, 300, null, null],
[0, "시논", null, 0, null, 75, 80, 60, 0, 160, 300, null, "저격"],
[0, "데스건", null, 0, null, 40, 80, 66, 0, 160, 300, null, null, "나와 이총의 이름은 Death gun이다!"],
[0, "신카와쿄지", null, 0, null, 39, 30, 16, 0, 160, 300, null, null],
[0, "야미카제", null, 0, null, 65, 73, 70, 0, 160, 300, null, null],
[0, "콘노유우키", null, 0, null, 99, 89, 85, 0, 160, 300, null, null],
[0, "안시은", null, 0, null, 78, 72, 69, 0, 160, 300, null, null],
[0, "세븐", null, 0, null, 75, 50, 95, 0, 160, 300, null, null],
[0, "레인", null, 0, null, 87, 59, 73, 0, 160, 300, null, null],
[0, "프리미어", null, 0, null, 80, 50, 60, 0, 160, 300, null, null],
[0, "앨리스", null, 0, null, 85, 95, 85, 0, 160, 300, null, null],
[0, "유지오", null, 0, null, 83, 80, 55, 0, 160, 300, null, null],
[0, "티제", null, 0, null, 74, 81, 60, 0, 160, 300, null, null],
[0, "로니에", null, 0, null, 80, 76, 52, 0, 160, 300, null, null],
[0, "벡터", null, 0, null, 81, 55, 77, 0, 160, 300, null, null],
[0, "최고사제", null, 0, null, 57, 19, 95, 0, 160, 300, null, null],
[0, "호노카", null, 0, null, 88, 55, 64, 0, 160, 300, null, null],
[0, "우미", null, 0, null, 75, 55, 88, 0, 160, 300, null, null],
[0, "럽라코토리", null, 0, null, 76, 54, 80, 0, 160, 300, null, null],
[0, "니코", null, 0, null, 78, 52, 66, 0, 160, 300, null, "인덕", "닛코 닛코~니~ 아나타노 하토니 니코니코니"],
[0, "노조미", null, 0, null, 83, 63, 85, 0, 160, 300, null, null],
[0, "에리", null, 0, null, 75, 67, 77, 0, 160, 300, null, null, "ХараШо!"],
[0, "호시조라린", null, 0, null, 70, 59, 33, 0, 160, 300, null, null],
[0, "하나요", null, 0, null, 71, 55, 70, 0, 160, 300, null, null],
[0, "마키", null, 0, null, 75, 43, 84, 0, 160, 300, null, "의술"],
[0, "키라츠바사", null, 0, null, 87, 33, 72, 0, 160, 300, null, null],
[0, "유우키안쥬", null, 0, null, 80, 35, 77, 0, 160, 300, null, null],
[0, "토노에레나", null, 0, null, 78, 39, 84, 0, 160, 300, null, null],
[0, "타이요아카리", null, 0, null, 80, 80, 81, 0, 160, 300, null, null, "나 잊지 않을테니까! 후유나에대해 절대로 잊지 않을테니까!"],
[0, "츠쿠요미루나", null, 0, null, 72, 53, 82, 0, 160, 300, null, null],
[0, "시로카네긴카", null, 0, null, 76, 85, 81, 0, 160, 300, null, "상재"],
[0, "호시카와세이라", null, 0, null, 83, 86, 75, 0, 160, 300, null, "저격"],
[0, "신자키휴우나", null, 0, null, 70, 90, 55, 0, 160, 300, null, "신중", "안녕 아카리. 아카리와 만나 행복했어…"],
[0, "에티아", null, 0, null, 80, 72, 71, 0, 160, 300, null, null],
[0, "아라벨", null, 0, null, 54, 60, 92, 0, 160, 300, null, null],
[0, "프리실라", null, 0, null, 76, 83, 56, 0, 160, 300, null, null],
[0, "멜티나", null, 0, null, 71, 82, 65, 0, 160, 300, null, null],
[0, "하나에", null, 0, null, 74, 80, 65, 0, 160, 300, null, null],
[0, "도레미", null, 0, null, 86, 75, 42, 0, 160, 300, null, null, "프리티 윗치 도레미치!"],
[0, "하즈키", null, 0, null, 78, 61, 80, 0, 160, 300, null, null, "프리티 윗치 하즈키치!"],
[0, "아이코", null, 0, null, 78, 61, 75, 0, 160, 300, null, null, "프리티 윗치 아이코치!"],
[0, "폿프", null, 0, null, 70, 70, 79, 0, 160, 300, null, null, "프리티 윗치 폿프치!"],
[0, "세가와온푸", null, 0, null, 82, 60, 88, 0, 160, 300, null, null, "프리티 윗치 온푸치!"],
[0, "모모코", null, 0, null, 65, 75, 78, 0, 160, 300, null, null, "프리티 윗치 모모코치!"],
[0, "마죠리카", null, 0, null, 86, 33, 83, 0, 160, 300, null, "상재"],
[0, "유키선생님", null, 0, null, 86, 67, 89, 0, 160, 300, null, null],
[0, "코타케테츠야", null, 0, null, 72, 70, 76, 0, 160, 300, null, null],
[0, "마죠트루비용", null, 0, null, 92, 42, 92, 0, 160, 300, null, null],
[0, "오야지데", null, 0, null, 67, 84, 61, 0, 160, 300, null, null],
[0, "하나", null, 0, null, 65, 75, 75, 0, 160, 300, null, null],
[0, "크로노스선생", null, 0, null, 75, 34, 88, 0, 160, 300, null, null, "drop out boy~"],
[0, "남만병1", null, 0, null, 55, 61, 39, 0, 160, 300, null, null, "냥!"],
[0, "남만병2", null, 0, null, 49, 63, 29, 0, 160, 300, null, null],
[0, "남만병3", null, 0, null, 50, 62, 27, 0, 160, 300, null, null],
[0, "아카히라셋카", null, 0, null, 77, 85, 70, 0, 160, 300, null, null],
[0, "나츠메", null, 0, null, 79, 86, 50, 0, 160, 300, null, null],
[0, "아키미네유우나", null, 0, null, 70, 86, 54, 0, 160, 300, null, null],
[0, "사토시", null, 0, null, 51, 95, 13, 0, 160, 300, null, null],
[0, "타케시", null, 0, null, 80, 32, 92, 0, 160, 300, null, null],
[0, "카스미", null, 0, null, 80, 44, 70, 0, 160, 300, null, null],
[0, "그린", null, 0, null, 76, 55, 82, 0, 160, 222, null, null],
[0, "관철", null, 0, null, 79, 33, 83, 0, 160, 300, null, null],
[0, "오키드 박사", null, 0, null, 70, 31, 95, 0, 160, 300, null, null],
[0, "하루카", null, 0, null, 87, 67, 81, 0, 160, 300, null, null],
[0, "정인", null, 0, null, 72, 32, 81, 0, 160, 300, null, null],
[0, "비주기", null, 0, null, 88, 70, 86, 0, 160, 300, null, "위압", "내가 이 상록시티 체육관 관장이자 최강의 관장인 비주기다"],
[0, "레드", null, 0, null, 100, 80, 100, 0, 160, 300, null, "위압", "나는 정점이다."],
[0, "태홍", null, 0, null, 90, 59, 95, 0, 160, 300, null, null, "마음이 없는 세계…"],
[0, "마적", null, 0, null, 85, 33, 91, 0, 160, 300, null, null],
[0, "섀턴", null, 0, null, 79, 39, 90, 0, 160, 300, null, null, "선전용이엇지만 이번엔 진짜로 새로운 에너지라도 찾아볼까?"],
[0, "N", null, 0, null, 80, 45, 91, 0, 160, 300, null, null, "네 디지몬의 목소리를 들려줘"],
[0, "야가미 타이치", null, 0, null, 91, 85, 76, 0, 160, 300, null, null],
[0, "이시다야마토", null, 0, null, 75, 83, 80, 0, 160, 300, null, null],
[0, "타케노우치소라", null, 0, null, 81, 66, 84, 0, 160, 300, null, null],
[0, "이즈미코시로", null, 0, null, 67, 39, 95, 0, 160, 300, null, null],
[0, "타치카와미미", null, 0, null, 81, 62, 60, 0, 160, 300, null, null],
[0, "키도죠", null, 0, null, 76, 50, 89, 0, 160, 300, null, "의술"],
[0, "타케루", null, 0, null, 87, 91, 75, 0, 160, 300, null, "위압", "파타몬~~~~!!!!!!!!"],
[0, "야가미히카리", null, 0, null, 84, 39, 89, 0, 160, 300, null, null],
[0, "반데몬", null, 0, null, 55, 80, 80, 0, 160, 300, null, null],
[0, "다이스케", null, 0, null, 74, 79, 65, 0, 160, 300, null, null],
[0, "미야코", null, 0, null, 80, 60, 75, 0, 160, 300, null, null],
[0, "히다 이오리", null, 0, null, 70, 64, 80, 0, 160, 300, null, null],
[0, "이치죠우지켄", null, 0, null, 75, 64, 80, 0, 160, 300, null, null],
[0, "야가미유메", null, 0, null, 73, 56, 60, 0, 160, 300, null, null],
[0, "이즈미쥰", null, 0, null, 75, 40, 92, 0, 160, 300, null, null],
[0, "이즈미토모", null, 0, null, 75, 77, 70, 0, 160, 300, null, null],
[0, "키도미노루", null, 0, null, 86, 50, 85, 0, 160, 300, null, null],
[0, "나데시코", null, 0, null, 75, 81, 70, 0, 160, 300, null, null],
[0, "타카이시노조미", null, 0, null, 70, 56, 76, 0, 160, 300, null, null],
[0, "타카이시미츠루", null, 0, null, 72, 50, 78, 0, 160, 300, null, null],
[0, "타카이시유키", null, 0, null, 74, 72, 69, 0, 160, 300, null, null],
[0, "미츠루", null, 0, null, 70, 69, 60, 0, 160, 300, null, null],
[0, "코지로", null, 0, null, 76, 64, 79, 0, 160, 300, null, "상재"],
[0, "무사시", null, 0, null, 75, 80, 60, 0, 160, 300, null, "무쌍"],
[0, "에바스자와쿠루미", null, 0, null, 72, 88, 59, 0, 160, 300, null, "무쌍"],
[0, "타케야유키", null, 0, null, 73, 39, 29, 0, 160, 300, null, null],
[0, "와카사유리", null, 0, null, 77, 33, 90, 0, 160, 300, null, null],
[0, "이케다미키", null, 0, null, 74, 66, 75, 0, 160, 300, null, null],
[0, "사쿠라메구미", null, 0, null, 77, 32, 80, 0, 160, 300, null, null, "언니가 아니라 사쿠라 선생님!"],
[0, "다이몬마사루", null, 0, null, 56, 99, 42, 0, 160, 300, null, null],
[0, "히나모리아무", null, 0, null, 83, 70, 67, 0, 160, 300, null, null, "네거티브 하트 록온! 오픈 하트!!"],
[0, "발푸르기스의밤", null, 0, null, 67, 99, 56, 0, 160, 300, null, null],
[0, "멘마", null, 0, null, 75, 56, 77, 0, 160, 300, null, null, "진땅 정말 좋아해 신부가 되고싶다는 말이야."],
[0, "진땅", null, 0, null, 73, 55, 75, 0, 160, 300, null, null, "멘마!!! 미츠케타!!"],
[0, "유키아츠", null, 0, null, 75, 69, 72, 0, 160, 300, null, null],
[0, "폿포", null, 0, null, 62, 69, 50, 0, 160, 300, null, null, "진땅 멘마 미츠케타!"],
[0, "야냐루", null, 0, null, 75, 55, 72, 0, 160, 300, null, null, "에! 진땅 또 멘마를 울렷어!!"],
[0, "츠루코", null, 0, null, 73, 52, 88, 0, 160, 300, null, null, "진땅 그러면 안되!"],
[0, "공백소라", null, 0, null, 71, 50, 95, 0, 160, 300, null, null],
[0, "공백시로", null, 0, null, 72, 50, 97, 0, 160, 300, null, null],
[0, "지브릴", null, 0, null, 75, 82, 77, 0, 160, 300, null, null],
[0, "스테파니도라", null, 0, null, 76, 27, 77, 0, 160, 300, null, null],
[0, "무녀님", null, 0, null, 70, 40, 91, 0, 160, 300, null, null],
[0, "이즈냥", null, 0, null, 76, 74, 67, 0, 160, 300, null, null],
[0, "기타노유키코", null, 0, null, 85, 23, 95, 0, 160, 300, null, null, "모두들 잘부탁해!"],
[0, "둘리", null, 0, null, 34, 88, 52, 0, 160, 300, null, null],
[0, "고길동", null, 0, null, 74, 88, 70, 0, 160, 300, null, null],
[0, "이그드라실", null, 0, null, 15, 82, 97, 0, 160, 300, null, null],
[0, "마츠다타카토", null, 0, null, 72, 56, 74, 0, 160, 300, null, null],
[0, "0.0", null, 0, null, 77, 63, 77, 0, 160, 300, null, null],
[0, "리젠랴", null, 0, null, 72, 70, 77, 0, 160, 300, null, null],
[0, "리슈촌", null, 0, null, 67, 43, 52, 0, 160, 300, null, null],
[0, "쿠도타이키", null, 0, null, 82, 55, 80, 0, 160, 300, null, null],
[0, "히노모토아카리", null, 0, null, 77, 50, 84, 0, 160, 300, null, null],
[0, "유메노우타", null, 0, null, 83, 49, 80, 0, 160, 300, null, null, "코구레!!!(빡침)"],
[0, "코구레카게루", null, 0, null, 80, 78, 60, 0, 160, 300, null, null, "널 좋아해 우타."],
[0, "히이라기케이이치", null, 0, null, 86, 72, 88, 0, 160, 300, null, null],
[0, "사쿠라즈카미키", null, 0, null, 79, 31, 82, 0, 160, 300, null, null],
[0, "후지사키마나", null, 0, null, 77, 90, 73, 0, 160, 300, null, null],
[0, "마이멜로디", null, 0, null, 84, 60, 74, 0, 160, 300, null, null],
[0, "히아라기준", null, 0, null, 82, 60, 75, 0, 160, 300, null, null],
[0, "호시즈키키라라", null, 0, null, 83, 70, 65, 0, 160, 300, null, null],
[0, "오토나시유즈루", null, 0, null, 85, 61, 72, 0, 160, 300, null, null],
[0, "타치바나카나데", null, 0, null, 89, 88, 74, 0, 160, 300, null, null],
[0, "나오키아야토", null, 0, null, 80, 53, 80, 0, 160, 300, null, null, "좋아해 유즈루 심장을 줘서 고마워…"],
[0, "나카무라유리", null, 0, null, 81, 62, 76, 0, 160, 300, null, null],
[0, "캐캐체유이", null, 0, null, 77, 77, 56, 0, 160, 300, null, null, "결혼! 여자들의 궁극의 행복."],
[0, "히나타히데키", null, 0, null, 78, 70, 60, 0, 160, 300, null, null, "내가 해줄게!!"],
[0, "오토나시하츠네", null, 0, null, 74, 27, 80, 0, 160, 300, null, null],
[0, "이와사와마사미", null, 0, null, 76, 29, 88, 0, 160, 300, null, null],
[0, "아마노네네", null, 0, null, 82, 44, 81, 0, 160, 300, null, null],
[0, "아마노유우", null, 0, null, 77, 49, 92, 0, 160, 300, null, null, "어차피 게임인걸?"],
[0, "아오누마키리하", null, 0, null, 76, 50, 84, 0, 160, 300, null, null],
[0, "우즈마키나루토", null, 0, null, 88, 94, 72, 0, 160, 300, null, "돌격"],
[0, "휴우가히나타", null, 0, null, 80, 60, 78, 0, 160, 300, null, null],
[0, "우치하사스케", null, 0, null, 78, 90, 70, 0, 160, 300, null, null],
[0, "하루노사쿠라", null, 0, null, 77, 85, 77, 0, 160, 300, null, "의술"],
[0, "휴우가네지", null, 0, null, 75, 80, 62, 0, 160, 300, null, null],
[0, "츠나데", null, 0, null, 75, 70, 84, 0, 160, 300, null, "의술"],
[0, "우미노이루카", null, 0, null, 74, 68, 88, 0, 160, 300, null, null],
[0, "록리", null, 0, null, 72, 80, 40, 0, 160, 300, null, null],
[0, "텐텐", null, 0, null, 76, 55, 84, 0, 160, 300, null, null],
[0, "쿠로사와다이아", null, 0, null, 80, 52, 86, 0, 160, 300, null, null],
[0, "쿠로사와루비", null, 0, null, 83, 49, 70, 0, 160, 300, null, null],
[0, "오하라마리", null, 0, null, 82, 30, 89, 0, 160, 300, null, "상재"],
[0, "타카미치카", null, 0, null, 80, 40, 76, 0, 160, 300, null, null],
[0, "사쿠라우치리코", null, 0, null, 80, 44, 84, 0, 160, 300, null, null],
[0, "큐어에코", null, 0, null, 83, 62, 74, 0, 160, 300, null, null],
[0, "홍진호", null, 0, null, 22, 22, 22, 0, 160, 222, null, null, "폭풍저그 콩진호가 간다!"],
[0, "큐어러블리", null, 0, null, 80, 83, 47, 0, 160, 300, null, null],
[0, "큐어프린세스", null, 0, null, 76, 85, 55, 0, 160, 300, null, null],
[0, "큐어허니", null, 0, null, 83, 86, 67, 0, 160, 300, null, null],
[0, "큐어포춘", null, 0, null, 82, 90, 80, 0, 160, 300, null, null],
[0, "블루", null, 0, null, 41, 29, 17, 0, 160, 210, null, null],
[0, "큐어텐더", null, 0, null, 82, 94, 77, 0, 160, 300, null, null],
[0, "큐어플로라", null, 0, null, 81, 87, 69, 0, 160, 300, null, null],
[0, "임요환", null, 0, null, 89, 57, 100, 0, 160, 300, null, null, "콩은 까야 제맛입니다"],
[0, "큐어머메이드", null, 0, null, 88, 80, 93, 0, 160, 300, null, null],
[0, "큐어트윙클", null, 0, null, 88, 84, 80, 0, 160, 300, null, null],
[0, "큐어미라클", null, 0, null, 80, 86, 74, 0, 160, 300, null, null],
[0, "큐어매지컬", null, 0, null, 78, 83, 70, 0, 160, 300, null, null],
[0, "큐어펠리체", null, 0, null, 80, 77, 62, 0, 160, 300, null, null],
[0, "키쿠오카세이지로", null, 0, null, 83, 42, 78, 0, 160, 300, null, null],
[0, "히가타케루", null, 0, null, 70, 27, 90, 0, 160, 300, null, null],
[0, "코지코린코", null, 0, null, 75, 40, 89, 0, 160, 300, null, null],
[0, "조커", null, 0, null, 76, 90, 90, 0, 160, 300, null, null],
[0, "카와리노", null, 0, null, 64, 93, 88, 0, 160, 300, null, null],
[0, "크라미 첼", null, 0, null, 72, 42, 82, 0, 160, 300, null, null],
[0, "필 닐바렌", null, 0, null, 75, 32, 90, 0, 160, 300, null, null],
[0, "플럼스토커", null, 0, null, 78, 52, 89, 0, 160, 300, null, null],
[0, "테토", null, 0, null, 75, 39, 95, 0, 160, 300, null, null],
[0, "키리야마카즈오", null, 0, null, 92, 99, 97, 0, 160, 300, "패권", "위압", "앞이 나오면 너말대로 분교로가서 다죽이고 뒤가 나오면…. 이살인게임을 받아들이기로."],
[0, "스기무라히로키", null, 0, null, 85, 90, 50, 0, 160, 300, null, null, "코토히키…넌 내가 지킬거야…"],
[0, "미무라신지", null, 0, null, 89, 35, 93, 0, 160, 300, null, null],
[0, "카와다소교", null, 0, null, 72, 58, 85, 0, 160, 300, null, null, "이 게임은 아직 끝나지 않았어…"],
[0, "아마쿠사카나데", null, 0, null, 80, 20, 75, 0, 160, 300, null, null],
[0, "나레이션", null, 0, null, 50, 50, 50, 0, 160, 300, null, null, "에라베!"],
[0, "도라쿠우타케", null, 0, null, 79, 31, 85, 0, 160, 300, null, null],
[0, "아마가미소라", null, 0, null, 67, 17, 92, 0, 160, 300, null, null, "그에 대해선 잊어버려! 내꺼니까~♥"],
[0, "코우사카쿄우스케", null, 0, null, 70, 19, 30, 0, 160, 300, null, null],
[0, "코우사카키리노", null, 0, null, 60, 60, 19, 0, 160, 300, null, null, "나한테 우리오빠 뺏긴 기분이 어떄?"],
[0, "쿠로네코", null, 0, null, 81, 20, 72, 0, 160, 300, null, null],
[0, "사오리버지나", null, 0, null, 93, 37, 70, 0, 160, 300, null, null],
[0, "타무라마나미", null, 0, null, 82, 50, 80, 0, 160, 300, null, null, "남매끼리 연애? 말이된다고 생각해?"],
[0, "아라가키아야셰", null, 0, null, 75, 59, 77, 0, 160, 300, null, null],
[0, "보보보", null, 0, null, 67, 99, 50, 0, 160, 300, null, null, "코털진권 옥의!"],
[0, "젤라티노", null, 0, null, 60, 75, 60, 0, 160, 300, null, null],
[0, "돈벼락", null, 0, null, 64, 85, 49, 0, 160, 300, null, null],
[0, "뀌리", null, 0, null, 72, 78, 68, 0, 160, 300, null, null],
[0, "뷰티", null, 0, null, 77, 33, 90, 0, 160, 300, null, null],
[0, "카츠", null, 0, null, 62, 82, 50, 0, 160, 300, null, null],
[0, "노야마아즈사", null, 0, null, 82, 30, 72, 0, 160, 300, null, null],
[0, "강영웅", null, 0, null, 86, 39, 90, 0, 160, 300, null, null],
[0, "마츠오카유이치", null, 0, null, 84, 36, 72, 0, 160, 300, null, null],
[0, "타카야나기켄", null, 0, null, 82, 28, 80, 0, 160, 300, null, null],
[0, "니시노카오루", null, 0, null, 86, 34, 85, 0, 160, 300, null, null],
[0, "코다마미노리", null, 0, null, 75, 30, 82, 0, 160, 300, null, null],
[0, "사카키바라요코", null, 0, null, 85, 35, 77, 0, 160, 300, null, null],
[0, "혼다미카", null, 0, null, 83, 40, 80, 0, 160, 300, null, null],
[0, "미도리카와리에", null, 0, null, 87, 33, 82, 0, 160, 300, null, null],
[0, "소마미츠코", null, 0, null, 85, 75, 80, 0, 160, 300, null, null, "뭐. 나도 살려둘 마음은 없었으니까."],
[0, "코코", null, 0, null, 77, 19, 80, 0, 160, 300, null, null],
[0, "너츠", null, 0, null, 77, 32, 85, 0, 160, 300, null, null],
[0, "트리오더마이너", null, 0, null, 52, 84, 45, 0, 160, 300, null, null],
[0, "사소리나", null, 0, null, 77, 80, 40, 0, 160, 300, null, null],
[0, "킨토레스키", null, 0, null, 77, 100, 70, 0, 160, 300, null, null],
[0, "시비렛타", null, 0, null, 54, 76, 89, 0, 160, 300, null, null, "싫어…! 이렇게 죽고싶지 않단말이야…!"],
[0, "미즈시타타레", null, 0, null, 76, 80, 70, 0, 160, 300, null, null, "숙제를 잊지마라…!"],
[0, "고얀", null, 0, null, 52, 94, 70, 0, 160, 300, null, null],
[0, "레지나", null, 0, null, 85, 85, 85, 0, 160, 300, null, null],
[0, "킹지코츄", null, 0, null, 56, 90, 70, 0, 160, 300, null, null],
[0, "베르", null, 0, null, 43, 62, 90, 0, 160, 300, null, null],
[0, "이라", null, 0, null, 89, 81, 60, 0, 160, 300, null, null],
[0, "큐어피치", null, 0, null, 77, 88, 59, 0, 160, 300, null, null],
[0, "큐어베리", null, 0, null, 78, 80, 70, 0, 160, 300, null, null],
[0, "큐어파인", null, 0, null, 76, 82, 75, 0, 160, 300, null, null],
[0, "큐어패션", null, 0, null, 79, 84, 83, 0, 160, 300, null, null],
[0, "큐어해피", null, 0, null, 82, 82, 40, 0, 160, 300, null, null],
[0, "큐어피스", null, 0, null, 84, 78, 14, 0, 160, 300, null, null],
[0, "큐어써니", null, 0, null, 80, 80, 72, 0, 160, 300, null, null],
[0, "큐어마치", null, 0, null, 83, 82, 75, 0, 160, 300, null, null],
[0, "큐어뷰티", null, 0, null, 80, 76, 82, 0, 160, 300, null, null],
[0, "큐어휩", null, 0, null, 82, 78, 50, 0, 160, 300, null, null],
[0, "큐어커스터드", null, 0, null, 74, 65, 83, 0, 160, 300, null, null],
[0, "큐어젤라토", null, 0, null, 82, 78, 83, 0, 160, 300, null, null],
[0, "큐어마카롱", null, 0, null, 83, 76, 89, 0, 160, 300, null, null],
[0, "큐어파르페", null, 0, null, 81, 80, 80, 0, 160, 300, null, null],
[0, "큐어옐", null, 0, null, 85, 78, 74, 0, 160, 300, null, null],
[0, "큐어앙주", null, 0, null, 80, 74, 88, 0, 160, 300, null, null],
[0, "큐어에투알", null, 0, null, 84, 79, 83, 0, 160, 300, null, null],
[0, "큐어마셰리", null, 0, null, 82, 65, 82, 0, 160, 300, null, null],
[0, "유메노코토", null, 0, null, 81, 39, 80, 0, 160, 300, null, null, "혼노~ 스코시~ 이지와루나~ 뎅와노 키리카타오~ 시타노~ 다앗테 큐우니 신켄~나~오에데하나시 다스노~ 즈루이~ 스키타요토~ 이와세테아 게나이 다앗테 히카세테아게나이~"]
],
"general_ex":[
]
}
+590
View File
@@ -0,0 +1,590 @@
{
"title": "【가상모드16】 루드라사움",
"startYear": 180,
"history": [
"<C>●</>180년 1월:<L><b>【가상모드16】</> 루드라사움",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>제작자 : Cure.",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>도움을주신분 : 네이미님, 거북마루님",
"<C>●</>180년 1월:<L><b>【이벤트】</b></>루드라사움의 세계관을 불러옵니다."
],
"stat": {
"total": 240,
"min": 50,
"max": 100
},
"iconPath": "루드라사움",
"fiction": 0,
"nation":[
],
"diplomacy":[],
"general":[
[0, "3G", null, 0, null, 39, 67, 67, 0, 160, 300, null, null],
[0, "PG 7", "PG-7.png", 0, null, 82, 83, 60, 0, 160, 300, null, null],
[0, "PG 9", "PG-9.png", 0, null, 82, 60, 83, 0, 160, 300, null, null],
[0, "가넷", null, 0, null, 88, 56, 88, 0, 160, 300, null, null],
[0, "가라샤", null, 0, null, 70, 68, 47, 0, 160, 300, null, null],
[0, "가르티아", null, 0, null, 73, 101, 73, 0, 160, 300, null, null],
[0, "가무로아 마티오", "가무로아-마티오.png", 0, null, 60, 40, 60, 0, 160, 300, null, null],
[0, "가와노에 미네", "가와노에-미네.png", 0, null, 71, 71, 71, 0, 160, 300, null, null],
[0, "가와노에 유즈루", "가와노에-유즈루.png", 0, null, 76, 76, 61, 0, 160, 300, null, null],
[0, "가이야스 야스토", null, 0, null, 51, 60, 31, 0, 160, 300, null, null],
[0, "가이젤 고도", null, 0, null, 60, 40, 60, 0, 160, 300, null, null],
[0, "검호", null, 0, null, 74, 80, 59, 0, 160, 300, null, null],
[0, "겐리", null, 0, null, 77, 55, 72, 0, 160, 300, null, null],
[0, "겟코", null, 0, null, 80, 85, 58, 0, 160, 300, null, null],
[0, "고닌자 그린", "고닌자-그린.png", 0, null, 60, 20, 65, 0, 160, 300, null, null],
[0, "고닌자 레드", "고닌자-레드.png", 0, null, 75, 70, 10, 0, 160, 300, null, null],
[0, "고닌자 블랙", "고닌자-블랙.png", 0, null, 70, 65, 20, 0, 160, 300, null, null],
[0, "고닌자 블루", "고닌자-블루.png", 0, null, 65, 75, 15, 0, 160, 300, null, null],
[0, "고닌자 옐로", "고닌자-옐로.png", 0, null, 60, 15, 70, 0, 160, 300, null, null],
[0, "고에몬", null, 0, null, 55, 40, 50, 0, 160, 300, null, null],
[0, "고킨켄", null, 0, null, 70, 83, 44, 0, 160, 300, null, null],
[0, "고토", null, 0, null, 55, 40, 51, 0, 160, 300, null, null],
[0, "곤", null, 0, null, 76, 81, 59, 0, 160, 300, null, null],
[0, "곤도 이사미", null, 0, null, 42, 22, 60, 0, 160, 300, null, null],
[0, "그라크 알카포네", null, 0, null, 55, 40, 52, 0, 160, 300, null, null],
[0, "그린 오니", null, 0, null, 55, 40, 53, 0, 160, 300, null, null],
[0, "기가이", null, 0, null, 80, 99, 63, 0, 160, 300, null, null],
[0, "김치 드라이브", "김치-드라이브.png", 0, null, 34, 67, 68, 0, 160, 300, null, null],
[0, "나기 스 라갈", "나기-스-라갈.png", 0, null, 87, 54, 93, 0, 160, 300, null, null],
[0, "나오에 아이", "나오에-아이.png", 0, null, 92, 49, 72, 0, 160, 300, null, null],
[0, "나와토리", null, 0, null, 75, 75, 61, 0, 160, 300, null, null],
[0, "나토리", null, 0, null, 80, 58, 85, 0, 160, 300, null, null],
[0, "난죠 란", "난죠-란.png", 0, null, 83, 49, 72, 0, 160, 300, null, null],
[0, "네로차페트7세", null, 0, null, 76, 67, 34, 0, 160, 300, null, null],
[0, "네이 우롱", "네이-우롱.png", 0, null, 55, 40, 54, 0, 160, 300, null, null],
[0, "네카이 시스", "네카이-시스.png", 0, null, 78, 69, 38, 0, 160, 300, null, null],
[0, "넬슨 서버", "넬슨-서버.png", 0, null, 79, 60, 50, 0, 160, 300, null, null],
[0, "노기쿠", null, 0, null, 77, 63, 78, 0, 160, 300, null, null],
[0, "노벨", null, 0, null, 55, 40, 55, 0, 160, 300, null, null],
[0, "노스", null, 0, null, 92, 106, 50, 0, 160, 300, null, null],
[0, "노아 하코부네", "노아-하코부네.png", 0, null, 74, 46, 74, 0, 160, 300, null, null],
[0, "노에마세", null, 0, null, 55, 40, 56, 0, 160, 300, null, null],
[0, "누누하라 캐비지", "누누하라-캐비지.png", 0, null, 65, 59, 60, 0, 160, 300, null, null],
[0, "느와르", null, 0, null, 77, 78, 63, 0, 160, 300, null, null],
[0, "니나", null, 0, null, 55, 40, 57, 0, 160, 300, null, null],
[0, "니들", null, 0, null, 76, 76, 54, 0, 160, 300, null, null],
[0, "니코페리", null, 0, null, 87, 52, 97, 0, 160, 300, null, null],
[0, "닛코", null, 0, null, 55, 90, 90, 0, 160, 300, null, null],
[0, "다 게일", "다-게일.png", 0, null, 64, 70, 70, 0, 160, 300, null, null],
[0, "다니엘 세프티", "다니엘-세프티.png", 0, null, 55, 40, 58, 0, 160, 300, null, null],
[0, "다마네기", null, 0, null, 55, 40, 59, 0, 160, 300, null, null],
[0, "다이몬 지타로", null, 0, null, 55, 50, 40, 0, 160, 300, null, null],
[0, "다크란스", null, 0, null, 75, 100, 67, 0, 160, 300, null, null],
[0, "닷지 에반스", null, 0, null, 47, 60, 27, 0, 160, 300, null, null],
[0, "덴저러스 브라보", null, 0, null, 55, 51, 40, 0, 160, 300, null, null],
[0, "덴즈 브라우", null, 0, null, 55, 52, 40, 0, 160, 300, null, null],
[0, "도르한 크리케트", "도르한-크리케트.png", 0, null, 67, 58, 69, 0, 160, 300, null, null],
[0, "도시바", null, 0, null, 89, 32, 59, 0, 160, 300, null, null],
[0, "도코모", null, 0, null, 48, 60, 28, 0, 160, 300, null, null],
[0, "도하라스 해피네스", null, 0, null, 55, 53, 40, 0, 160, 300, null, null],
[0, "돈 도에스스키", "돈-도에스스키.png", 0, null, 55, 54, 40, 0, 160, 300, null, null],
[0, "듀란", null, 0, null, 67, 67, 39, 0, 160, 300, null, null],
[0, "라 사이젤", "라-사이젤.png", 0, null, 84, 103, 59, 0, 160, 300, null, null],
[0, "라 하우젤", "라-하우젤.png", 0, null, 84, 103, 59, 0, 160, 300, null, null],
[0, "라기시스", null, 0, null, 61, 70, 92, 0, 160, 300, null, null],
[0, "라돈 알폰느", "라돈-알폰느.png", 0, null, 55, 55, 40, 0, 160, 300, null, null],
[0, "라르가", null, 0, null, 69, 56, 69, 0, 160, 300, null, null],
[0, "라벤더", null, 0, null, 55, 56, 40, 0, 160, 300, null, null],
[0, "라우네아", null, 0, null, 78, 89, 61, 0, 160, 300, null, null],
[0, "라인코크", null, 0, null, 82, 61, 91, 0, 160, 300, null, null],
[0, "라인하르트", null, 0, null, 63, 75, 43, 0, 160, 300, null, null],
[0, "라쳇 랜천", null, 0, null, 55, 57, 40, 0, 160, 300, null, null],
[0, "라크 파이크스피크", null, 0, null, 55, 58, 40, 0, 160, 300, null, null],
[0, "라파리아 무스카", null, 0, null, 55, 59, 50, 0, 160, 300, null, null],
[0, "란마루", null, 0, null, 73, 74, 59, 0, 160, 300, null, null],
[0, "란스", null, 0, null, 89, 105, 51, 0, 160, 300, null, null],
[0, "래시", null, 0, null, 75, 83, 19, 0, 160, 300, null, null],
[0, "레드 오니", null, 0, null, 60, 40, 50, 0, 160, 300, null, null],
[0, "레드아이", null, 0, null, 81, 84, 84, 0, 160, 300, null, null],
[0, "레류코프 바코프", "레류코프-바코프.png", 0, null, 79, 80, 59, 0, 160, 300, null, null],
[0, "레리 세리카", null, 0, null, 60, 40, 51, 0, 160, 300, null, null],
[0, "레베카 코프리", "레베카-코프리.png", 0, null, 66, 49, 64, 0, 160, 300, null, null],
[0, "레이", null, 0, null, 85, 109, 53, 0, 160, 300, null, null],
[0, "레이라 글레크니", "레이라-글레크니.png", 0, null, 73, 80, 54, 0, 160, 300, null, null],
[0, "레이콕", null, 0, null, 75, 66, 50, 0, 160, 300, null, null],
[0, "레자리안", null, 0, null, 60, 40, 52, 0, 160, 300, null, null],
[0, "렉싱턴", null, 0, null, 87, 97, 60, 0, 160, 300, null, null],
[0, "렌고쿠", null, 0, null, 87, 84, 57, 0, 160, 300, null, null],
[0, "로나 케스치나", "로나-케스치나.png", 0, null, 51, 55, 55, 0, 160, 300, null, null],
[0, "로도네 로도네", "로도네-로도네.png", 0, null, 59, 67, 67, 0, 160, 300, null, null],
[0, "로라 인더스", "로라-인더스.png", 0, null, 60, 40, 53, 0, 160, 300, null, null],
[0, "로레 엔론", "로레-엔론.png", 0, null, 55, 40, 65, 0, 160, 300, null, null],
[0, "로렉스 가드라스", "로렉스-가드라스.png", 0, null, 85, 90, 55, 0, 160, 300, null, null],
[0, "로버트 랜드스타", "로버트-랜드스타.png", 0, null, 60, 40, 54, 0, 160, 300, null, null],
[0, "로제 카드", "로제-카드.png", 0, null, 69, 60, 49, 0, 160, 300, null, null],
[0, "로즈", null, 0, null, 60, 40, 55, 0, 160, 300, null, null],
[0, "로키 뱅크", "로키-뱅크.png", 0, null, 60, 40, 56, 0, 160, 300, null, null],
[0, "루리카 카라", "루리카-카라.png", 0, null, 69, 48, 70, 0, 160, 300, null, null],
[0, "루베란 체르", "루베란-체르.png", 0, null, 60, 40, 57, 0, 160, 300, null, null],
[0, "루시 줄리에타", "루시-줄리에타.png", 0, null, 35, 65, 65, 0, 160, 300, null, null],
[0, "루이스 키토와크", null, 0, null, 60, 40, 58, 0, 160, 300, null, null],
[0, "루트 아리", "루트-아리.png", 0, null, 39, 67, 67, 0, 160, 300, null, null],
[0, "르메이", null, 0, null, 89, 95, 54, 0, 160, 300, null, null],
[0, "리림", null, 0, null, 76, 71, 71, 0, 160, 300, null, null],
[0, "리세트 카라", "리세트-카라.png", 0, null, 64, 53, 72, 0, 160, 300, null, null],
[0, "리아P리자스", null, 0, null, 97, 34, 44, 0, 160, 300, null, null],
[0, "리즈나 란프비트", "리즈나-란프비트.png", 0, null, 80, 53, 95, 0, 160, 300, null, null],
[0, "릭 아디슨", "릭-아디슨.png", 0, null, 83, 96, 62, 0, 160, 300, null, null],
[0, "마도", null, 0, null, 82, 87, 58, 0, 160, 300, null, null],
[0, "마르티나 카레", "마르티나-카레.png", 0, null, 72, 45, 56, 0, 160, 300, null, null],
[0, "마리스", null, 0, null, 79, 58, 86, 0, 160, 300, null, null],
[0, "마리시텐", null, 0, null, 60, 50, 40, 0, 160, 300, null, null],
[0, "마리아 카스타드", "마리아-카스타드.png", 0, null, 73, 58, 73, 0, 160, 300, null, null],
[0, "마사무네", null, 0, null, 92, 95, 54, 0, 160, 300, null, null],
[0, "마사토 이주인", null, 0, null, 60, 51, 40, 0, 160, 300, null, null],
[0, "마소우 시즈카", "마소우-시즈카.png", 0, null, 87, 54, 93, 0, 160, 300, null, null],
[0, "마스조웨", null, 0, null, 87, 97, 60, 0, 160, 300, null, null],
[0, "마시 줄리에타", "마시-줄리에타.png", 0, null, 35, 65, 65, 0, 160, 300, null, null],
[0, "마에다 케이지", "마에다-케이지.png", 0, null, 71, 63, 69, 0, 160, 300, null, null],
[0, "마에다 토시이에", "마에다-토시이에.png", 0, null, 73, 53, 67, 0, 160, 300, null, null],
[0, "마키바노 메구", "마키바노-메구.png", 0, null, 60, 52, 40, 0, 160, 300, null, null],
[0, "마키바노 앤트", "마키바노-앤트.png", 0, null, 60, 53, 40, 0, 160, 300, null, null],
[0, "마틸다 마테우리", "마틸다-마테우리.png", 0, null, 71, 83, 61, 0, 160, 300, null, null],
[0, "마하 마가렛", "마하-마가렛.png", 0, null, 70, 50, 83, 0, 160, 300, null, null],
[0, "마호코P마사이", null, 0, null, 71, 56, 70, 0, 160, 300, null, null],
[0, "만마루", null, 0, null, 60, 54, 40, 0, 160, 300, null, null],
[0, "매직 더 간지", "매직-더-간지.png", 0, null, 96, 41, 94, 0, 160, 300, null, null],
[0, "머슬", null, 0, null, 70, 82, 60, 0, 160, 300, null, null],
[0, "메가데스 모로미", "메가데스-모로미.png", 0, null, 62, 46, 68, 0, 160, 300, null, null],
[0, "메가스", null, 0, null, 70, 75, 57, 0, 160, 300, null, null],
[0, "메가와스", null, 0, null, 70, 75, 57, 0, 160, 300, null, null],
[0, "메가포스", null, 0, null, 70, 75, 57, 0, 160, 300, null, null],
[0, "메나드 시세이", "메나드-시세이.png", 0, null, 71, 70, 56, 0, 160, 300, null, null],
[0, "메디우사", null, 0, null, 72, 100, 75, 0, 160, 300, null, null],
[0, "메르시 아처", "메르시-아처.png", 0, null, 38, 69, 58, 0, 160, 300, null, null],
[0, "메리 앤", "메리-앤.png", 0, null, 60, 55, 40, 0, 160, 300, null, null],
[0, "메림 체르", "메림-체르.png", 0, null, 54, 64, 56, 0, 160, 300, null, null],
[0, "메이", null, 0, null, 60, 56, 40, 0, 160, 300, null, null],
[0, "멜페이스", null, 0, null, 73, 61, 81, 0, 160, 300, null, null],
[0, "모던 카라", "모던-카라.png", 0, null, 90, 48, 100, 0, 160, 300, null, null],
[0, "모리 모토나리", "모리-모토나리.png", 0, null, 87, 93, 56, 0, 160, 300, null, null],
[0, "모리 테루", "모리-테루.png", 0, null, 82, 88, 60, 0, 160, 300, null, null],
[0, "모스크바 동장군", "모스크바-동장군.png", 0, null, 90, 73, 73, 0, 160, 300, null, null],
[0, "모즈나", null, 0, null, 60, 57, 40, 0, 160, 300, null, null],
[0, "모코모코", null, 0, null, 60, 58, 41, 0, 160, 300, null, null],
[0, "무라라", null, 0, null, 65, 72, 44, 0, 160, 300, null, null],
[0, "미 로드링", "미-로드링.png", 0, null, 78, 41, 79, 0, 160, 300, null, null],
[0, "미네바 마가렛", "미네바-마가렛.png", 0, null, 84, 93, 63, 0, 160, 300, null, null],
[0, "미라클 토우", "미라클-토우.png", 0, null, 64, 73, 103, 0, 160, 300, null, null],
[0, "미르 요크스", "미르-요크스.png", 0, null, 67, 71, 49, 0, 160, 300, null, null],
[0, "미리 요크스", "미리-요크스.png", 0, null, 68, 76, 54, 0, 160, 300, null, null],
[0, "미스테리아 토우", "미스테리아-토우.png", 0, null, 81, 63, 93, 0, 160, 300, null, null],
[0, "미쓰비시", null, 0, null, 91, 60, 55, 0, 160, 300, null, null],
[0, "미쓰이", null, 0, null, 89, 60, 31, 0, 160, 300, null, null],
[0, "미캉", null, 0, null, 56, 52, 64, 0, 160, 300, null, null],
[0, "미킬 데파 라질", "미킬-데파-라질.png", 0, null, 60, 58, 40, 0, 160, 300, null, null],
[0, "밀리 링클", "밀리-링클.png", 0, null, 54, 62, 56, 0, 160, 300, null, null],
[0, "바레스 프로반스", "바레스-프로반스.png", 0, null, 82, 81, 53, 0, 160, 300, null, null],
[0, "바바 쇼우엔", "바바-쇼우엔.png", 0, null, 82, 79, 59, 0, 160, 300, null, null],
[0, "바바라", null, 0, null, 82, 58, 87, 0, 160, 300, null, null],
[0, "바보라", null, 0, null, 76, 99, 70, 0, 160, 300, null, null],
[0, "바쇼 마티오", "바쇼-마티오.png", 0, null, 60, 59, 50, 0, 160, 300, null, null],
[0, "바운드 레스", null, 0, null, 50, 50, 50, 0, 160, 300, null, null],
[0, "반 데로스", null, 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "배팅 센터즈", "배팅-센터즈.png", 0, null, 78, 59, 81, 0, 160, 300, null, null],
[0, "버나드 세라미테", "버나드-세라미테.png", 0, null, 66, 65, 65, 0, 160, 300, null, null],
[0, "버드 리스피", "버드-리스피.png", 0, null, 61, 62, 58, 0, 160, 300, null, null],
[0, "베제르아이", null, 0, null, 87, 93, 55, 0, 160, 300, null, null],
[0, "베키", null, 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "벨", null, 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "보두", null, 0, null, 67, 67, 50, 0, 160, 300, null, null],
[0, "보브자 프란다스", null, 0, null, 42, 60, 22, 0, 160, 300, null, null],
[0, "복수짱", null, 0, null, 70, 80, 56, 0, 160, 300, null, null],
[0, "브란브라", null, 0, null, 74, 65, 52, 0, 160, 300, null, null],
[0, "브리티쉬", null, 0, null, 79, 93, 65, 0, 160, 300, null, null],
[0, "블랙 로터스", "블랙-로터스.png", 0, null, 33, 55, 72, 0, 160, 300, null, null],
[0, "블레이저", null, 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "블루 오니", null, 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "비비드 카라", "비비드-카라.png", 0, null, 92, 47, 100, 0, 160, 300, null, null],
[0, "비스케타 벨룬즈", "비스케타-벨룬즈.png", 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "비욘호우 오스만", "비욘호우-오스만.png", 0, null, 35, 69, 65, 0, 160, 300, null, null],
[0, "빈탄 데스트라", null, 0, null, 41, 60, 21, 0, 160, 300, null, null],
[0, "빗치 고르치", null, 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "사나다 토우린", "사나다-토우린.png", 0, null, 94, 47, 82, 0, 160, 300, null, null],
[0, "사나키아", null, 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "사메잔", null, 0, null, 82, 56, 89, 0, 160, 300, null, null],
[0, "사야 프라이디", "사야-프라이디.png", 0, null, 39, 67, 67, 0, 160, 300, null, null],
[0, "사유", null, 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "사이아스 크라운", "사이아스-크라운.png", 0, null, 81, 54, 80, 0, 160, 300, null, null],
[0, "사치코 센터즈", "사치코-센터즈.png", 0, null, 74, 74, 64, 0, 160, 300, null, null],
[0, "사카나쿠 텐카", null, 0, null, 48, 28, 60, 0, 160, 300, null, null],
[0, "사카모토 료마", "사카모토-료마.png", 0, null, 81, 80, 54, 0, 160, 300, null, null],
[0, "사카이 타다츠구", "사카이-타다츠구.png", 0, null, 72, 68, 53, 0, 160, 300, null, null],
[0, "사카키바라", null, 0, null, 72, 53, 68, 0, 160, 300, null, null],
[0, "사쿠라 카라", "사쿠라-카라.png", 0, null, 76, 73, 73, 0, 160, 300, null, null],
[0, "사테라", null, 0, null, 82, 81, 81, 0, 160, 300, null, null],
[0, "사파이어", null, 0, null, 88, 88, 56, 0, 160, 300, null, null],
[0, "산카쿠", null, 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "삼손 막시모프", "삼손-막시모프.png", 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "샤론", null, 0, null, 77, 75, 75, 0, 160, 300, null, null],
[0, "샤리에라", null, 0, null, 37, 58, 70, 0, 160, 300, null, null],
[0, "세라크로라스", null, 0, null, 80, 4, 80, 0, 160, 300, null, null],
[0, "세스나 벤빌", "세스나-벤빌.png", 0, null, 64, 70, 54, 0, 160, 300, null, null],
[0, "세실 카나", "세실-카나.png", 0, null, 79, 80, 57, 0, 160, 300, null, null],
[0, "세이간", null, 0, null, 83, 48, 77, 0, 160, 300, null, null],
[0, "세이조 모치키요", null, 0, null, 47, 27, 60, 0, 160, 300, null, null],
[0, "세일러", null, 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "세키토리", null, 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "세티나 파보", "세티나-파보.png", 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "세피아 랜드스타", "세피아-랜드스타.png", 0, null, 20, 49, 66, 0, 160, 300, null, null],
[0, "셀 카치골프", "셀-카치골프.png", 0, null, 44, 20, 60, 0, 160, 300, null, null],
[0, "소르니아 벤츠", "소르니아-벤츠.png", 0, null, 43, 21, 60, 0, 160, 300, null, null],
[0, "소울 레스", null, 0, null, 42, 22, 60, 0, 160, 300, null, null],
[0, "소환짱", null, 0, null, 41, 23, 61, 0, 160, 300, null, null],
[0, "솔트안", null, 0, null, 69, 64, 68, 0, 160, 300, null, null],
[0, "슈퍼 간지", "슈퍼-간지.png", 0, null, 98, 41, 99, 0, 160, 300, null, null],
[0, "스 프로반스", "스-프로반스.png", 0, null, 72, 56, 69, 0, 160, 300, null, null],
[0, "스바 고야", null, 0, null, 51, 31, 60, 0, 160, 300, null, null],
[0, "스즈메", null, 0, null, 75, 85, 75, 0, 160, 300, null, null],
[0, "스즈야 무쌍", "스즈야-무쌍.png", 0, null, 56, 79, 79, 0, 160, 300, null, null],
[0, "스즈키", null, 0, null, 40, 24, 61, 0, 160, 300, null, null],
[0, "스테셀 로마노프", "스테셀-로마노프.png", 0, null, 38, 63, 67, 0, 160, 300, null, null],
[0, "스트로가노프", null, 0, null, 33, 82, 45, 0, 160, 300, null, null],
[0, "스티브 올란다", null, 0, null, 50, 30, 60, 0, 160, 300, null, null],
[0, "스파르탄", null, 0, null, 39, 25, 61, 0, 160, 300, null, null],
[0, "시게히코", null, 0, null, 80, 75, 30, 0, 160, 300, null, null],
[0, "시노다 겐고로", "시노다-겐고로.png", 0, null, 83, 56, 88, 0, 160, 300, null, null],
[0, "시노부", null, 0, null, 53, 74, 74, 0, 160, 300, null, null],
[0, "시라 헬만", "시라-헬만.png", 0, null, 99, 47, 83, 0, 160, 300, null, null],
[0, "시르바렐", null, 0, null, 38, 26, 62, 0, 160, 300, null, null],
[0, "시마즈 요시히사", "시마즈-요시히사.png", 0, null, 91, 83, 48, 0, 160, 300, null, null],
[0, "시마즈 이에히사", "시마즈-이에히사.png", 0, null, 87, 74, 61, 0, 160, 300, null, null],
[0, "시마즈 카즈히사", "시마즈-카즈히사.png", 0, null, 85, 81, 56, 0, 160, 300, null, null],
[0, "시마즈 토시히사", "시마즈-토시히사.png", 0, null, 91, 48, 83, 0, 160, 300, null, null],
[0, "시바타 가츠이에", "시바타-가츠이에.png", 0, null, 80, 76, 45, 0, 160, 300, null, null],
[0, "시저", null, 0, null, 81, 98, 63, 0, 160, 300, null, null],
[0, "시치세이", null, 0, null, 80, 62, 84, 0, 160, 300, null, null],
[0, "시카쿠", null, 0, null, 37, 27, 62, 0, 160, 300, null, null],
[0, "시키부", null, 0, null, 85, 86, 58, 0, 160, 300, null, null],
[0, "시타크 루소", null, 0, null, 49, 29, 60, 0, 160, 300, null, null],
[0, "신시아", null, 0, null, 43, 28, 62, 0, 160, 300, null, null],
[0, "실 플라인", "실-플라인.png", 0, null, 75, 63, 101, 0, 160, 300, null, null],
[0, "실키 리틀레즌", "실키-리틀레즌.png", 0, null, 87, 108, 53, 0, 160, 300, null, null],
[0, "실피드", null, 0, null, 42, 29, 63, 0, 160, 300, null, null],
[0, "아길레다", null, 0, null, 77, 81, 50, 0, 160, 300, null, null],
[0, "아나셀 카스포라", "아나셀-카스포라.png", 0, null, 33, 66, 67, 0, 160, 300, null, null],
[0, "아니", null, 0, null, 41, 30, 63, 0, 160, 300, null, null],
[0, "아니스 사와타리", "아니스-사와타리.png", 0, null, 78, 61, 106, 0, 160, 300, null, null],
[0, "아레프갈드", null, 0, null, 81, 64, 95, 0, 160, 300, null, null],
[0, "아르카리아", null, 0, null, 73, 72, 72, 0, 160, 300, null, null],
[0, "아리스토레스 캄", "아리스토레스-캄.png", 0, null, 81, 73, 53, 0, 160, 300, null, null],
[0, "아리시아", null, 0, null, 40, 31, 63, 0, 160, 300, null, null],
[0, "아리오스 테오만", "아리오스-테오만.png", 0, null, 88, 104, 51, 0, 160, 300, null, null],
[0, "아마즈사", null, 0, null, 39, 32, 64, 0, 160, 300, null, null],
[0, "아미란 바코프", "아미란-바코프.png", 0, null, 38, 33, 64, 0, 160, 300, null, null],
[0, "아미토스", null, 0, null, 89, 70, 55, 0, 160, 300, null, null],
[0, "아바토르 스캇트", null, 0, null, 40, 60, 20, 0, 160, 300, null, null],
[0, "아베 헤이조", null, 0, null, 37, 34, 64, 0, 160, 300, null, null],
[0, "아벨트 세프티", "아벨트-세프티.png", 0, null, 79, 98, 68, 0, 160, 300, null, null],
[0, "아부라코 도우산", "아부라코-도우산.png", 0, null, 73, 71, 48, 0, 160, 300, null, null],
[0, "아사히나 하쿠만", null, 0, null, 54, 20, 40, 0, 160, 300, null, null],
[0, "아스베스트", null, 0, null, 70, 70, 52, 0, 160, 300, null, null],
[0, "아스카 카드뮴", "아스카-카드뮴.png", 0, null, 60, 50, 54, 0, 160, 300, null, null],
[0, "아시 줄리에타", "아시-줄리에타.png", 0, null, 38, 66, 60, 0, 160, 300, null, null],
[0, "아시카가 쵸신", "아시카가-쵸신.png", 0, null, 66, 44, 50, 0, 160, 300, null, null],
[0, "아야 후지노미야", "아야-후지노미야.png", 0, null, 53, 20, 41, 0, 160, 300, null, null],
[0, "아오이", null, 0, null, 50, 62, 48, 0, 160, 300, null, null],
[0, "아이 컴", "아이-컴.png", 0, null, 39, 61, 60, 0, 160, 300, null, null],
[0, "아이작", null, 0, null, 52, 60, 32, 0, 160, 300, null, null],
[0, "아이젤", null, 0, null, 81, 59, 107, 0, 160, 300, null, null],
[0, "아치볼트", null, 0, null, 52, 20, 42, 0, 160, 300, null, null],
[0, "아카시 카제마루", "아카시-카제마루.png", 0, null, 80, 68, 37, 0, 160, 300, null, null],
[0, "아카시로 카라", "아카시로-카라.png", 0, null, 70, 52, 70, 0, 160, 300, null, null],
[0, "아케치 미츠히데", "아케치-미츠히데.png", 0, null, 76, 41, 67, 0, 160, 300, null, null],
[0, "아키 델", "아키-델.png", 0, null, 51, 20, 43, 0, 160, 300, null, null],
[0, "아키히메", null, 0, null, 38, 66, 60, 0, 160, 300, null, null],
[0, "아타고 마카트", "아타고-마카트.png", 0, null, 50, 20, 44, 0, 160, 300, null, null],
[0, "아테나1호", null, 0, null, 49, 20, 45, 0, 160, 300, null, null],
[0, "아테나2호", null, 0, null, 74, 70, 70, 0, 160, 300, null, null],
[0, "아텐 누", "아텐-누.png", 0, null, 64, 55, 82, 0, 160, 300, null, null],
[0, "아틀란타", null, 0, null, 85, 90, 58, 0, 160, 300, null, null],
[0, "아파치", null, 0, null, 73, 78, 57, 0, 160, 300, null, null],
[0, "알렉산더", null, 0, null, 73, 67, 55, 0, 160, 300, null, null],
[0, "알렉스 발스", "알렉스-발스.png", 0, null, 86, 45, 90, 0, 160, 300, null, null],
[0, "알카네제 라이즈", "알카네제-라이즈.png", 0, null, 79, 86, 56, 0, 160, 300, null, null],
[0, "알코트 마리우스", "알코트-마리우스.png", 0, null, 90, 46, 89, 0, 160, 300, null, null],
[0, "알토 한브라", null, 0, null, 48, 20, 46, 0, 160, 300, null, null],
[0, "암 이스엘", "암-이스엘.png", 0, null, 77, 61, 105, 0, 160, 300, null, null],
[0, "암즈 아크", "암즈-아크.png", 0, null, 77, 94, 64, 0, 160, 300, null, null],
[0, "야마가타", null, 0, null, 82, 61, 77, 0, 160, 300, null, null],
[0, "야마나카 코지카", "야마나카-코지카.png", 0, null, 79, 35, 73, 0, 160, 300, null, null],
[0, "야마다", null, 0, null, 47, 20, 47, 0, 160, 300, null, null],
[0, "야마다 치즈코", "야마다-치즈코.png", 0, null, 85, 42, 85, 0, 160, 300, null, null],
[0, "야마모토 란기", "야마모토-란기.png", 0, null, 76, 76, 59, 0, 160, 300, null, null],
[0, "에구치", null, 0, null, 46, 20, 48, 0, 160, 300, null, null],
[0, "에로피챠 냥코", "에로피챠-냥코.png", 0, null, 45, 20, 49, 0, 160, 300, null, null],
[0, "에르무 트라이", "에르무-트라이.png", 0, null, 44, 20, 50, 0, 160, 300, null, null],
[0, "에르시르", null, 0, null, 78, 74, 74, 0, 160, 300, null, null],
[0, "에리느 해피네스", null, 0, null, 43, 20, 51, 0, 160, 300, null, null],
[0, "에미 알폰느", "에미-알폰느.png", 0, null, 73, 61, 52, 0, 160, 300, null, null],
[0, "엑스 반케트", "엑스-반케트.png", 0, null, 90, 79, 52, 0, 160, 300, null, null],
[0, "엘레나 엘알", "엘레나-엘알.png", 0, null, 42, 20, 52, 0, 160, 300, null, null],
[0, "엘레나 플라워", "엘레나-플라워.png", 0, null, 55, 78, 30, 0, 160, 300, null, null],
[0, "엘레노아 란", "엘레노아-란.png", 0, null, 74, 50, 76, 0, 160, 300, null, null],
[0, "엘리자베스 데스", "엘리자베스-데스.png", 0, null, 38, 64, 66, 0, 160, 300, null, null],
[0, "엣찌", null, 0, null, 49, 60, 29, 0, 160, 300, null, null],
[0, "예리코 코론", "예리코-코론.png", 0, null, 41, 20, 53, 0, 160, 300, null, null],
[0, "오가와 켄타로", "오가와-켄타로.png", 0, null, 84, 96, 63, 0, 160, 300, null, null],
[0, "오기르 롯 스테인", null, 0, null, 40, 20, 54, 0, 160, 300, null, null],
[0, "오노하 메스포스", "오노하-메스포스.png", 0, null, 39, 60, 64, 0, 160, 300, null, null],
[0, "오다 노부나가", "오다-노부나가.png", 0, null, 81, 97, 67, 0, 160, 300, null, null],
[0, "오다 코우", "오다-코우.png", 0, null, 91, 56, 44, 0, 160, 300, null, null],
[0, "오로 마티오", "오로-마티오.png", 0, null, 69, 55, 15, 0, 160, 300, null, null],
[0, "오로라", null, 0, null, 78, 78, 61, 0, 160, 300, null, null],
[0, "오리메", null, 0, null, 76, 63, 78, 0, 160, 300, null, null],
[0, "오마치", null, 0, null, 85, 55, 102, 0, 160, 300, null, null],
[0, "오아마 모토히데", null, 0, null, 67, 77, 38, 0, 160, 300, null, null],
[0, "오즈 토터스", "오즈-토터스.png", 0, null, 83, 31, 66, 0, 160, 300, null, null],
[0, "오키타 노조미", "오키타-노조미.png", 0, null, 65, 96, 76, 0, 160, 300, null, null],
[0, "오토히메", null, 0, null, 68, 56, 15, 0, 160, 300, null, null],
[0, "올오레 더 서드", "올오레-더-서드.png", 0, null, 54, 76, 76, 0, 160, 300, null, null],
[0, "와그 아카", "와그-아카.png", 0, null, 93, 50, 99, 0, 160, 300, null, null],
[0, "와요소 벤빌", "와요소-벤빌.png", 0, null, 67, 57, 15, 0, 160, 300, null, null],
[0, "요라", null, 0, null, 66, 58, 15, 0, 160, 300, null, null],
[0, "요시모토", null, 0, null, 55, 69, 15, 0, 160, 300, null, null],
[0, "요시카게", null, 0, null, 82, 33, 61, 0, 160, 300, null, null],
[0, "요시카와 마치코", "요시카와-마치코.png", 0, null, 58, 66, 50, 0, 160, 300, null, null],
[0, "요시카와 쿄코", "요시카와-쿄코.png", 0, null, 58, 50, 66, 0, 160, 300, null, null],
[0, "욧짱", null, 0, null, 65, 59, 15, 0, 160, 300, null, null],
[0, "우", null, 0, null, 64, 60, 15, 0, 160, 300, null, null],
[0, "우라질", null, 0, null, 63, 61, 15, 0, 160, 300, null, null],
[0, "우르자", null, 0, null, 97, 44, 98, 0, 160, 300, null, null],
[0, "우스피라 신토", "우스피라-신토.png", 0, null, 79, 51, 84, 0, 160, 300, null, null],
[0, "우에스기 겐세이", "우에스기-겐세이.png", 0, null, 74, 59, 39, 0, 160, 300, null, null],
[0, "우에스기 겐신", "우에스기-겐신.png", 0, null, 92, 97, 52, 0, 160, 300, null, null],
[0, "우에스기 카츠코", "우에스기-카츠코.png", 0, null, 76, 71, 53, 0, 160, 300, null, null],
[0, "우에스기 토라코", "우에스기-토라코.png", 0, null, 76, 53, 71, 0, 160, 300, null, null],
[0, "운가 사요리", null, 0, null, 62, 62, 15, 0, 160, 300, null, null],
[0, "웬디 크루미라", "웬디-크루미라.png", 0, null, 61, 63, 15, 0, 160, 300, null, null],
[0, "웬리나", null, 0, null, 80, 3, 80, 0, 160, 300, null, null],
[0, "위리스 후지사키", "위리스-후지사키.png", 0, null, 56, 64, 56, 0, 160, 300, null, null],
[0, "위치타 스케트", "위치타-스케트.png", 0, null, 72, 76, 59, 0, 160, 300, null, null],
[0, "유니콘", null, 0, null, 68, 76, 67, 0, 160, 300, null, null],
[0, "유란 미라쥬", "유란-미라쥬.png", 0, null, 71, 75, 45, 0, 160, 300, null, null],
[0, "유우게", null, 0, null, 75, 75, 61, 0, 160, 300, null, null],
[0, "유즈 필라리아", "유즈-필라리아.png", 0, null, 60, 64, 15, 0, 160, 300, null, null],
[0, "유즈하라 유즈미", "유즈하라-유즈미.png", 0, null, 72, 88, 54, 0, 160, 300, null, null],
[0, "유키", null, 0, null, 72, 77, 77, 0, 160, 300, null, null],
[0, "유키 델", "유키-델.png", 0, null, 59, 65, 15, 0, 160, 300, null, null],
[0, "유키히메", null, 0, null, 58, 66, 15, 0, 160, 300, null, null],
[0, "유틴 프루스", "유틴-프루스.png", 0, null, 57, 67, 15, 0, 160, 300, null, null],
[0, "이누카이", null, 0, null, 72, 72, 72, 0, 160, 300, null, null],
[0, "이마가와 앙코", "이마가와-앙코.png", 0, null, 56, 68, 15, 0, 160, 300, null, null],
[0, "이베트 체리아", "이베트-체리아.png", 0, null, 68, 77, 46, 0, 160, 300, null, null],
[0, "이소로쿠", null, 0, null, 78, 77, 57, 0, 160, 300, null, null],
[0, "이시스", null, 0, null, 84, 88, 60, 0, 160, 300, null, null],
[0, "이시지지", null, 0, null, 60, 40, 49, 0, 160, 300, null, null],
[0, "이안", null, 0, null, 59, 48, 64, 0, 160, 300, null, null],
[0, "이에야스", null, 0, null, 81, 85, 53, 0, 160, 300, null, null],
[0, "이오 이슈타르", "이오-이슈타르.png", 0, null, 83, 38, 74, 0, 160, 300, null, null],
[0, "이오시프", null, 0, null, 95, 54, 89, 0, 160, 300, null, null],
[0, "이이 나오마사", "이이-나오마사.png", 0, null, 72, 72, 56, 0, 160, 300, null, null],
[0, "이지스 카라", "이지스-카라.png", 0, null, 86, 87, 59, 0, 160, 300, null, null],
[0, "이쿠노", null, 0, null, 75, 75, 61, 0, 160, 300, null, null],
[0, "잇큐", null, 0, null, 39, 66, 55, 0, 160, 300, null, null],
[0, "자락", null, 0, null, 52, 32, 60, 0, 160, 300, null, null],
[0, "자비에르", null, 0, null, 81, 97, 67, 0, 160, 300, null, null],
[0, "잔 사비스", "잔-사비스.png", 0, null, 77, 67, 38, 0, 160, 300, null, null],
[0, "쟈로 쟈스락", null, 0, null, 40, 20, 60, 0, 160, 300, null, null],
[0, "쟈하룻카스", null, 0, null, 81, 94, 64, 0, 160, 300, null, null],
[0, "점퍼", null, 0, null, 60, 41, 48, 0, 160, 300, null, null],
[0, "제리피 고라", "제리피-고라.png", 0, null, 60, 42, 47, 0, 160, 300, null, null],
[0, "조후카", null, 0, null, 60, 43, 46, 0, 160, 300, null, null],
[0, "죠니", null, 0, null, 56, 55, 64, 0, 160, 300, null, null],
[0, "죠셉", null, 0, null, 60, 44, 45, 0, 160, 300, null, null],
[0, "주노", null, 0, null, 85, 58, 90, 0, 160, 300, null, null],
[0, "줄리아 린담", "줄리아-린담.png", 0, null, 39, 66, 63, 0, 160, 300, null, null],
[0, "줄키 크라운", "줄키-크라운.png", 0, null, 67, 63, 41, 0, 160, 300, null, null],
[0, "지마 바카스코", "지마-바카스코.png", 0, null, 73, 75, 57, 0, 160, 300, null, null],
[0, "지블 마크토미", null, 0, null, 41, 21, 60, 0, 160, 300, null, null],
[0, "지크", null, 0, null, 82, 63, 97, 0, 160, 300, null, null],
[0, "쩌둥", null, 0, null, 95, 89, 54, 0, 160, 300, null, null],
[0, "챠카 카드뮴", "챠카-카드뮴.png", 0, null, 77, 49, 90, 0, 160, 300, null, null],
[0, "체네자리 드라갈", "체네자리-드라갈.png", 0, null, 75, 55, 81, 0, 160, 300, null, null],
[0, "초르초토브", null, 0, null, 44, 60, 24, 0, 160, 300, null, null],
[0, "쵸쵸맨 파브리", "쵸쵸맨-파브리.png", 0, null, 90, 18, 70, 0, 160, 300, null, null],
[0, "츠치다 못코", "츠치다-못코.png", 0, null, 60, 45, 44, 0, 160, 300, null, null],
[0, "치사 고도", "치사-고도.png", 0, null, 60, 46, 43, 0, 160, 300, null, null],
[0, "치치쿠리", null, 0, null, 43, 60, 23, 0, 160, 300, null, null],
[0, "칠디 샤프", "칠디-샤프.png", 0, null, 78, 91, 62, 0, 160, 300, null, null],
[0, "카나 세이하쥬", "카나-세이하쥬.png", 0, null, 60, 47, 42, 0, 160, 300, null, null],
[0, "카나요", null, 0, null, 78, 74, 74, 0, 160, 300, null, null],
[0, "카네오", null, 0, null, 60, 48, 41, 0, 160, 300, null, null],
[0, "카로리아 크리켓", "카로리아-크리켓.png", 0, null, 71, 56, 72, 0, 160, 300, null, null],
[0, "카마 아트랜저", "카마-아트랜저.png", 0, null, 74, 54, 54, 0, 160, 300, null, null],
[0, "카미라", null, 0, null, 90, 49, 109, 0, 160, 300, null, null],
[0, "카바한", null, 0, null, 81, 45, 98, 0, 160, 300, null, null],
[0, "카스미K카스미", null, 0, null, 68, 55, 73, 0, 160, 300, null, null],
[0, "카오루Q카구라", null, 0, null, 77, 61, 82, 0, 160, 300, null, null],
[0, "카오스", null, 0, null, 55, 89, 89, 0, 160, 300, null, null],
[0, "카이트", null, 0, null, 83, 102, 62, 0, 160, 300, null, null],
[0, "카츄사 봇슈", "카츄사-봇슈.png", 0, null, 69, 73, 68, 0, 160, 300, null, null],
[0, "카토 스즈메", "카토-스즈메.png", 0, null, 60, 49, 40, 0, 160, 300, null, null],
[0, "카토 키요시모리", null, 0, null, 60, 40, 59, 0, 160, 300, null, null],
[0, "카파라 우치", "카파라-우치.png", 0, null, 74, 47, 65, 0, 160, 300, null, null],
[0, "카페 아트풀", "카페-아트풀.png", 0, null, 83, 57, 89, 0, 160, 300, null, null],
[0, "칼 오지잔", "칼-오지잔.png", 0, null, 74, 68, 53, 0, 160, 300, null, null],
[0, "캐로리 메이트", "캐로리-메이트.png", 0, null, 60, 41, 58, 0, 160, 300, null, null],
[0, "커티스 아벨렌", null, 0, null, 46, 60, 26, 0, 160, 300, null, null],
[0, "케셀링크", null, 0, null, 95, 107, 47, 0, 160, 300, null, null],
[0, "케이브냥", null, 0, null, 60, 70, 32, 0, 160, 300, null, null],
[0, "케이브리스", null, 0, null, 90, 110, 50, 0, 160, 300, null, null],
[0, "케이브왕", null, 0, null, 60, 70, 32, 0, 160, 300, null, null],
[0, "케이코", null, 0, null, 79, 58, 96, 0, 160, 300, null, null],
[0, "케이코쿠", null, 0, null, 68, 68, 83, 0, 160, 300, null, null],
[0, "케챠크 반고", "케챠크-반고.png", 0, null, 60, 42, 57, 0, 160, 300, null, null],
[0, "켄토우 카나미", "켄토우-카나미.png", 0, null, 60, 43, 56, 0, 160, 300, null, null],
[0, "코난 호카벤", null, 0, null, 60, 44, 55, 0, 160, 300, null, null],
[0, "코르도바 반", "코르도바-반.png", 0, null, 81, 79, 59, 0, 160, 300, null, null],
[0, "코마츠", null, 0, null, 80, 73, 52, 0, 160, 300, null, null],
[0, "코바야카와 치누", "코바야카와-치누.png", 0, null, 77, 74, 62, 0, 160, 300, null, null],
[0, "코슈인 하즈키", "코슈인-하즈키.png", 0, null, 60, 45, 54, 0, 160, 300, null, null],
[0, "코우사카", null, 0, null, 70, 68, 81, 0, 160, 300, null, null],
[0, "코판돈 도트", "코판돈-도트.png", 0, null, 60, 46, 53, 0, 160, 300, null, null],
[0, "콘 마가린", null, 0, null, 60, 47, 52, 0, 160, 300, null, null],
[0, "콘버트 탁스", "콘버트-탁스.png", 0, null, 73, 48, 50, 0, 160, 300, null, null],
[0, "콘타마", null, 0, null, 60, 48, 51, 0, 160, 300, null, null],
[0, "콜라", null, 0, null, 4, 4, 4, 0, 160, 300, null, null],
[0, "콜린 코콜린", "콜린-코콜린.png", 0, null, 60, 49, 50, 0, 160, 300, null, null],
[0, "콩고", null, 0, null, 43, 23, 60, 0, 160, 300, null, null],
[0, "쿠로베", null, 0, null, 88, 92, 53, 0, 160, 300, null, null],
[0, "쿠로히메", null, 0, null, 85, 20, 65, 0, 160, 300, null, null],
[0, "쿠마", null, 0, null, 75, 75, 15, 0, 160, 300, null, null],
[0, "쿠마노 고로", null, 0, null, 46, 26, 60, 0, 160, 300, null, null],
[0, "쿠모 단죠", "쿠모-단죠.png", 0, null, 72, 67, 44, 0, 160, 300, null, null],
[0, "쿠소가키", null, 0, null, 60, 50, 49, 0, 160, 300, null, null],
[0, "쿠유", null, 0, null, 60, 51, 48, 0, 160, 300, null, null],
[0, "쿠제 쿄코", null, 0, null, 45, 25, 60, 0, 160, 300, null, null],
[0, "쿠제 키요코", null, 0, null, 44, 24, 60, 0, 160, 300, null, null],
[0, "큐티 밴드", "큐티-밴드.png", 0, null, 73, 69, 41, 0, 160, 300, null, null],
[0, "크레인", null, 0, null, 60, 52, 47, 0, 160, 300, null, null],
[0, "크루체 머핀", "크루체-머핀.png", 0, null, 60, 53, 46, 0, 160, 300, null, null],
[0, "크룩 모프스", "크룩-모프스.png", 0, null, 98, 50, 83, 0, 160, 300, null, null],
[0, "크림", null, 0, null, 96, 43, 90, 0, 160, 300, null, null],
[0, "클린 뷰", "클린-뷰.png", 0, null, 60, 66, 45, 0, 160, 300, null, null],
[0, "키바코", null, 0, null, 70, 74, 66, 0, 160, 300, null, null],
[0, "키사라 코프리", "키사라-코프리.png", 0, null, 63, 67, 49, 0, 160, 300, null, null],
[0, "키스 골드", null, 0, null, 60, 54, 45, 0, 160, 300, null, null],
[0, "키이", null, 0, null, 70, 79, 56, 0, 160, 300, null, null],
[0, "킷카와 키쿠", "킷카와-키쿠.png", 0, null, 69, 79, 71, 0, 160, 300, null, null],
[0, "킹", null, 0, null, 66, 78, 73, 0, 160, 300, null, null],
[0, "킹죠지 아바레", "킹죠지-아바레.png", 0, null, 69, 61, 69, 0, 160, 300, null, null],
[0, "타락한 정치인", null, 0, null, 45, 60, 25, 0, 160, 300, null, null],
[0, "타르고", null, 0, null, 79, 89, 56, 0, 160, 300, null, null],
[0, "타마", null, 0, null, 60, 55, 44, 0, 160, 300, null, null],
[0, "타마구시 후카", "타마구시-후카.png", 0, null, 69, 60, 70, 0, 160, 300, null, null],
[0, "타마시이시바리", null, 0, null, 60, 56, 43, 0, 160, 300, null, null],
[0, "타미 존", "타미-존.png", 0, null, 60, 57, 42, 0, 160, 300, null, null],
[0, "테라", null, 0, null, 87, 20, 63, 0, 160, 300, null, null],
[0, "텐마바시 아리스", "텐마바시-아리스.png", 0, null, 35, 65, 67, 0, 160, 300, null, null],
[0, "토마 리프톤", "토마-리프톤.png", 0, null, 87, 89, 61, 0, 160, 300, null, null],
[0, "토마토 퓨레", "토마토-퓨레.png", 0, null, 65, 64, 60, 0, 160, 300, null, null],
[0, "토쿠가와 센", "토쿠가와-센.png", 0, null, 84, 86, 58, 0, 160, 300, null, null],
[0, "토파즈", null, 0, null, 88, 72, 72, 0, 160, 300, null, null],
[0, "토포스", null, 0, null, 83, 102, 61, 0, 160, 300, null, null],
[0, "톨스토이 바트", "톨스토이-바트.png", 0, null, 60, 59, 40, 0, 160, 300, null, null],
[0, "파레로아", null, 0, null, 76, 74, 74, 0, 160, 300, null, null],
[0, "파렌", null, 0, null, 68, 71, 71, 0, 160, 300, null, null],
[0, "파르프텐크스", null, 0, null, 38, 66, 66, 0, 160, 300, null, null],
[0, "파멜라 헬만", "파멜라-헬만.png", 0, null, 40, 59, 60, 0, 160, 300, null, null],
[0, "파스텔 카라", "파스텔-카라.png", 0, null, 91, 46, 100, 0, 160, 300, null, null],
[0, "파이아르", null, 0, null, 81, 61, 98, 0, 160, 300, null, null],
[0, "파티", null, 0, null, 41, 58, 60, 0, 160, 300, null, null],
[0, "파티 더 서머", "파티-더-서머.png", 0, null, 42, 57, 60, 0, 160, 300, null, null],
[0, "파파데마스", null, 0, null, 43, 56, 60, 0, 160, 300, null, null],
[0, "파파이아 서버", "파파이아-서버.png", 0, null, 79, 59, 90, 0, 160, 300, null, null],
[0, "패트리샤 베이컨", "패트리샤-베이컨.png", 0, null, 44, 55, 60, 0, 160, 300, null, null],
[0, "패튼 미스날지", "패튼-미스날지.png", 0, null, 80, 85, 65, 0, 160, 300, null, null],
[0, "페가수스 포트", null, 0, null, 45, 54, 60, 0, 160, 300, null, null],
[0, "페르에레 칼레트", "페르에레-칼레트.png", 0, null, 38, 67, 61, 0, 160, 300, null, null],
[0, "페리스", null, 0, null, 63, 76, 76, 0, 160, 300, null, null],
[0, "페스포 톤토네", "페스포-톤토네.png", 0, null, 36, 64, 67, 0, 160, 300, null, null],
[0, "페페 위지마", "페페-위지마.png", 0, null, 46, 53, 60, 0, 160, 300, null, null],
[0, "페페론 차오", null, 0, null, 47, 52, 60, 0, 160, 300, null, null],
[0, "포론 차오", "포론-차오.png", 0, null, 83, 73, 63, 0, 160, 300, null, null],
[0, "포토프 토카레프", "포토프-토카레프.png", 0, null, 48, 51, 60, 0, 160, 300, null, null],
[0, "풀 카라", "풀-카라.png", 0, null, 81, 58, 104, 0, 160, 300, null, null],
[0, "프레이아 이즌", "프레이아-이즌.png", 0, null, 54, 77, 77, 0, 160, 300, null, null],
[0, "프로스트바인", null, 0, null, 49, 50, 60, 0, 160, 300, null, null],
[0, "프론소와즈", null, 0, null, 50, 49, 60, 0, 160, 300, null, null],
[0, "프리마 호노노먼", "프리마-호노노먼.png", 0, null, 64, 54, 56, 0, 160, 300, null, null],
[0, "프리크 파라핀", "프리크-파라핀.png", 0, null, 72, 65, 94, 0, 160, 300, null, null],
[0, "플레처 모델", "플레처-모델.png", 0, null, 51, 48, 60, 0, 160, 300, null, null],
[0, "플루페트", null, 0, null, 34, 40, 88, 0, 160, 300, null, null],
[0, "피구", null, 0, null, 80, 73, 56, 0, 160, 300, null, null],
[0, "피니 사나다", "피니-사나다.png", 0, null, 52, 47, 60, 0, 160, 300, null, null],
[0, "피사로", null, 0, null, 89, 54, 95, 0, 160, 300, null, null],
[0, "피텐 차오", "피텐-차오.png", 0, null, 80, 80, 57, 0, 160, 300, null, null],
[0, "하니킹", null, 0, null, 97, 101, 44, 0, 160, 300, null, null],
[0, "하라 쇼우지", "하라-쇼우지.png", 0, null, 78, 63, 50, 0, 160, 300, null, null],
[0, "하삼 크라운", "하삼-크라운.png", 0, null, 75, 69, 42, 0, 160, 300, null, null],
[0, "하우렌 프로반스", "하우렌-프로반스.png", 0, null, 78, 70, 50, 0, 160, 300, null, null],
[0, "하우세스너스", null, 0, null, 83, 89, 37, 0, 160, 300, null, null],
[0, "하이니 바흐", null, 0, null, 53, 46, 60, 0, 160, 300, null, null],
[0, "하이디 팡크라우", "하이디-팡크라우.png", 0, null, 41, 58, 66, 0, 160, 300, null, null],
[0, "하제후카 리모브", null, 0, null, 54, 45, 60, 0, 160, 300, null, null],
[0, "학자", null, 0, null, 83, 53, 73, 0, 160, 300, null, null],
[0, "한스킨스", null, 0, null, 55, 44, 60, 0, 160, 300, null, null],
[0, "한티 카라", "한티-카라.png", 0, null, 70, 67, 108, 0, 160, 300, null, null],
[0, "핫킨 다산", "핫킨-다산.png", 0, null, 76, 73, 60, 0, 160, 300, null, null],
[0, "핫토리 한조", "핫토리-한조.png", 0, null, 65, 70, 64, 0, 160, 300, null, null],
[0, "헨더슨 던트리스", "헨더슨-던트리스.png", 0, null, 56, 43, 60, 0, 160, 300, null, null],
[0, "호 라가", "호-라가.png", 0, null, 79, 56, 101, 0, 160, 300, null, null],
[0, "호넷", null, 0, null, 100, 40, 110, 0, 160, 300, null, null],
[0, "호리카와 나미", "호리카와-나미.png", 0, null, 66, 62, 61, 0, 160, 300, null, null],
[0, "호죠 마사코", "호죠-마사코.png", 0, null, 57, 42, 60, 0, 160, 300, null, null],
[0, "호죠 소운", "호죠-소운.png", 0, null, 75, 62, 94, 0, 160, 300, null, null],
[0, "혼다 마사노부", "혼다-마사노부.png", 0, null, 71, 68, 44, 0, 160, 300, null, null],
[0, "혼다 타다카츠", "혼다-타다카츠.png", 0, null, 72, 80, 53, 0, 160, 300, null, null],
[0, "화성대왕", null, 0, null, 58, 41, 60, 0, 160, 300, null, null],
[0, "화염서사", null, 0, null, 64, 73, 87, 0, 160, 300, null, null],
[0, "후루루 반", "후루루-반.png", 0, null, 59, 40, 60, 0, 160, 300, null, null],
[0, "후브리 마츠시타", null, 0, null, 50, 60, 30, 0, 160, 300, null, null],
[0, "후트 롯", "후트-롯.png", 0, null, 67, 69, 60, 0, 160, 300, null, null],
[0, "휴버트 리프톤", "휴버트-리프톤.png", 0, null, 85, 80, 65, 0, 160, 300, null, null],
[0, "히미코", null, 0, null, 67, 56, 66, 0, 160, 300, null, null],
[0, "히바치", null, 0, null, 78, 90, 60, 0, 160, 300, null, null],
[0, "히카리 미 블랑", "히카리-미-블랑.png", 0, null, 77, 40, 69, 0, 160, 300, null, null],
[0, "히타치", null, 0, null, 89, 57, 60, 0, 160, 300, null, null]
],
"general_ex":[
[999, "KD", null, 0, null, 4, 4, 4, 0, 12, 300, null, null],
[999, "가이", null, 0, null, 5, 5, 5, 0, 15, 300, null, null],
[999, "겟페이", null, 0, null, 20, 20, 20, 0, 60, 300, null, null],
[999, "나이치사", null, 0, null, 5, 5, 5, 0, 15, 300, null, null],
[999, "네프라카스", null, 0, null, 4, 4, 4, 0, 12, 300, null, null],
[999, "다케다 신겐", "다케다-신겐.png", 0, null, 1, 1, 1, 0, 3, 300, null, null],
[999, "도키치로", null, 0, null, 1, 1, 1, 0, 3, 300, null, null],
[999, "라 바스왈드", "라-바스왈드.png", 0, null, 6, 6, 6, 0, 18, 300, null, null],
[999, "라사움", null, 0, null, 9, 9, 9, 0, 27, 300, null, null],
[999, "렌치 랜천", "렌치-랜천.png", 0, null, 20, 20, 20, 0, 160, 300, null, null],
[999, "로벤 팡", "로벤-팡.png", 0, null, 8, 8, 8, 0, 160, 300, null, null],
[999, "루드라사움", null, 0, null, 10, 10, 10, 0, 160, 300, null, null],
[999, "리틀 프린세스", "리틀-프린세스.png", 0, null, 5, 5, 5, 0, 160, 300, null, null],
[999, "마소우 소조", "마소우-소조.png", 0, null, 20, 20, 20, 0, 160, 300, null, null],
[999, "스랄", null, 0, null, 5, 5, 5, 0, 160, 300, null, null],
[999, "시스템", null, 0, null, 1, 1, 1, 0, 160, 300, null, null],
[999, "아노키아M슬린", null, 0, null, 20, 20, 20, 0, 160, 300, null, null],
[999, "아마테라스", null, 0, null, 7, 7, 7, 0, 160, 300, null, null],
[999, "아벨", null, 0, null, 5, 5, 5, 0, 160, 300, null, null],
[999, "아스마제", null, 0, null, 20, 20, 20, 0, 160, 300, null, null],
[999, "여신 앨리스", "여신-앨리스.png", 0, null, 10, 10, 10, 0, 160, 300, null, null],
[999, "오다 키쵸", "오다-키쵸.png", 0, null, 20, 20, 20, 0, 160, 300, null, null],
[999, "와카", null, 0, null, 20, 20, 20, 0, 160, 300, null, null],
[999, "웬즈딩 리자스", "웬즈딩-리자스.png", 0, null, 20, 20, 20, 0, 160, 300, null, null],
[999, "자나게스 헬만", "자나게스-헬만.png", 0, null, 20, 20, 20, 0, 160, 300, null, null],
[999, "질", null, 0, null, 5, 5, 5, 0, 160, 300, null, null],
[999, "쿠엘플란", null, 0, null, 70, 70, 70, 0, 160, 300, null, null],
[999, "쿠크루쿠크루", null, 0, null, 7, 7, 7, 0, 160, 300, null, null],
[999, "테로 에티에노", "테로-에티에노.png", 0, null, 5, 5, 5, 0, 160, 300, null, null],
[999, "파슬리R제스", "파슬리R제스.png", 0, null, 20, 20, 20, 0, 160, 300, null, null],
[999, "파엘리나", null, 0, null, 20, 20, 20, 0, 160, 300, null, null],
[999, "프란나", null, 0, null, 8, 8, 8, 0, 160, 300, null, null],
[999, "프란체스카", null, 0, null, 20, 20, 20, 0, 160, 300, null, null],
[999, "하모니트", null, 0, null, 8, 8, 8, 0, 160, 300, null, null],
[999, "후지와라", null, 0, null, 20, 20, 20, 0, 160, 300, null, null],
[999, "릴 가드라스", "릴-가드라스.png", 0, null, 60, 40, 59, 0, 160, 300, null, null]
]
}
-30
View File
@@ -1,30 +0,0 @@
{
"title":"【모드명】 시나리오 명",
"life":0,
"fiction":0,
"nation":[
["str:국가명", "#800000", "int:금", "int:쌀", "str:국가설명", "int:기술", "str:성향", "int:국가규모",
["str:소속도시"]
]
],
"diplomacy":[
["int:국가", "int:국가", "int:외교종류", "int:기간"]
],
"general":[
["int:상성", "str:장수명","int:금", "int:쌀", "str:도시(null:'랜덤)", "int:통", "int:무", "int:지", "int:관직", "int:생년", "int:몰년", "str:내특", "str:전특", "opt,str:대사"]
],
"general_ex":[
],
"cities":[
],
"history":[
"str:역사"
],
"initialActions":[
"array:event form"
],
"events":[
"array:event form"
]
}
+4 -4
View File
@@ -18,12 +18,12 @@ CREATE TABLE `general` (
`refresh` INT(6) NULL DEFAULT '0', `refresh` INT(6) NULL DEFAULT '0',
`logcnt` INT(6) NULL DEFAULT '1', `logcnt` INT(6) NULL DEFAULT '1',
`refcnt` INT(6) NULL DEFAULT '1', `refcnt` INT(6) NULL DEFAULT '1',
`picture` CHAR(32) NOT NULL, `picture` VARCHAR(40) NOT NULL,
`imgsvr` INT(1) NULL DEFAULT '0', `imgsvr` INT(1) NULL DEFAULT '0',
`name` CHAR(32) NOT NULL COLLATE 'utf8mb4_bin', `name` CHAR(32) NOT NULL COLLATE 'utf8mb4_bin',
`name2` CHAR(32) NULL DEFAULT NULL COLLATE 'utf8mb4_bin', `name2` CHAR(32) NULL DEFAULT NULL COLLATE 'utf8mb4_bin',
`nation` INT(6) NULL DEFAULT '0', `nation` INT(6) NULL DEFAULT '0',
`nations` CHAR(64) NULL DEFAULT ',0,', `nations` VARCHAR(64) NOT NULL DEFAULT '[0]',
`city` INT(6) NULL DEFAULT '3', `city` INT(6) NULL DEFAULT '3',
`troop` INT(6) NULL DEFAULT '0', `troop` INT(6) NULL DEFAULT '0',
`leader` INT(3) NULL DEFAULT '50', `leader` INT(3) NULL DEFAULT '50',
@@ -370,7 +370,7 @@ create table if not exists hall (
nation char(12) default '', nation char(12) default '',
data int(5) default 0, data int(5) default 0,
color char(12) default '', color char(12) default '',
picture char(32) default '', picture varchar(40) default '',
PRIMARY KEY (no), PRIMARY KEY (no),
UNIQUE INDEX `type` (`type`, `rank`) UNIQUE INDEX `type` (`type`, `rank`)
@@ -611,7 +611,7 @@ ENGINE=MyISAM;
################### ###################
# KV storage # KV storage
################### ###################
CREATE TABLE `storage` ( CREATE TABLE if not exists `storage` (
`id` INT(11) NOT NULL AUTO_INCREMENT, `id` INT(11) NOT NULL AUTO_INCREMENT,
`namespace` VARCHAR(40) NOT NULL, `namespace` VARCHAR(40) NOT NULL,
`key` VARCHAR(40) NOT NULL, `key` VARCHAR(40) NOT NULL,
+14 -18
View File
@@ -4,37 +4,33 @@
><span class="year"><?=$year?></span>년 ><span class="year"><?=$year?></span>년
<span class="month"><?=$month?></span>월: <span class="month"><?=$month?></span>월:
</span> </span>
<span class="war_type war_type_<?=$war_type?>"><?=$war_type_str?></span>
<span class="me"> <span class="me">
<span class="name_plate"> <span class="name_plate">
<span class="crew_type"><?=$me['crewtype']?></span> <span class="crew_type"><?=$me['crewtype']?></span>
<span class="name_plate_cover"> <span class="name_plate_cover"
<span class="name"><?=$me['name']?></span>】 ><span class="name"><?=$me['name']?></span>】
</span> </span>
</span> </span>
<span class="crew_plate"> <span class="crew_plate"
<span class="remain_crew"><?=$me['remain_crew']?></span> ><span class="remain_crew"><?=$me['remain_crew']?></span
<span class="killed_plate"> ><span class="killed_plate">(<span class="killed_crew"><?=$me['killed_crew']?></span>)</span
(<span class="killed_crew"><?=$me['killed_crew']?></span>) ></span>
</span>
</span>
</span> </span>
VS <span class="war_type war_type_<?=$war_type?>"><?=$war_type_str?></span>
<span class="you"> <span class="you">
<span class="crew_plate"> <span class="crew_plate"
<span class="remain_crew"><?=$you['remain_crew']?></span> ><span class="remain_crew"><?=$you['remain_crew']?></span
<span class="killed_plate"> ><span class="killed_plate">(<span class="killed_crew"><?=$you['killed_crew']?></span>)</span
(<span class="killed_crew"><?=$you['killed_crew']?></span>) ></span>
</span>
</span>
<span class="name_plate"> <span class="name_plate">
<span class="crew_type"><?=$you['crewtype']?></span> <span class="crew_type"><?=$you['crewtype']?></span>
<span class="name_plate_cover"> <span class="name_plate_cover"
<span class="name"><?=$you['name']?></span>】 ><span class="name"><?=$you['name']?></span>】
</span> </span>
</span> </span>
+8 -4
View File
@@ -6,11 +6,12 @@ require(__dir__.'/../vendor/autoload.php');
WebUtil::setHeaderNoCache(); WebUtil::setHeaderNoCache();
$session = Session::requireLogin()->setReadOnly(); $session = Session::requireLogin()->setReadOnly();
$templates = new \League\Plates\Engine('templates'); $templates = new \League\Plates\Engine(__dir__.'/templates');
$db = RootDB::db(); $db = RootDB::db();
$notice = $db->queryFirstField('SELECT `NOTICE` FROM `system` WHERE `NO`=1'); $notice = $db->queryFirstField('SELECT `NOTICE` FROM `system` WHERE `NO`=1');
$userGrade = $session->userGrade; $userGrade = $session->userGrade;
$acl = $session->acl;
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
@@ -34,7 +35,7 @@ $userGrade = $session->userGrade;
<?=WebUtil::printJS('../d_shared/menu.js')?> <?=WebUtil::printJS('../d_shared/menu.js')?>
<?=WebUtil::printJS('../js/title.js')?> <?=WebUtil::printJS('../js/title.js')?>
<?php if ($userGrade >= 5): ?> <?php if ($userGrade >= 5 || $acl): ?>
<!-- 운영자 --> <!-- 운영자 -->
<?=WebUtil::printCSS('../css/admin_server.css')?> <?=WebUtil::printCSS('../css/admin_server.css')?>
<?=WebUtil::printJS('../js/admin_server.js')?> <?=WebUtil::printJS('../js/admin_server.js')?>
@@ -68,7 +69,7 @@ if ($userGrade >= 5) {
<caption class="bg2 section_title with_border"> </caption> <caption class="bg2 section_title with_border"> </caption>
<colgroup> <colgroup>
<col style="width:100px;" /> <col style="width:100px;" />
<col style="width:400px;" /> <col style="width:375px;" />
<col style="width:66px;" /> <col style="width:66px;" />
<col/> <col/>
<col style="width:120px;" /> <col style="width:120px;" />
@@ -94,6 +95,8 @@ if ($userGrade >= 5) {
<span class="Entrance_Kwe">퀘섭</span> : 실제 장수가 되어 가상의 역사를 만들어 봅시다!<br> <span class="Entrance_Kwe">퀘섭</span> : 실제 장수가 되어 가상의 역사를 만들어 봅시다!<br>
<span class="Entrance_Pwe">풰섭</span> : 실제 장수들과 어울려 사실적 역사를 체험해 봅시다!<br> <span class="Entrance_Pwe">풰섭</span> : 실제 장수들과 어울려 사실적 역사를 체험해 봅시다!<br>
<span class="Entrance_Twe">퉤섭</span> : 주로 패치사항 미리보기 테스트 서버입니다.<br> <span class="Entrance_Twe">퉤섭</span> : 주로 패치사항 미리보기 테스트 서버입니다.<br>
<span class="Entrance_Nya">냐섭</span> : 서버.<br>
<span class="Entrance_Pya">퍄섭</span> : 서버2.<br>
<span class="Entrance_Hwe">훼섭</span> : 1일천하 서버. 또는 운영자 테스트용 서버입니다.<br> <span class="Entrance_Hwe">훼섭</span> : 1일천하 서버. 또는 운영자 테스트용 서버입니다.<br>
</td> </td>
</tr> </tr>
@@ -108,8 +111,9 @@ if ($userGrade >= 5) {
</div> </div>
</div> </div>
<?php <?php
if ($userGrade >= 5) { if ($userGrade >= 5 || $acl) {
echo $templates->render('server_panel', []); echo $templates->render('server_panel', []);
} }
?> ?>
+32 -2
View File
@@ -9,7 +9,7 @@ $userID = Session::getUserID();
// 외부 파라미터 // 외부 파라미터
$db = RootDB::db(); $db = RootDB::db();
$member = $db->queryFirstRow('SELECT `id`, `name`, `grade`, `picture`, reg_date, third_use FROM `member` WHERE `NO` = %i', $userID); $member = $db->queryFirstRow('SELECT `id`, `name`, `grade`, `picture`, reg_date, third_use, acl FROM `member` WHERE `NO` = %i', $userID);
if(!$member['picture']){ if(!$member['picture']){
$picture = ServConfig::getSharedIconPath().'/default.jpg'; $picture = ServConfig::getSharedIconPath().'/default.jpg';
@@ -42,6 +42,35 @@ if($member['grade'] == 6) {
$grade = '블럭회원'; $grade = '블럭회원';
} }
$acl = [];
//TODO: Acl을 관리하기 위한 별도의 객체 필요
foreach(Json::decode($member['acl']??'{}') as $serverName=>$aclList){
$serverKorName = AppConf::getList()[$serverName]->getKorName();
$aclTextList = array_map(function($aclName){
$aclText = "알수없음[{$aclName}]";
switch($aclName){
case 'openClose':$aclText='서버여닫기';break;
case 'reset':$aclText='서버리셋';break;
case 'update':$aclText='업데이트';break;
case 'fullUpdate':$aclText='임의업데이트';break;
case 'vote':$aclText='설문조사';break;
case 'globalNotice':$aclText='전역공지';break;
case 'notice':$aclText='공지';break;
case 'blockGeneral':$aclText='장수징계';break;
}
return $aclText;
}, $aclList);
$acl[] = sprintf("%s(%s)", $serverKorName, join(",", $aclTextList));
}
if($acl){
$acl = join(",<br>", $acl);
}
else{
$acl = "-";
}
Json::die([ Json::die([
'result'=>true, 'result'=>true,
'reason'=>'success', 'reason'=>'success',
@@ -51,5 +80,6 @@ Json::die([
'picture'=>$picture, 'picture'=>$picture,
'global_salt'=>RootDB::getGlobalSalt(), 'global_salt'=>RootDB::getGlobalSalt(),
'join_date'=>$member['reg_date'], 'join_date'=>$member['reg_date'],
'third_use'=>($member['third_use']!=0) 'third_use'=>($member['third_use']!=0),
'acl'=>$acl
]); ]);
+9 -5
View File
@@ -48,15 +48,19 @@ if(!is_uploaded_file($image['tmp_name'])) {
//확장자 검사 //확장자 검사
$response['reason'] = 'jpg, gif, png 파일이 아닙니다!'; $response['reason'] = 'jpg, gif, png 파일이 아닙니다!';
$response['result'] = false; $response['result'] = false;
} elseif($image['size'] > 10000) { } elseif($image['size'] > 20480) {
//파일크기 검사 //파일크기 검사
$response['reason'] = '10kb 이하로 올려주세요!'; $response['reason'] = '20kb 이하로 올려주세요!';
$response['result'] = false; $response['result'] = false;
} elseif($size[0] != 64 || $size[1] != 64) { } elseif($size[0] < 64 || 128 < $size[0]) {
//이미지크기 검사 //이미지크기 검사
$response['reason'] = '64x64 크기로 올려주세요!'; $response['reason'] = '64x64 ~ 128x128 사이여야 합니다.';
$response['result'] = false; $response['result'] = false;
} elseif($dt == $rf) { } elseif($size[0] != $size[1]) {
//이미지크기 검사
$response['reason'] = '1:1 비율 이미지여야 합니다.';
$response['result'] = false;
}elseif($dt == $rf) {
//갱신날짜 검사 //갱신날짜 검사
$response['reason'] = '1일 1회 변경 가능합니다!'; $response['reason'] = '1일 1회 변경 가능합니다!';
$response['result'] = false; $response['result'] = false;

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