diff --git a/hwe/b_myBossInfo.php b/hwe/b_myBossInfo.php
index fcc24014..e87c5453 100644
--- a/hwe/b_myBossInfo.php
+++ b/hwe/b_myBossInfo.php
@@ -351,7 +351,7 @@ if($meLevel == 12):
-
+
|
= 5) {
diff --git a/hwe/c_myBossInfo.php b/hwe/c_myBossInfo.php
index 49b78a9a..f138d2c7 100644
--- a/hwe/c_myBossInfo.php
+++ b/hwe/c_myBossInfo.php
@@ -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');
diff --git a/hwe/func.php b/hwe/func.php
index 5f2e595e..802fd745 100644
--- a/hwe/func.php
+++ b/hwe/func.php
@@ -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);
+ }
+
}
}
diff --git a/hwe/func_process_personnel.old.php b/hwe/func_process_personnel.old.php
index 5e67931f..b3335805 100644
--- a/hwe/func_process_personnel.old.php
+++ b/hwe/func_process_personnel.old.php
@@ -860,18 +860,28 @@ function process_54(&$general) {
$log[] = "●>{$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[] = "●>{$admin['year']}년 {$admin['month']}월:【선양】>{$general['name']}>{$josaYi} {$nation['name']}>의 군주 자리를 {$nextruler['name']}>에게 선양했습니다.";
diff --git a/hwe/func_time_event.php b/hwe/func_time_event.php
index 8ee81d14..725507fa 100644
--- a/hwe/func_time_event.php
+++ b/hwe/func_time_event.php
@@ -36,7 +36,7 @@ function processSpring() {
$admin = $gameStor->getValues(['year', 'month']);
- pushWorldHistory(["★>{$admin['year']}년 {$admin['month']}월: 모두들 즐거운 게임 하고 계신가요? ^^ 삼국일보> 애독해 주시고, 훼접>은 삼가주세요~>"], $admin['year'], $admin['month']);
+ pushWorldHistory(["★>{$admin['year']}년 {$admin['month']}월: 모두들 즐거운 게임 하고 계신가요? ^^ 매너 있는 플레이> 부탁드리고, 지나친 훼접>은 삼가주세요~>"], $admin['year'], $admin['month']);
}
function processGoldIncome() {
diff --git a/hwe/j_basic_info.php b/hwe/j_basic_info.php
index b7fccd3a..ac458e7c 100644
--- a/hwe/j_basic_info.php
+++ b/hwe/j_basic_info.php
@@ -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);
}
diff --git a/hwe/j_diplomacy_respond_letter.php b/hwe/j_diplomacy_respond_letter.php
index a8e492c7..294f3fc4 100644
--- a/hwe/j_diplomacy_respond_letter.php
+++ b/hwe/j_diplomacy_respond_letter.php
@@ -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'
diff --git a/hwe/j_msg_submit.php b/hwe/j_msg_submit.php
index 51bd87b9..e5abb600 100644
--- a/hwe/j_msg_submit.php
+++ b/hwe/j_msg_submit.php
@@ -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' => '외교권자끼리는 메시지를 보낼 수 없습니다.',
diff --git a/hwe/js/ext.expand_city.js b/hwe/js/ext.expand_city.js
index 6a7e2c45..2b705fd1 100644
--- a/hwe/js/ext.expand_city.js
+++ b/hwe/js/ext.expand_city.js
@@ -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){
diff --git a/hwe/js/msg.js b/hwe/js/msg.js
index b812cc49..b70eaf93 100644
--- a/hwe/js/msg.js
+++ b/hwe/js/msg.js
@@ -385,7 +385,7 @@ function refreshMailboxList(obj){
var $item = $(''.format(generalID, textName));
- if(permissionLevel == 4 && isAmbassador){
+ if(permissionLevel == 4 && isAmbassador && myNation.mailbox != nation.mailbox){
$item.prop('disabled', true);
}
$optgroup.append($item);
diff --git a/hwe/sammo/DiplomaticMessage.php b/hwe/sammo/DiplomaticMessage.php
index 183d2e0a..2bb69009 100644
--- a/hwe/sammo/DiplomaticMessage.php
+++ b/hwe/sammo/DiplomaticMessage.php
@@ -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;
}
diff --git a/hwe/sammo/GeneralAI.php b/hwe/sammo/GeneralAI.php
index 9f641790..599046b3 100644
--- a/hwe/sammo/GeneralAI.php
+++ b/hwe/sammo/GeneralAI.php
@@ -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){
diff --git a/hwe/t_board.php b/hwe/t_board.php
index 2827e080..5ca5cd8a 100644
--- a/hwe/t_board.php
+++ b/hwe/t_board.php
@@ -33,7 +33,7 @@ else if ($isSecretBoard && $permission < 2) {
die();
}
-$boardName = $isSecretBoard?'회의실':'기밀실';
+$boardName = $isSecretBoard?'기밀실':'회의실';
?>
@@ -63,6 +63,13 @@ var isSecretBoard = =($isSecretBoard?'true':'false')?>; //
+
+
+ =$boardName?>
+ =backButton()?>
+
+
+
| 새 게시물 작성 |
@@ -113,7 +120,7 @@ var isSecretBoard = =($isSecretBoard?'true':'false')?>; //
-
+
=backButton()?>
=banner()?>