내특 전특 초기화 추가
This commit is contained in:
@@ -663,6 +663,8 @@ function commandTable() {
|
||||
}
|
||||
commandGroup("", 1);
|
||||
commandGroup("======= 개 인 ========");
|
||||
addCommand("내정 특기 초기화(3턴, 1회만)", 38);
|
||||
addCommand("전투 특기 초기화(3턴, 1회만)", 39);
|
||||
if($me['level'] >= 1) {
|
||||
addCommand("단련(자금$develcost, 군량$develcost)", 41);
|
||||
addCommand("숙련전환(통솔경험, 자금$develcost, 군량$develcost)", 58);
|
||||
|
||||
+12
-2
@@ -170,6 +170,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;
|
||||
@@ -489,7 +496,7 @@ function processCommand($no, $reduceTurn) {
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
$connect=$db->get();
|
||||
|
||||
$general = $db->queryFirstRow('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,warnum,killnum,deathnum,killcrew,deathcrew,recwar,myset from general where no = %i', $no);
|
||||
$general = $db->queryFirstRow('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,warnum,killnum,deathnum,killcrew,deathcrew,recwar,myset,aux from general where no = %i', $no);
|
||||
|
||||
list($month, $killturn) = $gameStor->getValuesAsArray(['month', 'killturn']);
|
||||
$log = [];
|
||||
@@ -549,7 +556,7 @@ function processCommand($no, $reduceTurn) {
|
||||
}
|
||||
|
||||
//장수정보 재로드
|
||||
$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,warnum,killnum,deathnum,killcrew,deathcrew,recwar,myset 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,warnum,killnum,deathnum,killcrew,deathcrew,recwar,myset,aux from general where no='$no'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
}
|
||||
@@ -621,6 +628,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; //증여
|
||||
|
||||
@@ -1858,6 +1858,55 @@ 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']);
|
||||
|
||||
$genAux = Json::decode($general['aux']);
|
||||
|
||||
|
||||
if($general['term']%100 == 38) {
|
||||
$term = intdiv($general['term'], 100) + 1;
|
||||
$code = $term * 100 + 38;
|
||||
} else {
|
||||
$term = 1;
|
||||
$code = 100 + 38;
|
||||
}
|
||||
|
||||
if($genAux['used_38_'.$specTypeKey]??0){
|
||||
$log[] = "<C>●</>{$admin['month']}월:이미 {$specName}을 초기화했습니다. {$specName} 초기화 실패. <1>$date</>";
|
||||
}
|
||||
else 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 {
|
||||
|
||||
$genAux['used_38_'.$specTypeKey] = 1;
|
||||
$general[$specAgeKey]=20;
|
||||
$db->update('general', [
|
||||
'resturn'=>'SUCCESS',
|
||||
'term'=>0,
|
||||
$specTypeKey=>0,
|
||||
$specAgeKey=>$db->sqleval('age+1'),
|
||||
'aux'=>Json::encode($genAux)
|
||||
], 'no = %i', $general['no']);
|
||||
|
||||
$log[] = "<C>●</>{$admin['month']}월:새로운 {$specName}를 가질 준비가 되었습니다. <1>$date</>";
|
||||
}
|
||||
|
||||
pushGenLog($general, $log);
|
||||
}
|
||||
|
||||
function process_41(&$general) {
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
|
||||
@@ -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; //증여
|
||||
|
||||
@@ -77,6 +77,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; //증여
|
||||
|
||||
@@ -336,7 +336,9 @@ class GameUnitConstBase{
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @return \sammo\GameUnitDetail[]
|
||||
*/
|
||||
public static function byType(int $type): array{
|
||||
static::_generate();
|
||||
if(!key_exists($type, static::$constType)){
|
||||
|
||||
Reference in New Issue
Block a user