diff --git a/hwe/_admin2_submit.php b/hwe/_admin2_submit.php
index 483f5d67..0d8fdf2d 100644
--- a/hwe/_admin2_submit.php
+++ b/hwe/_admin2_submit.php
@@ -29,6 +29,14 @@ $gameStor = KVStorage::getStorage($db, 'game_env');
$src = MessageTarget::buildQuick($session->generalID);
+$genObjList = [];
+$env = [];
+if($genlist){
+ foreach($genlist as $genID){
+ $genObjList[$genID] = General::createGeneralObjFromDB($genID);
+ }
+ $env = $gameStor->cacheAll();
+}
switch($btn) {
case "전체 접속허용":
$db->update('general', [
@@ -99,7 +107,8 @@ switch($btn) {
], '`no` IN %li', $genlist);
$db->update('general_turn', [
'action'=>'휴식',
- 'arg'=>'{}'
+ 'arg'=>'{}',
+ 'brief'=>'휴식',
], 'general_id IN %li AND turn_idx = 0', $genlist);
break;
case "특기 부여":
@@ -314,17 +323,20 @@ switch($btn) {
case "하야입력":
$db->update('general_turn', [
'action'=>'che_하야',
- 'arg'=>'{}'
+ 'arg'=>'{}',
+ 'brief'=>'하야',
], 'general_id IN %li AND turn_idx = 0', $genlist);
break;
case "방랑해산":
$db->update('general_turn', [
'action'=>'che_방랑',
- 'arg'=>'{}'
+ 'arg'=>'{}',
+ 'brief'=>'방랑',
], 'general_id IN %li AND turn_idx = 0', $genlist);
$db->update('general_turn', [
'action'=>'che_해산',
- 'arg'=>'{}'
+ 'arg'=>'{}',
+ 'brief'=>'해산',
], 'general_id IN %li AND turn_idx = 1', $genlist);
break;
case "00턴":
diff --git a/hwe/_admin4_submit.php b/hwe/_admin4_submit.php
index 6010a0bb..2e33444e 100644
--- a/hwe/_admin4_submit.php
+++ b/hwe/_admin4_submit.php
@@ -58,7 +58,8 @@ switch($btn) {
], '`no` IN %li', $genlist);
$db->update('general_turn', [
'action'=>'휴식',
- 'arg'=>'{}'
+ 'arg'=>'{}',
+ 'brief'=>'휴식'
], 'general_id IN %li AND turn_idx = 0', $genlist);
break;
case "메세지 전달":
diff --git a/hwe/b_currentCity.php b/hwe/b_currentCity.php
index 81a5a08f..744dcc25 100644
--- a/hwe/b_currentCity.php
+++ b/hwe/b_currentCity.php
@@ -211,14 +211,14 @@ $generals = $db->query(
$generalTurnList = [];
foreach($db->queryAllLists(
- 'SELECT general_id, turn_idx, action, arg FROM general_turn WHERE general_id IN %li AND turn_idx < 5 ORDER BY general_id ASC, turn_idx ASC',
+ 'SELECT general_id, turn_idx, brief FROM general_turn WHERE general_id IN %li AND turn_idx < 5 ORDER BY general_id ASC, turn_idx ASC',
array_column($generals, 'no')
- ) as [$generalID, $turnIdx, $action, $arg]
+ ) as [$generalID, $turnIdx, $brief]
){
if(!key_exists($generalID, $generalTurnList)){
$generalTurnList[$generalID] = [];
}
- $generalTurnList[$generalID][$turnIdx] = [$action, Json::decode($arg)];
+ $generalTurnList[$generalID][$turnIdx] = $brief;
}
$nationname = [];
@@ -300,8 +300,7 @@ for($j=0; $j < $gencount; $j++) {
if($ourGeneral && !$isNPC){
$turnText = [];
$generalObj = new General($general, null, null, null, false);
- $turnBrief = getGeneralTurnBrief($generalObj, $generalTurnList[$generalObj->getID()]);
- foreach($turnBrief as $turnRawIdx=>$turn){
+ foreach($generalTurnList[$generalObj->getID()] as $turnRawIdx=>$turn){
$turnIdx = $turnRawIdx+1;
$turnText[] = "{$turnIdx} : $turn";
}
diff --git a/hwe/b_genList.php b/hwe/b_genList.php
index 831f3e05..20e927bc 100644
--- a/hwe/b_genList.php
+++ b/hwe/b_genList.php
@@ -111,14 +111,14 @@ $generals = $db->query(
$generalTurnList = [];
foreach($db->queryAllLists(
- 'SELECT general_id, turn_idx, action, arg FROM general_turn WHERE general_id IN %li AND turn_idx < 5 ORDER BY general_id ASC, turn_idx ASC',
+ 'SELECT general_id, turn_idx, brief FROM general_turn WHERE general_id IN %li AND turn_idx < 5 ORDER BY general_id ASC, turn_idx ASC',
array_column($generals, 'no')
- ) as [$generalID, $turnIdx, $action, $arg]
+ ) as [$generalID, $turnIdx, $brief]
){
if(!key_exists($generalID, $generalTurnList)){
$generalTurnList[$generalID] = [];
}
- $generalTurnList[$generalID][$turnIdx] = [$action, Json::decode($arg)];
+ $generalTurnList[$generalID][$turnIdx] = $brief;
}
$genCntEff = 0;
@@ -173,11 +173,7 @@ foreach ($generals as &$general) {
if ($general['npc'] < 2) {
- $generalObj = new General($general, null, null, null, false);
- $turnBrief = getGeneralTurnBrief($genralObj, $generalTurnList[$generalObj->getID()]);
- $turntext = [];
-
- foreach($turnBrief as $turnRawIdx=>$turn){
+ foreach($generalTurnList[$generalObj->getID()] as $turnRawIdx=>$turn){
$turn = StringUtil::subStringForWidth($turn, 0, 41);
$turnIdx = $turnRawIdx+1;
$turntext[] = " $turnIdx : $turn";
diff --git a/hwe/b_troop.php b/hwe/b_troop.php
index 855d192e..701c20b4 100644
--- a/hwe/b_troop.php
+++ b/hwe/b_troop.php
@@ -43,14 +43,14 @@ if($troops){
);
foreach($db->queryAllLists(
- 'SELECT general_id, turn_idx, action, arg FROM general_turn WHERE general_id IN %li AND turn_idx < 5 ORDER BY general_id ASC, turn_idx ASC',
+ 'SELECT general_id, turn_idx, brief FROM general_turn WHERE general_id IN %li AND turn_idx < 5 ORDER BY general_id ASC, turn_idx ASC',
array_column($troopLeaders, 'no')
- ) as [$generalID, $turnIdx, $action, $arg]
+ ) as [$generalID, $turnIdx, $brief]
){
if(!key_exists($generalID, $generalTurnList)){
$generalTurnList[$generalID] = [];
}
- $generalTurnList[$generalID][$turnIdx] = [$action, Json::decode($arg)];
+ $generalTurnList[$generalID][$turnIdx] = $brief;
}
foreach($troopLeaders as $troopLeader){
@@ -60,13 +60,12 @@ if($troops){
$troopLeader['cityText'] = CityConst::byID($troopLeader['city'])->name;
$turnText = [];
- foreach($generalTurnList[$troopLeader['no']] as $rawTurnIdx => [$action, $arg]){
- $actionName = getGeneralCommandClass($action)::getName();
- if($actionName != '집합'){
- $actionName = '~';
+ foreach($generalTurnList[$troopLeader['no']] as $rawTurnIdx => $brief){
+ if($brief != '집합'){
+ $brief = '~';
}
$turnIdx = $rawTurnIdx + 1;
- $turnText[] = "{$turnIdx} : {$actionName}";
+ $turnText[] = "{$turnIdx} : {$brief}";
}
$troopLeader['turnText'] = join('
', $turnText);
$troops[$troopLeader['troop']]['leader'] = $troopLeader;
diff --git a/hwe/func.php b/hwe/func.php
index f317dd2c..a54aeee9 100644
--- a/hwe/func.php
+++ b/hwe/func.php
@@ -569,10 +569,10 @@ function generalInfo(General $generalObj) {
}
else{
$troopCity = $db->queryFirstField('SELECT city FROM general WHERE no=%i', $generalObj->getVar('troop'));
- $troopTurn = $db->queryFirstField('SELECT `action` FROM general_turn WHERE general_id = %i AND turn_idx = 0', $generalObj->getVar('troop'));
+ $troopTurn = $db->queryFirstField('SELECT `brief` FROM general_turn WHERE general_id = %i AND turn_idx = 0', $generalObj->getVar('troop'));
$troopInfo = $db->queryFirstField('SELECT name FROM troop WHERE troop_leader = %i', $generalObj->getVar('troop'));
- if($troopTurn == 'che_집합'){
+ if($troopTurn == '집합'){
$troopInfo = "{$troopInfo}";
}
else if($troopCity != $generalObj->getCityID()){
diff --git a/hwe/func_command.php b/hwe/func_command.php
index b43ec0eb..cd568bdc 100644
--- a/hwe/func_command.php
+++ b/hwe/func_command.php
@@ -43,7 +43,8 @@ function pushGeneralCommand(int $generalID, int $turnCnt=1){
$db->update('general_turn', [
'turn_idx'=>$db->sqleval('turn_idx - %i', GameConst::$maxTurn),
'action'=>'휴식',
- 'arg'=>'{}'
+ 'arg'=>'{}',
+ 'brief'=>'휴식'
], 'general_id=%i AND turn_idx >= %i ORDER BY turn_idx ASC', $generalID, GameConst::$maxTurn);
}
@@ -63,7 +64,8 @@ function pullGeneralCommand(int $generalID, int $turnCnt=1){
$db->update('general_turn', [
'turn_idx'=>$db->sqleval('turn_idx + %i', GameConst::$maxTurn),
'action'=>'휴식',
- 'arg'=>'{}'
+ 'arg'=>'{}',
+ 'brief'=>'휴식'
], 'general_id=%i AND turn_idx < %i', $generalID, $turnCnt);
$db->update('general_turn', [
'turn_idx'=>$db->sqleval('turn_idx - %i', $turnCnt)
@@ -95,7 +97,8 @@ function pushNationCommand(int $nationID, int $level, int $turnCnt=1){
$db->update('nation_turn', [
'turn_idx'=>$db->sqleval('turn_idx - %i', GameConst::$maxChiefTurn),
'action'=>'휴식',
- 'arg'=>'{}'
+ 'arg'=>'{}',
+ 'brief'=>'휴식'
], 'nation_id=%i AND level=%i AND turn_idx >= %i ORDER BY turn_idx ASC', $nationID, $level, GameConst::$maxChiefTurn);
}
@@ -121,14 +124,15 @@ function pullNationCommand(int $nationID, int $level, int $turnCnt=1){
$db->update('nation_turn', [
'turn_idx'=>$db->sqleval('turn_idx + %i', GameConst::$maxChiefTurn),
'action'=>'휴식',
- 'arg'=>'{}'
+ 'arg'=>'{}',
+ 'brief'=>'휴식',
], 'nation_id=%i AND level=%i AND turn_idx < %i', $nationID, $level, $turnCnt);
$db->update('nation_turn', [
'turn_idx'=>$db->sqleval('turn_idx - %i', $turnCnt)
], 'nation_id=%i AND level=%i ORDER BY turn_idx ASC', $nationID, $level);
}
-function _setGeneralCommand(int $generalID, array $turnList, string $command, ?array $arg = null) {
+function _setGeneralCommand(int $generalID, array $turnList, string $command, ?array $arg, string $brief) {
if(!$turnList){
return;
}
@@ -137,11 +141,12 @@ function _setGeneralCommand(int $generalID, array $turnList, string $command, ?a
$db->update('general_turn', [
'action'=>$command,
- 'arg'=>Json::encode($arg, JSON::EMPTY_ARRAY_IS_DICT)
+ 'arg'=>Json::encode($arg, JSON::EMPTY_ARRAY_IS_DICT),
+ 'brief'=>$brief
], 'general_id = %i AND turn_idx IN %li', $generalID, $turnList);
}
-function _setNationCommand(int $nationID, int $level, array $turnList, string $command, ?array $arg = null) {
+function _setNationCommand(int $nationID, int $level, array $turnList, string $command, ?array $arg, string $brief) {
if(!$turnList){
return;
}
@@ -150,7 +155,8 @@ function _setNationCommand(int $nationID, int $level, array $turnList, string $c
$db->update('nation_turn', [
'action'=>$command,
- 'arg'=>Json::encode($arg, JSON::EMPTY_ARRAY_IS_DICT)
+ 'arg'=>Json::encode($arg, JSON::EMPTY_ARRAY_IS_DICT),
+ 'brief'=>$brief
], 'nation_id = %i AND level = %i AND turn_idx IN %li', $nationID, $level, $turnList);
}
@@ -252,7 +258,9 @@ function setGeneralCommand(int $generalID, array $turnList, string $command, ?ar
];
}
- _setGeneralCommand($generalID, $turnList, $command, $arg);
+ $brief = $commandObj->getBrief();
+
+ _setGeneralCommand($generalID, $turnList, $command, $arg, $brief);
return [
'result'=>true,
'arg_test'=>true,
diff --git a/hwe/func_gamerule.php b/hwe/func_gamerule.php
index a1681ea3..81a48207 100644
--- a/hwe/func_gamerule.php
+++ b/hwe/func_gamerule.php
@@ -697,7 +697,8 @@ function checkMerge() {
if($npcList){
$db->update('general_turn', [
'action'=>'che_하야',
- 'arg'=>null
+ 'arg'=>null,
+ 'brief'=>'하야',
], 'general_id IN %li AND turn_idx = 0');
}
@@ -854,7 +855,8 @@ function checkSurrender() {
if($npcList){
$db->update('general_turn', [
'action'=>'che_하야',
- 'arg'=>null
+ 'arg'=>null,
+ 'brief'=>'하야',
], 'general_id IN %li AND turn_idx = 0');
}
@@ -939,6 +941,7 @@ function updateNationState() {
'turn_idx'=>$turnIdx,
'action'=>'휴식',
'arg'=>null,
+ 'brief'=>'휴식'
];
}
}
diff --git a/hwe/index.php b/hwe/index.php
index 888ff47d..bf493d6c 100644
--- a/hwe/index.php
+++ b/hwe/index.php
@@ -241,12 +241,25 @@ else if($session->userGrade == 4){
| - 명령 목록 - | |||
| =$turnIdx+1?> | |||