Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4357fb3874 | ||
|
|
225c356b2d | ||
|
|
0bb45979df | ||
|
|
b28ac27fba | ||
|
|
017d1b5dd9 | ||
|
|
a7b22748cd | ||
|
|
4f2c08918a | ||
|
|
d2f6df270b | ||
|
|
64b14b0c5d |
@@ -106,6 +106,31 @@ if($command == 61) {
|
|||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 국호변경
|
||||||
|
if($command == 82) {
|
||||||
|
$query = "select no,nation,level from general where owner='{$userID}'";
|
||||||
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
|
$me = MYDB_fetch_array($result);
|
||||||
|
|
||||||
|
$name = StringUtil::neutralize($name);
|
||||||
|
if($name == "") { $name = "무명"; }
|
||||||
|
|
||||||
|
$db->update('general', [
|
||||||
|
'makenation'=>$name
|
||||||
|
], 'owner=%i', $userID);
|
||||||
|
|
||||||
|
$count = count($turn);
|
||||||
|
$str = "type=type";
|
||||||
|
for($i=0; $i < $count; $i++) {
|
||||||
|
$str .= ",l{$me['level']}turn{$turn[$i]}='{$comStr}'";
|
||||||
|
}
|
||||||
|
$query = "update nation set {$str} where nation='{$me['nation']}'";
|
||||||
|
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
|
|
||||||
|
header('location:b_chiefcenter.php', true, 303);
|
||||||
|
die();
|
||||||
|
}
|
||||||
|
|
||||||
//포상, 몰수, 발령, 항복권고, 원조
|
//포상, 몰수, 발령, 항복권고, 원조
|
||||||
//선전포고, 종전, 파기, 초토화, 천도, 증축, 감축
|
//선전포고, 종전, 파기, 초토화, 천도, 증축, 감축
|
||||||
//백성동원, 수몰, 허보, 피장파장, 의병모집, 이호경식, 급습
|
//백성동원, 수몰, 허보, 피장파장, 의병모집, 이호경식, 급습
|
||||||
@@ -130,6 +155,8 @@ if($command == 23 || $command == 24 || $command == 27 || $command == 51 || $comm
|
|||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//일반 턴
|
//일반 턴
|
||||||
$query = [];
|
$query = [];
|
||||||
foreach($turn as $turnIdx){
|
foreach($turn as $turnIdx){
|
||||||
|
|||||||
+10
-1
@@ -663,6 +663,8 @@ function commandTable() {
|
|||||||
}
|
}
|
||||||
commandGroup("", 1);
|
commandGroup("", 1);
|
||||||
commandGroup("======= 개 인 ========");
|
commandGroup("======= 개 인 ========");
|
||||||
|
addCommand("내정 특기 초기화(3턴, 1회만)", 38);
|
||||||
|
addCommand("전투 특기 초기화(3턴, 1회만)", 39);
|
||||||
if($me['level'] >= 1) {
|
if($me['level'] >= 1) {
|
||||||
addCommand("단련(자금$develcost, 군량$develcost)", 41);
|
addCommand("단련(자금$develcost, 군량$develcost)", 41);
|
||||||
addCommand("숙련전환(통솔경험, 자금$develcost, 군량$develcost)", 58);
|
addCommand("숙련전환(통솔경험, 자금$develcost, 군량$develcost)", 58);
|
||||||
@@ -757,9 +759,10 @@ function CoreCommandTable() {
|
|||||||
$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);
|
||||||
|
|
||||||
$query = "select level,can_change_flag from nation where nation='{$me['nation']}'";
|
$query = "select level,can_change_flag,aux from nation 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),"");
|
||||||
$nation = MYDB_fetch_array($result);
|
$nation = MYDB_fetch_array($result);
|
||||||
|
$nationAux = Json::decode($nation['aux']);
|
||||||
|
|
||||||
$query = "select no from general where nation='{$me['nation']}'";
|
$query = "select no 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),"");
|
||||||
@@ -829,6 +832,12 @@ function CoreCommandTable() {
|
|||||||
} else {
|
} else {
|
||||||
addCommand("국기 변경", 81, 0);
|
addCommand("국기 변경", 81, 0);
|
||||||
}
|
}
|
||||||
|
if($nation['level']==7 && !($nationAux['used_82']??0)){
|
||||||
|
addCommand("국호 변경", 82, 1);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
addCommand("국호 변경", 82, 0);
|
||||||
|
}
|
||||||
commandGroup("", 1);
|
commandGroup("", 1);
|
||||||
echo "
|
echo "
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
+16
-2
@@ -170,6 +170,13 @@ function getTurn(array $general, $type, $font=1) {
|
|||||||
$str[$i] = "【{$city['name']}】에 선동 실행";
|
$str[$i] = "【{$city['name']}】에 선동 실행";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 38: //내특 초기화
|
||||||
|
$str[$i] = "내정 특기를 초기화";
|
||||||
|
break;
|
||||||
|
case 39: //전특 초기화
|
||||||
|
$str[$i] = "전투 특기를 초기화";
|
||||||
|
break;
|
||||||
|
|
||||||
case 41: //단련
|
case 41: //단련
|
||||||
$str[$i] = "숙련도를 단련";
|
$str[$i] = "숙련도를 단련";
|
||||||
break;
|
break;
|
||||||
@@ -469,6 +476,9 @@ function getCoreTurn($nation, $level) {
|
|||||||
|
|
||||||
$str[$i] = "【<font color={$color}>국기</font>】를 변경";
|
$str[$i] = "【<font color={$color}>국기</font>】를 변경";
|
||||||
break;
|
break;
|
||||||
|
case 82: //국호변경
|
||||||
|
$str[$i] = "국호를 변경";
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
$str[$i] = "????";
|
$str[$i] = "????";
|
||||||
break;
|
break;
|
||||||
@@ -489,7 +499,7 @@ function processCommand($no, $reduceTurn) {
|
|||||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$connect=$db->get();
|
$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']);
|
list($month, $killturn) = $gameStor->getValuesAsArray(['month', 'killturn']);
|
||||||
$log = [];
|
$log = [];
|
||||||
@@ -545,11 +555,12 @@ function processCommand($no, $reduceTurn) {
|
|||||||
case 77: process_77($general); break; //이호경식
|
case 77: process_77($general); break; //이호경식
|
||||||
case 78: process_78($general); break; //급습
|
case 78: process_78($general); break; //급습
|
||||||
case 81: process_81($general); break; //국기변경
|
case 81: process_81($general); break; //국기변경
|
||||||
|
case 82: process_82($general); break; //국호변경
|
||||||
case 99: break; //수뇌부휴식
|
case 99: break; //수뇌부휴식
|
||||||
}
|
}
|
||||||
|
|
||||||
//장수정보 재로드
|
//장수정보 재로드
|
||||||
$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),"");
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$general = MYDB_fetch_array($result);
|
$general = MYDB_fetch_array($result);
|
||||||
}
|
}
|
||||||
@@ -621,6 +632,9 @@ function processCommand($no, $reduceTurn) {
|
|||||||
case 34: process_34($general); break; //파괴
|
case 34: process_34($general); break; //파괴
|
||||||
case 35: process_35($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 41: process_41($general); break; //단련
|
||||||
case 42: process_42($general); break; //견문
|
case 42: process_42($general); break; //견문
|
||||||
case 43: process_43($general); break; //증여
|
case 43: process_43($general); break; //증여
|
||||||
|
|||||||
@@ -1015,6 +1015,7 @@ function updateNationState() {
|
|||||||
$josaUl = JosaUtil::pick(getNationLevel($nationlevel), '을');
|
$josaUl = JosaUtil::pick(getNationLevel($nationlevel), '을');
|
||||||
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<Y><b>【작위】</b></><D><b>{$nation['name']}</b></>의 군주가 <Y>".getNationLevel($nationlevel)."</>{$josaUl} 자칭하였습니다.";
|
$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} 자칭");
|
pushNationHistory($nation, "<C>●</>{$admin['year']}년 {$admin['month']}월:<D><b>{$nation['name']}</b></>의 군주가 <Y>".getNationLevel($nationlevel)."</>{$josaUl} 자칭");
|
||||||
|
$db->update('nation', ['can_change_flag'=>1], 'nation=%i', $nation['nation']);
|
||||||
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)."</>에 등극하였습니다.";
|
||||||
@@ -1316,6 +1317,7 @@ function convForOldGeneral(array $general, int $year, int $month){
|
|||||||
function storeOldGeneral(int $no, int $year, int $month){
|
function storeOldGeneral(int $no, int $year, int $month){
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$general = $db->queryFirstRow('SELECT * FROM general WHERE `no` = %i', $no);
|
$general = $db->queryFirstRow('SELECT * FROM general WHERE `no` = %i', $no);
|
||||||
|
$general['aux'] = Json::decode($general['aux']);
|
||||||
if(!$general){
|
if(!$general){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-22
@@ -58,12 +58,10 @@ class AIAllowedAction{
|
|||||||
$this->recruit_high = true;
|
$this->recruit_high = true;
|
||||||
case 'recruit':
|
case 'recruit':
|
||||||
$this->recruit = true;
|
$this->recruit = true;
|
||||||
$this->changeWarCondition = true;
|
|
||||||
break;
|
break;
|
||||||
case 'train':
|
case 'train':
|
||||||
$this->train = true;
|
$this->train = true;
|
||||||
$this->atmos = true;
|
$this->atmos = true;
|
||||||
$this->changeWarCondition = true;
|
|
||||||
break;
|
break;
|
||||||
case 'battle':
|
case 'battle':
|
||||||
$this->battle = true;
|
$this->battle = true;
|
||||||
@@ -457,18 +455,9 @@ function processAI($no, &$reduce_turn) {
|
|||||||
$tech = getTechCost($nation['tech']);
|
$tech = getTechCost($nation['tech']);
|
||||||
$resrc = $tech * 700;//XXX: 왜 700이지?
|
$resrc = $tech * 700;//XXX: 왜 700이지?
|
||||||
|
|
||||||
if($allowedAction->changeWarCondition){
|
if($allowedAction->changeWarCondition && $general['mode'] != 2){
|
||||||
if($general['atmos'] >= 90 && $general['train'] >= 90) {
|
$query = "update general set mode=2 where no='{$general['no']}'";
|
||||||
if($general['mode'] == 0) {
|
MYDB_query($query, $connect) or Error("processAI05 ".MYDB_error($connect),"");
|
||||||
$query = "update general set mode=1 where no='{$general['no']}'";
|
|
||||||
MYDB_query($query, $connect) or Error("processAI05 ".MYDB_error($connect),"");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if($general['mode'] == 1) {
|
|
||||||
$query = "update general set mode=0 where no='{$general['no']}'";
|
|
||||||
MYDB_query($query, $connect) or Error("processAI05 ".MYDB_error($connect),"");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -952,16 +941,8 @@ function processAI($no, &$reduce_turn) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} elseif($general['crew'] >= 1000 && $general['train'] < 90 && $allowedAction->train) {
|
} elseif($general['crew'] >= 1000 && $general['train'] < 90 && $allowedAction->train) {
|
||||||
if($general['atmos'] >= 90 && $general['train'] >= 60 && $general['mode'] == 0) {
|
|
||||||
$query = "update general set mode=1 where no='{$general['no']}'";
|
|
||||||
MYDB_query($query, $connect) or Error("processAI05 ".MYDB_error($connect),"");
|
|
||||||
}
|
|
||||||
$command = EncodeCommand(0, 0, 0, 13); //훈련
|
$command = EncodeCommand(0, 0, 0, 13); //훈련
|
||||||
} elseif($general['crew'] >= 1000 && $general['atmos'] < 90 && $allowedAction->atmos) {
|
} elseif($general['crew'] >= 1000 && $general['atmos'] < 90 && $allowedAction->atmos) {
|
||||||
if($general['atmos'] >= 60 && $general['train'] >= 90 && $general['mode'] == 0) {
|
|
||||||
$query = "update general set mode=1 where no='{$general['no']}'";
|
|
||||||
MYDB_query($query, $connect) or Error("processAI05 ".MYDB_error($connect),"");
|
|
||||||
}
|
|
||||||
$command = EncodeCommand(0, 0, 0, 14); //사기진작
|
$command = EncodeCommand(0, 0, 0, 14); //사기진작
|
||||||
} elseif($dipState <= 3) {
|
} elseif($dipState <= 3) {
|
||||||
$command = EncodeCommand(0, 0, 0, (rand()%2)*8 + 1); // 준비는 됐으나 아직 선포중이면 내정, 조달
|
$command = EncodeCommand(0, 0, 0, (rand()%2)*8 + 1); // 준비는 됐으나 아직 선포중이면 내정, 조달
|
||||||
|
|||||||
@@ -1858,6 +1858,55 @@ function process_31(&$general) {
|
|||||||
pushGenLog($general, $log);
|
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) {
|
function process_41(&$general) {
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
|
|||||||
@@ -2477,3 +2477,83 @@ function process_81(&$general) {
|
|||||||
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||||
pushGenLog($general, $log);
|
pushGenLog($general, $log);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function process_82(&$general) {
|
||||||
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
|
$connect=$db->get();
|
||||||
|
|
||||||
|
$log = [];
|
||||||
|
$alllog = [];
|
||||||
|
$history = [];
|
||||||
|
|
||||||
|
$date = substr($general['turntime'],11,5);
|
||||||
|
|
||||||
|
$admin = $gameStor->getValues(['year','month']);
|
||||||
|
|
||||||
|
$query = "select nation from city where city='{$general['city']}'";
|
||||||
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
|
$city = MYDB_fetch_array($result);
|
||||||
|
|
||||||
|
$query = "select nation,name,type,sabotagelimit,aux from nation where nation='{$general['nation']}'";
|
||||||
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
|
$nation = MYDB_fetch_array($result);
|
||||||
|
$nationAux = Json::decode($nation['aux']??'{}');
|
||||||
|
$newNationName = $general['makenation'];
|
||||||
|
|
||||||
|
$nationExists = $db->queryFirstField('SELECT nation FROM nation WHERE name = %s', $newNationName);
|
||||||
|
|
||||||
|
if($nationExists){
|
||||||
|
$log[] = "<C>●</>{$admin['month']}월:이미 같은 국호를 가진 곳이 있습니다. 국호변경 실패. <1>$date</>";
|
||||||
|
}
|
||||||
|
else if($city['nation'] != $general['nation']) {
|
||||||
|
$log[] = "<C>●</>{$admin['month']}월:아국이 아닙니다. 국호변경 실패. <1>$date</>";
|
||||||
|
} elseif($general['level'] < 5) {
|
||||||
|
$log[] = "<C>●</>{$admin['month']}월:수뇌부가 아닙니다. 국호변경 실패. <1>$date</>";
|
||||||
|
} elseif($nationAux['used_82']??0) {
|
||||||
|
$log[] = "<C>●</>{$admin['month']}월:더이상 변경이 불가능합니다. 국호변경 실패. <1>$date</>";
|
||||||
|
} else {
|
||||||
|
$josaRo = JosaUtil::pick($newNationName, '로');
|
||||||
|
$log[] = "<C>●</>{$admin['month']}월:국호를 <D><b>{$newNationName}{$josaRo}</b></> 변경합니다. <1>$date</>";
|
||||||
|
$exp = 10;
|
||||||
|
$ded = 10;
|
||||||
|
|
||||||
|
// 성격 보정
|
||||||
|
$exp = CharExperience($exp, $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']}'";
|
||||||
|
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
|
$cnt = MYDB_num_rows($result);
|
||||||
|
$genlog = ["<C>●</><Y>{$general['name']}</>{$josaYi} 국호를 <D><b>{$newNationName}</b></>{$josaRo} 변경합니다."];
|
||||||
|
for($i=0; $i < $cnt; $i++) {
|
||||||
|
$gen = MYDB_fetch_array($result);
|
||||||
|
pushGenLog($gen, $genlog);
|
||||||
|
}
|
||||||
|
|
||||||
|
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 국호를 <D><b>{$newNationName}</b></>{$josaRo} 변경합니다.";
|
||||||
|
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<L><b>【국호변경】</b></><D><b>{$nation['name']}</b></>{$josaYiNation} 국호를 <D><b>{$newNationName}</b></>{$josaRo} 변경합니다.";
|
||||||
|
pushGeneralHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:국호를 <D><b>{$newNationName}</b></>{$josaRo} 변경");
|
||||||
|
pushNationHistory($nation, "<C>●</>{$admin['year']}년 {$admin['month']}월:<Y>{$general['name']}</>{$josaYi} 국호를 <D><b>{$newNationName}</b></>{$josaRo} 변경");
|
||||||
|
|
||||||
|
$nationAux['used_82'] = 1;
|
||||||
|
//국기변경
|
||||||
|
$db->update('nation', [
|
||||||
|
'name'=>$newNationName,
|
||||||
|
'aux'=>Json::encode($nationAux)
|
||||||
|
], 'nation=%i', $nation['nation']);
|
||||||
|
|
||||||
|
//경험치, 공헌치
|
||||||
|
$query = "update general set dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||||
|
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
|
|
||||||
|
refreshNationStaticInfo();
|
||||||
|
}
|
||||||
|
|
||||||
|
pushWorldHistory($history, $admin['year'], $admin['month']);
|
||||||
|
pushGeneralPublicRecord($alllog, $admin['year'], $admin['month']);
|
||||||
|
pushGenLog($general, $log);
|
||||||
|
}
|
||||||
@@ -82,6 +82,9 @@ switch($commandtype) {
|
|||||||
// case 34: command_34($turn, 34); break; //파괴
|
// case 34: command_34($turn, 34); break; //파괴
|
||||||
// case 35: command_35($turn, 35); 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 41: command_Single($turn, 41); break; //단련
|
||||||
case 42: command_Single($turn, 42); break; //견문
|
case 42: command_Single($turn, 42); break; //견문
|
||||||
// case 43: command_43( $turn, 43); break; //증여
|
// case 43: command_43( $turn, 43); break; //증여
|
||||||
@@ -121,6 +124,7 @@ switch($commandtype) {
|
|||||||
// case 78: command_78($turn, 78); break; //급습
|
// case 78: command_78($turn, 78); break; //급습
|
||||||
|
|
||||||
// case 81: command_81($turn, 81); break; //국기변경
|
// case 81: command_81($turn, 81); break; //국기변경
|
||||||
|
// case 82: command_82($turn, 82); break; //국호변경
|
||||||
|
|
||||||
// case 99: command_99($turn); break; //수뇌부 후식
|
// case 99: command_99($turn); break; //수뇌부 후식
|
||||||
default: command_Other($turn, $commandtype); break;
|
default: command_Other($turn, $commandtype); break;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -77,6 +77,9 @@ switch($commandtype) {
|
|||||||
case 34: command_34($turn, 34); break; //파괴
|
case 34: command_34($turn, 34); break; //파괴
|
||||||
case 35: command_35($turn, 35); 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 41: command_Single($turn, 41); break; //단련
|
||||||
case 42: command_Single($turn, 42); break; //견문
|
case 42: command_Single($turn, 42); break; //견문
|
||||||
case 43: command_43( $turn, 43); break; //증여
|
case 43: command_43( $turn, 43); break; //증여
|
||||||
@@ -114,6 +117,7 @@ switch($commandtype) {
|
|||||||
case 77: command_77($turn, 77); break; //이호경식
|
case 77: command_77($turn, 77); break; //이호경식
|
||||||
case 78: command_78($turn, 78); break; //급습
|
case 78: command_78($turn, 78); break; //급습
|
||||||
case 81: command_81($turn, 81); break; //국기변경
|
case 81: command_81($turn, 81); break; //국기변경
|
||||||
|
case 82: command_82($turn, 82); break; //국호변경
|
||||||
case 99: command_99($turn); break; //수뇌부 휴식
|
case 99: command_99($turn); break; //수뇌부 휴식
|
||||||
|
|
||||||
default:command_Single($turn, 0); break; //휴식
|
default:command_Single($turn, 0); break; //휴식
|
||||||
@@ -2617,3 +2621,36 @@ function command_81($turn, $command) {
|
|||||||
";
|
";
|
||||||
ender(1);
|
ender(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function command_82($turn, $command) {
|
||||||
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
|
$connect=$db->get();
|
||||||
|
|
||||||
|
$userID = Session::getUserID();
|
||||||
|
$nationID = $db->queryFirstField('SELECT nation FROM general WHERE owner = %i', $userID);
|
||||||
|
$nation = $db->queryFirstRow('SELECT level,aux FROM nation WHERE nation = %i', $nationID);
|
||||||
|
$nationAux = Json::decode($nation['aux']??'{}');
|
||||||
|
|
||||||
|
starter("국호변경");
|
||||||
|
|
||||||
|
if($nation && $nation['level'] == 7 && !($nationAux['used_82']??0)){
|
||||||
|
?>
|
||||||
|
나라의 이름을 바꿉니다. 황제가 된 후 1회 가능합니다.<br>
|
||||||
|
|
||||||
|
<form name=form1 action=c_double.php method=post>
|
||||||
|
국명 : <input type=text name=name size=18 maxlength=9 style=text-align:right;color:white;background-color:black>
|
||||||
|
|
||||||
|
<input type=submit value='국호 변경'>
|
||||||
|
<input type=hidden name=command value=<?=$command?>>
|
||||||
|
<?php
|
||||||
|
for($i=0; $i < count($turn); $i++) {
|
||||||
|
echo "<input type=hidden name=turn[] value=$turn[$i]>";
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "</form>";
|
||||||
|
} else {
|
||||||
|
echo "국호 변경이 불가능합니다.<br>";
|
||||||
|
}
|
||||||
|
ender();
|
||||||
|
}
|
||||||
@@ -336,7 +336,9 @@ class GameUnitConstBase{
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return \sammo\GameUnitDetail[]
|
||||||
|
*/
|
||||||
public static function byType(int $type): array{
|
public static function byType(int $type): array{
|
||||||
static::_generate();
|
static::_generate();
|
||||||
if(!key_exists($type, static::$constType)){
|
if(!key_exists($type, static::$constType)){
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class CityConst extends CityConstBase{
|
|||||||
[33, '상용', '소', 2838, 58, 56, 40, 57, 61, '서촉', 190, 220, ['한중', '신야']],
|
[33, '상용', '소', 2838, 58, 56, 40, 57, 61, '서촉', 190, 220, ['한중', '신야']],
|
||||||
[34, '초', '소', 3286, 60, 62, 40, 62, 57, '중원', 375, 225, ['허창', '진류', '패', '수춘', '여남']],
|
[34, '초', '소', 3286, 60, 62, 40, 62, 57, '중원', 375, 225, ['허창', '진류', '패', '수춘', '여남']],
|
||||||
[35, '운남', '소', 3258, 62, 60, 40, 64, 61, '남중', 45, 405, ['월수', '건녕', '남만']],
|
[35, '운남', '소', 3258, 62, 60, 40, 64, 61, '남중', 45, 405, ['월수', '건녕', '남만']],
|
||||||
[36, '소', '소', 3256, 60, 62, 40, 57, 60, '오월', 450, 470, ['산월', '회계', '왜']],
|
[36, '대', '소', 3256, 60, 62, 40, 57, 60, '오월', 450, 470, ['산월', '회계', '왜']],
|
||||||
[37, '하동', '소', 3208, 60, 60, 40, 62, 55, '서북', 240, 140, ['흉노', '진양', '하내', '홍농']],
|
[37, '하동', '소', 3208, 60, 60, 40, 62, 55, '서북', 240, 140, ['흉노', '진양', '하내', '홍농']],
|
||||||
[38, '무릉', '소', 3196, 58, 63, 40, 63, 58, '초', 195, 352, ['강릉', '장사', '영릉']],
|
[38, '무릉', '소', 3196, 58, 63, 40, 63, 58, '초', 195, 352, ['강릉', '장사', '영릉']],
|
||||||
[39, '교지', '소', 3195, 58, 59, 40, 58, 59, '남중', 136, 480, ['남만', '남해']],
|
[39, '교지', '소', 3195, 58, 59, 40, 58, 59, '남중', 136, 480, ['남만', '남해']],
|
||||||
@@ -53,7 +53,7 @@ class CityConst extends CityConstBase{
|
|||||||
[46, '강하', '소', 3074, 55, 56, 40, 57, 60, '초', 320, 299, ['양양', '적벽', '여강']],
|
[46, '강하', '소', 3074, 55, 56, 40, 57, 60, '초', 320, 299, ['양양', '적벽', '여강']],
|
||||||
[47, '진양', '소', 3074, 56, 59, 40, 64, 59, '하북', 310, 75, ['흉노', '하동', '하내', '거록', '계']],
|
[47, '진양', '소', 3074, 56, 59, 40, 64, 59, '하북', 310, 75, ['흉노', '하동', '하내', '거록', '계']],
|
||||||
[48, '평원', '소', 3074, 62, 65, 40, 61, 63, '하북', 445, 110, ['남피', '제남', '북해']],
|
[48, '평원', '소', 3074, 62, 65, 40, 61, 63, '하북', 445, 110, ['남피', '제남', '북해']],
|
||||||
[49, '회계', '소', 3005, 64, 59, 40, 62, 64, '오월', 485, 390, ['오', '건안', '소']],
|
[49, '회계', '소', 3005, 64, 59, 40, 62, 64, '오월', 485, 390, ['오', '건안', '대']],
|
||||||
[50, '천수', '소', 2985, 59, 64, 40, 60, 58, '서북', 76, 140, ['무위', '안정', '오장원', '저']],
|
[50, '천수', '소', 2985, 59, 64, 40, 60, 58, '서북', 76, 140, ['무위', '안정', '오장원', '저']],
|
||||||
[51, '평양', '소', 2939, 55, 59, 40, 60, 58, '동이', 606, 97, ['국내', '위례']],
|
[51, '평양', '소', 2939, 55, 59, 40, 60, 58, '동이', 606, 97, ['국내', '위례']],
|
||||||
[52, '요동', '소', 2937, 63, 59, 40, 59, 63, '동이', 549, 26, ['북평', '오환', '국내']],
|
[52, '요동', '소', 2937, 63, 59, 40, 59, 63, '동이', 549, 26, ['북평', '오환', '국내']],
|
||||||
@@ -74,10 +74,10 @@ class CityConst extends CityConstBase{
|
|||||||
[67, '홍농', '소', 2748, 57, 63, 40, 58, 63, '서북', 220, 170, ['하동', '낙양', '장안']],
|
[67, '홍농', '소', 2748, 57, 63, 40, 58, 63, '서북', 220, 170, ['하동', '낙양', '장안']],
|
||||||
[68, '주제', '소', 2746, 58, 61, 40, 61, 58, '남중', 93, 357, ['강주', '월수', '건녕']],
|
[68, '주제', '소', 2746, 58, 61, 40, 61, 58, '남중', 93, 357, ['강주', '월수', '건녕']],
|
||||||
[69, '남만', '이', 2378, 40, 42, 20, 43, 45, '남중', 90, 454, ['운남', '장가', '교지']],
|
[69, '남만', '이', 2378, 40, 42, 20, 43, 45, '남중', 90, 454, ['운남', '장가', '교지']],
|
||||||
[70, '산월', '이', 2275, 40, 37, 20, 43, 38, '오월', 373, 447, ['건안', '소', '남해']],
|
[70, '산월', '이', 2275, 40, 37, 20, 43, 38, '오월', 373, 447, ['건안', '대', '남해']],
|
||||||
[71, '오환', '이', 2153, 42, 37, 20, 43, 40, '동이', 628, 19, ['요동', '국내']],
|
[71, '오환', '이', 2153, 42, 37, 20, 43, 40, '동이', 628, 19, ['요동', '국내']],
|
||||||
[72, '강', '이', 2095, 40, 42, 20, 43, 40, '서북', 154, 70, ['무위', '안정']],
|
[72, '강', '이', 2095, 40, 42, 20, 43, 40, '서북', 154, 70, ['무위', '안정']],
|
||||||
[73, '왜', '이', 2065, 39, 37, 20, 43, 41, '동이', 681, 292, ['계림', '탐라', '소']],
|
[73, '왜', '이', 2065, 39, 37, 20, 43, 41, '동이', 681, 292, ['계림', '탐라', '대']],
|
||||||
[74, '흉노', '이', 2064, 40, 41, 20, 40, 38, '서북', 227, 79, ['진양', '하동']],
|
[74, '흉노', '이', 2064, 40, 41, 20, 40, 38, '서북', 227, 79, ['진양', '하동']],
|
||||||
[75, '저', '이', 1957, 40, 42, 20, 43, 42, '서북', 24, 123, ['무위', '천수', '무도']],
|
[75, '저', '이', 1957, 40, 42, 20, 43, 42, '서북', 24, 123, ['무위', '천수', '무도']],
|
||||||
[76, '호로', '관', 958, 17, 19, 20, 95, 96, '중원', 317, 182, ['낙양', '진류', '허창']],
|
[76, '호로', '관', 958, 17, 19, 20, 95, 96, '중원', 317, 182, ['낙양', '진류', '허창']],
|
||||||
|
|||||||
@@ -152,6 +152,7 @@ CREATE TABLE `general` (
|
|||||||
`recturn` VARCHAR(50) NULL DEFAULT '[0,0,0,0]',
|
`recturn` VARCHAR(50) NULL DEFAULT '[0,0,0,0]',
|
||||||
`resturn` VARCHAR(30) NULL DEFAULT '',
|
`resturn` VARCHAR(30) NULL DEFAULT '',
|
||||||
`penalty` TEXT NULL DEFAULT '',
|
`penalty` TEXT NULL DEFAULT '',
|
||||||
|
`aux` TEXT NOT NULL DEFAULT '{}',
|
||||||
PRIMARY KEY (`no`),
|
PRIMARY KEY (`no`),
|
||||||
INDEX `nation` (`nation`, `npc`),
|
INDEX `nation` (`nation`, `npc`),
|
||||||
INDEX `city` (`city`),
|
INDEX `city` (`city`),
|
||||||
|
|||||||
Reference in New Issue
Block a user