기본 커맨드를 새 turn 테이블 기준으로 변경

This commit is contained in:
2018-09-30 03:17:55 +09:00
parent 4ff30b1a9d
commit 5f8e4ae10c
5 changed files with 17 additions and 115 deletions
-78
View File
@@ -707,84 +707,6 @@ function pullNationCommand(int $nationID, int $level, int $turnCnt=1){
], 'nation_id=%i AND level=%i', $nationID, $level);
}
function updateCommand($no, $type=0) {
$db = DB::db();
$connect=$db->get();
$query = "select no,nation,level from general where no='$no'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
if($type == 0 || $type == 1) { // 턴처리후, 당기기
$query = "
update general set
turn0=turn1,turn1=turn2,turn2=turn3,turn3=turn4,turn4=turn5,turn5=turn6,turn6=turn7,turn7=turn8,turn8=turn9,
turn9=turn10,turn10=turn11,turn11=turn12,turn12=turn13,turn13=turn14,turn14=turn15,turn15=turn16,turn16=turn17,
turn17=turn18,turn18=turn19,turn19=turn20,turn20=turn21,turn21=turn22,turn22=turn23,turn23='".EncodeCommand(0, 0, 0, 0)."'
where no='{$general['no']}'
";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
}
if($type == 2 || ($general['level'] >= 5 && $general['level'] <= 12 && $type == 0)) { // 턴 처리후 수뇌부, 수뇌부 당기기
$turn = "l{$general['level']}turn";
$query = "
update nation set
{$turn}0={$turn}1,{$turn}1={$turn}2,
{$turn}2={$turn}3,{$turn}3={$turn}4,
{$turn}4={$turn}5,{$turn}5={$turn}6,
{$turn}6={$turn}7,{$turn}7={$turn}8,
{$turn}8={$turn}9,{$turn}9={$turn}10,
{$turn}10={$turn}11,{$turn}11='".EncodeCommand(0, 0, 0, 99)."'
where nation='{$general['nation']}'
";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
}
}
function backupdateCommand($no, $type=0) {
$db = DB::db();
$connect=$db->get();
$query = "select no,nation,level from general where no='$no'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
if($type == 1) { // 미루기
$query = "
update general set
turn23=turn22,turn22=turn21,
turn21=turn20,turn20=turn19,
turn19=turn18,turn18=turn17,
turn17=turn16,turn16=turn15,
turn15=turn14,turn14=turn13,
turn13=turn12,turn12=turn11,
turn11=turn10,turn10=turn9,
turn9=turn8,turn8=turn7,
turn7=turn6,turn6=turn5,
turn5=turn4,turn4=turn3,
turn3=turn2,turn2=turn1,
turn1=turn0,turn0='".EncodeCommand(0, 0, 0, 0)."'
where no='$no'
";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} elseif($type == 2) { // 수뇌부 미루기
$turn = "l{$general['level']}turn";
$query = "
update nation set
{$turn}11={$turn}10,{$turn}10={$turn}9,
{$turn}9={$turn}8,{$turn}8={$turn}7,
{$turn}7={$turn}6,{$turn}6={$turn}5,
{$turn}5={$turn}4,{$turn}4={$turn}3,
{$turn}3={$turn}2,{$turn}2={$turn}1,
{$turn}1={$turn}0,{$turn}0='".EncodeCommand(0, 0, 0, 99)."'
where nation='{$general['nation']}'
";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
}
}
function command_Single($turn, $command) {
if(!$turn){
header('location:commandlist.php');
+4 -5
View File
@@ -61,10 +61,6 @@ class TurnExecutionHelper
}
public function updateCommand(){
}
function updateTurnTime(){
$db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env');
@@ -153,7 +149,10 @@ WHERE turntime < %s AND general_turn.turn_idx = 0 ORDER BY turntime ASC, `no` AS
$turnObj = new static($generalWork, $turn, $year, $month);
$turnObj->preprocessCommand();
$turnObj->processCommand();
$turnObj->updateCommand();
pullGeneralCommand($generalWork['no']);
if($generalWork['level'] >= 5){
pullNationCommand($generalWork['nation'], $generalWork['level']);
}
$turnObj->updateTurntime();
$turnObj->applyDB();
+5 -20
View File
@@ -18,6 +18,7 @@ $session = Session::requireGameLogin()->setReadOnly();
$userID = Session::getUserID();
$db = DB::db();
$generalID = $session->generalID;
$gameStor = KVStorage::getStorage($db, 'game_env');
$connect=$db->get();
@@ -40,27 +41,11 @@ case 0://반복
}
$db->update('general', $valueMap, 'owner=%i', $userID);
break;
case 1:
$valueMap = [];
foreach(range(GameConst::$maxTurn -1, $sel, -1) as $idx){
$src = $idx - $sel;
$valueMap['turn'.$idx] = $db->sqleval('%b', 'turn'.$src);
}
foreach(range($sel -1, 0, -1) as $idx){
$valueMap['turn'.$idx] = EncodeCommand(0, 0, 0, 0);
}
$db->update('general', $valueMap, 'owner=%i', $userID);
case 1://미루기
pushGeneralCommand($generalID, $sel);
break;
case 2:
$valueMap = [];
foreach(range(0, GameConst::$maxTurn - $sel - 1) as $idx){
$src = $idx + $sel;
$valueMap['turn'.$idx] = $db->sqleval('%b', 'turn'.$src);
}
foreach(range(GameConst::$maxTurn - $sel, GameConst::$maxTurn - 1) as $idx){
$valueMap['turn'.$idx] = EncodeCommand(0, 0, 0, 0);
}
$db->update('general', $valueMap, 'owner=%i', $userID);
case 2://당기기
pullGeneralCommand($generalID, $sel);
break;
}
+4 -6
View File
@@ -8,12 +8,10 @@ $session = Session::requireGameLogin()->setReadOnly();
$userID = Session::getUserID();
$db = DB::db();
$connect=$db->get();
$me = $db->queryFirstRow('SELECT no,nation,level FROM general WHERE owner=%i', $userID);
$query = "select no from general where owner='{$userID}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$me = MYDB_fetch_array($result);
updateCommand($me['no'], 2);
if($me['level'] >= 5 && $me['nation'] > 0){
pullNationCommand($me['nation'], $me['level']);
}
header('location:b_chiefcenter.php');
+4 -6
View File
@@ -8,12 +8,10 @@ $session = Session::requireGameLogin()->setReadOnly();
$userID = Session::getUserID();
$db = DB::db();
$connect=$db->get();
$me = $db->queryFirstRow('SELECT no,nation,level FROM general WHERE owner=%i', $userID);
$query = "select no from general where owner='{$userID}'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$me = MYDB_fetch_array($result);
backupdateCommand($me['no'], 2);
if($me['level'] >= 5 && $me['nation'] > 0){
pushNationCommand($me['nation'], $me['level']);
}
header('location:b_chiefcenter.php');