[881bf08aee]v.0.10.0 커밋까지 반영

This commit is contained in:
2019-04-07 23:23:46 +09:00
13 changed files with 118 additions and 53 deletions
+1 -1
View File
@@ -351,7 +351,7 @@ if($meLevel == 12):
<?php
endif;
?>
<table align=center width=1000 class='tb_layout bg0'>
<table align=center width=1000 id='officer_list' class='tb_layout bg0'>
<tr><td colspan=5 height=5></td></tr>
<?php
if($meLevel >= 5) {
+31 -20
View File
@@ -59,7 +59,7 @@ if($btn == "임명") {
header('location:b_myBossInfo.php');
exit();
}
$query = "select no,name,gold,rice,nation,troop,level,npc,picture,imgsvr,permission,penalty from general where no='$outlist'";
$query = "select no,name,gold,rice,nation,troop,level,npc,picture,imgsvr,permission,penalty,belong from general where no='$outlist'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
@@ -302,27 +302,29 @@ if($btn == "임명" && $level >= 5 && $level <= 11) {
if($btn == "임명" && $level >= 2 && $level <= 4 && $citylist > 0) {
switch($level) {
case 4: $lv = 1; break;
case 3: $lv = 2; break;
case 2: $lv = 3; break;
case 4: $genlv = 'gen1'; $genlvset = 'gen1set'; break;
case 3: $genlv = 'gen2'; $genlvset = 'gen2set'; break;
case 2: $genlv = 'gen3'; $genlvset = 'gen3set'; break;
}
$query = "select gen{$lv} from city where nation='{$me['nation']}' and city='$citylist'";
$query = "select {$genlv} from city where nation='{$me['nation']}' and city='$citylist'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$city = MYDB_fetch_array($result);
if(!$city){
header('location:b_myBossInfo.php');
die();
}
$oldlist = $city["gen{$lv}"];
$oldlist = $city[$genlv];
if($oldlist != 0) {
//기존 장수 일반으로
$query = "update general set level=1 where no='$oldlist'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$db->update('general', [
'level'=>1
], 'no=%i', $oldlist);
//기존 자리 공석으로
$query = "update city set gen{$lv}=0 where city='$citylist'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$db->update('city', [
$genlv=>0
], 'city = %i AND nation = %i', $citylist , $me['nation']);
}
if($genlist != 0) {
$valid = 0;
@@ -334,17 +336,26 @@ if($btn == "임명" && $level >= 2 && $level <= 4 && $citylist > 0) {
if($valid == 1) {
// 신임 장수의 원래 자리 해제
$query = "update city set gen1=0 where gen1='$genlist'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$query = "update city set gen2=0 where gen2='$genlist'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$query = "update city set gen3=0 where gen3='$genlist'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$db->update('city', [
'gen1'=>0,
], 'gen1=%i', $genlist);
$db->update('city', [
'gen2'=>0,
], 'gen2=%i', $genlist);
$db->update('city', [
'gen3'=>0,
], 'gen3=%i', $genlist);
//신임 장수
$query = "update general set level='$level' where no='$genlist'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$query = "update city set gen{$lv}='$genlist',gen{$lv}set='1' where city='$citylist'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$db->update('city', [
$genlv=>$genlist,
$genlvset=>1
], 'city=%i AND nation=%i', $citylist, $general['nation']);
if($db->affectedRows() > 0){
$db->update('general',[
'level'=>$level
], 'no=%i', $genlist);
}
}
}
header('location:b_myBossInfo.php');
+15 -4
View File
@@ -1475,7 +1475,7 @@ function CheckHall($no) {
];
$jsonAux = Json::encode($aux);
$db->insertUpdate('ng_hall', [
$db->insertIgnore('ng_hall', [
'server_id'=>UniqueConst::$serverID,
'scenario'=>$scenarioIdx,
'general_no'=>$no,
@@ -1483,10 +1483,21 @@ function CheckHall($no) {
'value'=>$general[$typeName]??0,
'owner'=>$general['owner']??null,
'aux'=>$jsonAux
],[
'value'=>$general[$typeName]??0,
'aux'=>$jsonAux
]);
if($db->affectedRows() == 0){
$db->update('ng_hall', [
'value'=>$general[$typeName]??0,
'aux'=>$jsonAux
],
'server_id = %s AND scenario = %i AND general_no = %i AND type = %i AND value < %?',
UniqueConst::$serverID,
$scenarioIdx,
$no,
$idx,
$general[$typeName]??0);
}
}
}
+21 -11
View File
@@ -860,18 +860,28 @@ function process_54(&$general) {
$log[] = "<C>●</>{$admin['month']}월:현재 통합 진행중입니다. 선양 실패.";
} else {
//군주 교체
$query = "update general set level='12' where no='$who'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
// 태수,군사,종사이었다면 해제
$query = "update city set gen1='0' where gen1='$who'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$query = "update city set gen2='0' where gen2='$who'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$query = "update city set gen3='0' where gen3='$who'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$db->update('general', [
'level'=>12,
'permission'=>'normal'
], 'no=%i', $who);
$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),"");
// 태수,군사,종사이었다면 해제
$db->update('city', [
'gen1'=>0,
], 'gen1=%i', $who);
$db->update('city', [
'gen2'=>0,
], 'gen2=%i', $who);
$db->update('city', [
'gen3'=>0,
], 'gen3=%i', $who);
$db->update('general', [
'resturn'=>'SUCCESS',
'level'=>1,
'permission'=>'auditor',
'experience'=>$db->sqleval('experience*0.7'),
], 'no=%i', $general['no']);
$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']}</>에게 선양했습니다.";
+1 -1
View File
@@ -36,7 +36,7 @@ function processSpring() {
$admin = $gameStor->getValues(['year', 'month']);
pushWorldHistory(["<R>★</>{$admin['year']}{$admin['month']}월: <S>모두들 즐거운 게임 하고 계신가요? ^^ <Y>삼국일보</> 애독해 주시고, <M>훼접</>은 삼가주세요~</>"], $admin['year'], $admin['month']);
pushWorldHistory(["<R>★</>{$admin['year']}{$admin['month']}월: <S>모두들 즐거운 게임 하고 계신가요? ^^ <Y>매너 있는 플레이</> 부탁드리고, <M>지나친 훼접</>은 삼가주세요~</>"], $admin['year'], $admin['month']);
}
function processGoldIncome() {
+1 -1
View File
@@ -12,7 +12,7 @@ $result = [
$session = Session::requireGameLogin([])->setReadOnly();
$userID = Session::getUserID();
$generalInfo = DB::db()->queryFirstRow('SELECT `no`, `nation`, `level`, penalty, permission from `general` where `owner`=%i', $userID);
$generalInfo = DB::db()->queryFirstRow('SELECT `no`, `nation`, `level`, belong, penalty, permission from `general` where `owner`=%i', $userID);
if(!$generalInfo){
Json::die($result);
}
+11
View File
@@ -112,6 +112,17 @@ $msg = new Message(
);
$msgID = $msg->send();
$msg = new Message(
Message::MSGTYPE_NATIONAL,
$src,
$dest,
$msgText,
$now,
$unlimited,
['invalid' => true]
);
$msgID = $msg->send();
Json::die([
'result'=>true,
'reason'=>'success'
+2 -2
View File
@@ -49,7 +49,7 @@ $now = new \DateTime();
$unlimited = new \DateTime('9999-12-31');
$db = DB::db();
$me = $db->queryFirstRow('SELECT `no`,`name`,`nation`,`level`,`con`,`picture`,`imgsvr`,penalty,permission FROM general WHERE `owner`=%i', $userID);
$me = $db->queryFirstRow('SELECT `no`,`name`,`nation`,`level`,`con`,`picture`,`imgsvr`,penalty,permission,belong FROM general WHERE `owner`=%i', $userID);
if(!$me){
$session->logoutGame();
@@ -161,7 +161,7 @@ if($mailbox > 0) {
}
$destPermission = checkSecretPermission($destUser, false);
if($permission == 4 && $destPermission == 4){
if($permission == 4 && $destPermission == 4 && $destUser['nation'] != $me['nation']){
Json::die([
'result' => false,
'reason' => '외교권자끼리는 메시지를 보낼 수 없습니다.',
+1 -10
View File
@@ -330,16 +330,7 @@ $(function() {
//window.$html = $html;
var cnt =0;
var $tmpTable = null;
$html.each(function(idx){
if(this.tagName == "TABLE"){
cnt+=1;
if(cnt==5){
$tmpTable = $(this);
return false;
}
}
});
var $tmpTable = $html.filter('#officer_list').eq(0);
$selects = $tmpTable.find("select");
if($selects.length == 0){
+1 -1
View File
@@ -385,7 +385,7 @@ function refreshMailboxList(obj){
var $item = $('<option value="{0}">{1}</option>'.format(generalID, textName));
if(permissionLevel == 4 && isAmbassador){
if(permissionLevel == 4 && isAmbassador && myNation.mailbox != nation.mailbox){
$item.prop('disabled', true);
}
$optgroup.append($item);
+14
View File
@@ -345,6 +345,20 @@ class DiplomaticMessage extends Message{
$this->invalidate();
$newMsg->send();
$newMsg = new Message(
self::MSGTYPE_DIPLOMACY,
$this->dest,
$this->src,
"【외교】{$year}{$month}월: {$this->src->nationName}{$josaYi} {$this->dest->nationName}에게 제안한 {$this->diplomacyDetail}{$this->diplomacyName} 동의.",
new \DateTime(),
new \DateTime('9999-12-31'),
[
'delete'=>$this->id,
'silence'=>true,
]
);
$newMsg->send();
return self::ACCEPTED;
}
+10
View File
@@ -1107,6 +1107,12 @@ class GeneralAI{
$arg = null;
$generalObj->setVar('killturn', 1);
}
else if($general->getVar('level') == 12){
$command = 'che_선양';
$arg = [
'destGeneralID'=> $db->queryFirstField('SELECT `no` FROM general WHERE nation = %i AND npc != 5 ORDER BY RAND() LIMIT 1', $general->getNationID())
];
}
else{
$command = 'che_집합'; //집합
$arg = [];
@@ -1618,6 +1624,10 @@ class GeneralAI{
//이 함수를 부르는건 군주 AI이므로, 군주는 세지 않아도 됨
$userChief = [];
$db->update('general', [
'permission'=>'ambassador',
], 'nation=%i AND npc < 2 AND level > 4', $nationID);
foreach($db->query(
'SELECT no, npc, level, killturn FROM general WHERE nation = %i AND 12 > level AND level > 4', $nationID
) as $chief){
+9 -2
View File
@@ -33,7 +33,7 @@ else if ($isSecretBoard && $permission < 2) {
die();
}
$boardName = $isSecretBoard?'회의실':'기밀실';
$boardName = $isSecretBoard?'기밀실':'회의실';
?>
<!DOCTYPE html>
@@ -63,6 +63,13 @@ var isSecretBoard = <?=($isSecretBoard?'true':'false')?>; //
</head>
<body>
<div style='width:1000px;margin:auto;' class='tb_layout bg0'>
<?=$boardName?><br>
<?=backButton()?>
</div>
<table id='newArticle' class='bg0'>
<thead>
<tr><td colspan='2' class='newArticleHeader bg2'>새 게시물 작성</td>
@@ -113,7 +120,7 @@ var isSecretBoard = <?=($isSecretBoard?'true':'false')?>; //
</tr>
</template>
<div style='width=1000px;' class='tb_layout bg0'>
<div style='width:1000px;margin:auto;' class='tb_layout bg0'>
<?=backButton()?><br>
<?=banner()?>
</div>