내특, 전특 초기화 구현

This commit is contained in:
2020-01-30 02:14:01 +09:00
parent 37ea64346c
commit 455d68d2b4
5 changed files with 55 additions and 0 deletions
+2
View File
@@ -667,6 +667,8 @@ function commandTable() {
}
commandGroup("", 1);
commandGroup("======= 개 인 ========");
addCommand("내정 특기 초기화/3턴", 38);
addCommand("전투 특기 초기화/3턴", 39);
if($me['level'] >= 1) {
addCommand("단련(자금$develcost, 군량$develcost)", 41);
addCommand("숙련전환(통솔경험, 자금$develcost, 군량$develcost)", 58);
+10
View File
@@ -180,6 +180,13 @@ function getTurn(array $general, $type, $font=1) {
$str[$i] = "{$city['name']}】에 선동 실행";
break;
case 38: //내특 초기화
$str[$i] = "내정 특기를 초기화";
break;
case 39: //전특 초기화
$str[$i] = "전투 특기를 초기화";
break;
case 41: //단련
$str[$i] = "숙련도를 단련";
break;
@@ -634,6 +641,9 @@ function processCommand($no, $reduceTurn) {
case 34: process_34($general); break; //파괴
case 35: process_35($general); break; //선동
case 38: process_38($general, '내정 특기', 'special', 'specage'); break; //내특 초기화
case 39: process_38($general, '전투 특기', 'special2', 'specage2'); break; //내특 초기화
case 41: process_41($general); break; //단련
case 42: process_42($general); break; //견문
case 43: process_43($general); break; //증여
+37
View File
@@ -2040,6 +2040,43 @@ function process_31(&$general) {
pushGenLog($general, $log);
}
function process_38(&$general, string $specName, string $specTypeKey, string $specAgeKey) {
$db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env');
$connect=$db->get();
$log = [];
$date = substr($general['turntime'],11,5);
$admin = $gameStor->getValues(['year', 'month']);
if($general['term']%100 == 15) {
$term = intdiv($general['term'], 100) + 1;
$code = $term * 100 + 15;
} else {
$term = 1;
$code = 100 + 15;
}
if(!$general[$specTypeKey]) {
$log[] = "<C>●</>{$admin['month']}월:{$specName}를 갖고 있지 않습니다. {$specName} 초기화 실패. <1>$date</>";
} elseif($term < 3) {
$log[] = "<C>●</>{$admin['month']}월:새로운 적성을 찾는 중... ({$term}/3) <1>$date</>";
$query = "update general set resturn='ONGOING',term={$code} where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} else {
$general[$specAgeKey]=20;
$query = "update general set resturn='SUCCESS',term='0',$specTypeKey=0,$specAgeKey=age+1 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$log[] = "<C>●</>{$admin['month']}월:새로운 {$specName}를 가질 준비가 되었습니다. <1>$date</>";
}
pushGenLog($general, $log);
}
function process_41(&$general) {
$db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env');
+3
View File
@@ -82,6 +82,9 @@ switch($commandtype) {
// case 34: command_34($turn, 34); break; //파괴
// case 35: command_35($turn, 35); break; //선동
case 38: command_Single($turn, 38); break; //내특 초기화
case 39: command_Single($turn, 39); break; //전특 초기화
case 41: command_Single($turn, 41); break; //단련
case 42: command_Single($turn, 42); break; //견문
// case 43: command_43( $turn, 43); break; //증여
+3
View File
@@ -80,6 +80,9 @@ switch($commandtype) {
case 34: command_34($turn, 34); break; //파괴
case 35: command_35($turn, 35); break; //선동
case 38: command_Single($turn, 38); break; //내특 초기화
case 39: command_Single($turn, 39); break; //전특 초기화
case 41: command_Single($turn, 41); break; //단련
case 42: command_Single($turn, 42); break; //견문
case 43: command_43( $turn, 43); break; //증여