관직 비우기 안되는 것 수정

This commit is contained in:
2020-06-11 00:29:36 +09:00
parent fa2841fac6
commit 0a6496ddfb
2 changed files with 554 additions and 559 deletions
+360 -359
View File
@@ -1,360 +1,361 @@
<?php <?php
namespace sammo; namespace sammo;
include "lib.php"; include "lib.php";
include "func.php"; include "func.php";
WebUtil::requireAJAX(); WebUtil::requireAJAX();
$action = Util::getPost('action'); $action = Util::getPost('action');
$officerLevel = Util::getPost('officerLevel', 'int'); $officerLevel = Util::getPost('officerLevel', 'int');
$destGeneralID = Util::getPost('destGeneralID', 'int'); $destGeneralID = Util::getPost('destGeneralID', 'int');
$destCityID = Util::getPost('destCityID', 'int'); $destCityID = Util::getPost('destCityID', 'int');
//로그인 검사 //로그인 검사
$session = Session::requireGameLogin()->setReadOnly(); $session = Session::requireGameLogin()->setReadOnly();
$userID = Session::getUserID(); $userID = Session::getUserID();
$db = DB::db(); $db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor = KVStorage::getStorage($db, 'game_env');
$gameStor->cacheValues(['startyear','year','month','scenario']); $gameStor->cacheValues(['startyear','year','month','scenario']);
$me = $db->queryFirstRow('SELECT no,nation,officer_level from general where owner=%i', $userID); $me = $db->queryFirstRow('SELECT no,nation,officer_level from general where owner=%i', $userID);
$myOfficerLevel = $me['officer_level']; $myOfficerLevel = $me['officer_level'];
$nationID = $me['nation']; $nationID = $me['nation'];
//수뇌가 아니면 아무것도 할 수 없음 //수뇌가 아니면 아무것도 할 수 없음
if($myOfficerLevel < 5){ if($myOfficerLevel < 5){
Json::die([ Json::die([
'result'=>false, 'result'=>false,
'reason'=>'수뇌가 아닙니다.' 'reason'=>'수뇌가 아닙니다.'
]); ]);
} }
if($action === '추방' && $destGeneralID==0){ if($action === '추방' && $destGeneralID==0){
Json::die([ Json::die([
'result'=>false, 'result'=>false,
'reason'=>'장수가 지정되지 않았습니다.' 'reason'=>'장수가 지정되지 않았습니다.'
]); ]);
} }
if($destGeneralID==0){ if($destGeneralID==0){
$general = new DummyGeneral(true); $general = new DummyGeneral(true);
} $general->setVar('nation', $nationID);
else{ }
$general = General::createGeneralObjFromDB($destGeneralID, [ else{
'name', 'leadership', 'strength', 'intel', 'gold','rice', $general = General::createGeneralObjFromDB($destGeneralID, [
'troop','officer_level','npc','picture','imgsvr', 'name', 'leadership', 'strength', 'intel', 'gold','rice',
'permission','penalty','belong', 'crewtype', 'troop','officer_level','npc','picture','imgsvr',
'experience', 'dedication', 'betray', 'dedlevel', 'explevel', 'makelimit', 'permission','penalty','belong', 'crewtype',
], 1); 'experience', 'dedication', 'betray', 'dedlevel', 'explevel', 'makelimit',
], 1);
if($general instanceof DummyGeneral){
Json::die([ if($general instanceof DummyGeneral){
'result'=>false, Json::die([
'reason'=>'올바르지 않은 장수입니다.' 'result'=>false,
]); 'reason'=>'올바르지 않은 장수입니다.'
} ]);
}
if($nationID != $general->getNationID()){
Json::die([ if($nationID != $general->getNationID()){
'result'=>false, Json::die([
'reason'=>'아국 장수가 아닙니다' 'result'=>false,
]); 'reason'=>'아국 장수가 아닙니다'
} ]);
} }
}
if($officerLevel == 12){
Json::die([ if($officerLevel == 12){
'result'=>false, Json::die([
'reason'=>'군주를 대상으로 할 수 없습니다.' 'result'=>false,
]); 'reason'=>'군주를 대상으로 할 수 없습니다.'
} ]);
}
function do수뇌임명(General $general, int $targetOfficerLevel):?string{
$generalID = $general->getID(); function do수뇌임명(General $general, int $targetOfficerLevel):?string{
$nationID = $general->getNationID(); $generalID = $general->getID();
$nationID = $general->getNationID();
$db = DB::db();
$db = DB::db();
[$chiefSet, $nationLevel] = $db->queryFirstList('SELECT chief_set,level FROM nation WHERE nation = %i',$nationID);
[$chiefSet, $nationLevel] = $db->queryFirstList('SELECT chief_set,level FROM nation WHERE nation = %i',$nationID);
// 임명가능 레벨
$lv = getNationChiefLevel($nationLevel); // 임명가능 레벨
$lv = getNationChiefLevel($nationLevel);
if($targetOfficerLevel < $lv){
return '임명불가능한 관직입니다.'; if($targetOfficerLevel < $lv){
} return '임명불가능한 관직입니다.';
}
if(isOfficerSet($chiefSet, $targetOfficerLevel)){
return '지금은 임명할 수 없습니다.'; if(isOfficerSet($chiefSet, $targetOfficerLevel)){
} return '지금은 임명할 수 없습니다.';
}
//기존 장수 일반으로
$db->update('general', [ //기존 장수 일반으로
'officer_level'=>1, $db->update('general', [
'officer_city'=>0, 'officer_level'=>1,
], 'nation=%i AND officer_level=%i AND no!=%i', $nationID, $targetOfficerLevel, $generalID); 'officer_city'=>0,
], 'nation=%i AND officer_level=%i AND no!=%i', $nationID, $targetOfficerLevel, $generalID);
if($targetOfficerLevel === 11){
if($targetOfficerLevel === 11){
}
else if($targetOfficerLevel % 2 == 0){ }
if($general->getVar('strength') < GameConst::$chiefStatMin){ else if($targetOfficerLevel % 2 == 0){
return '무력이 부족합니다.'; if($general->getVar('strength') < GameConst::$chiefStatMin){
} return '무력이 부족합니다.';
}
}
else{ }
if($general->getVar('intel') < GameConst::$chiefStatMin){ else{
return '지력이 부족합니다.'; if($general->getVar('intel') < GameConst::$chiefStatMin){
} return '지력이 부족합니다.';
} }
}
//신임 장수
$general->setVar('officer_level', $targetOfficerLevel); //신임 장수
$general->setVar('officer_city', 0); $general->setVar('officer_level', $targetOfficerLevel);
$db->update('nation', [ $general->setVar('officer_city', 0);
'chief_set'=> $db->sqleval('chief_set | %i', doOfficerSet(0, $targetOfficerLevel)), $db->update('nation', [
], 'nation=%i', $nationID); 'chief_set'=> $db->sqleval('chief_set | %i', doOfficerSet(0, $targetOfficerLevel)),
$general->applyDB($db); ], 'nation=%i', $nationID);
$general->applyDB($db);
return null;
} return null;
}
function do도시임명(General $general, int $cityID, int $targetOfficerLevel):?string{
$nationID = $general->getNationID(); function do도시임명(General $general, int $cityID, int $targetOfficerLevel):?string{
$nationID = $general->getNationID();
$db = DB::db();
$db = DB::db();
if(CityConst::byID($cityID) === null){
return '올바르지 않은 도시입니다'; if(CityConst::byID($cityID) === null){
} return '올바르지 않은 도시입니다';
}
$officerSet = $db->queryFirstField('SELECT officer_set FROM city WHERE nation=%i AND city=%i', $nationID, $cityID);
if($officerSet === null){ $officerSet = $db->queryFirstField('SELECT officer_set FROM city WHERE nation=%i AND city=%i', $nationID, $cityID);
return '아국 도시가 아닙니다'; if($officerSet === null){
} return '아국 도시가 아닙니다';
}
if(isOfficerSet($officerSet, $targetOfficerLevel)){
return '이미 다른 장수가 임명되어있습니다'; if(isOfficerSet($officerSet, $targetOfficerLevel)){
} return '이미 다른 장수가 임명되어있습니다';
}
//기존 장수 일반으로
$db->update('general', [ //기존 장수 일반으로
'officer_level'=>1, $db->update('general', [
'officer_city'=>0, 'officer_level'=>1,
], 'officer_level=%i AND officer_city=%i AND no!=%i', $targetOfficerLevel, $cityID, $general->getID()); 'officer_city'=>0,
], 'officer_level=%i AND officer_city=%i AND no!=%i', $targetOfficerLevel, $cityID, $general->getID());
if($general instanceof DummyGeneral){
return null; if($general instanceof DummyGeneral){
} return null;
}
if($targetOfficerLevel === 4 && $general->getVar('strength') < GameConst::$chiefStatMin){
return '무력이 부족합니다.'; if($targetOfficerLevel === 4 && $general->getVar('strength') < GameConst::$chiefStatMin){
} return '무력이 부족합니다.';
}
if($targetOfficerLevel === 3 && $general->getVar('intel') < GameConst::$chiefStatMin){
return '지력이 부족합니다.'; if($targetOfficerLevel === 3 && $general->getVar('intel') < GameConst::$chiefStatMin){
} return '지력이 부족합니다.';
}
//신임 장수
$db->update('city', [ //신임 장수
'officer_set'=>$db->sqleval('officer_set | %i', doOfficerSet(0, $targetOfficerLevel)), $db->update('city', [
], 'city=%i AND nation=%i', $cityID, $nationID); 'officer_set'=>$db->sqleval('officer_set | %i', doOfficerSet(0, $targetOfficerLevel)),
$general->setVar('officer_level', $targetOfficerLevel); ], 'city=%i AND nation=%i', $cityID, $nationID);
$general->setVar('officer_city', $cityID); $general->setVar('officer_level', $targetOfficerLevel);
$general->applyDB($db); $general->setVar('officer_city', $cityID);
$general->applyDB($db);
return null;
} return null;
}
function do추방(General $general, int $myOfficerLevel):?string{
$generalID = $general->getID(); function do추방(General $general, int $myOfficerLevel):?string{
$generalName = $general->getVar('name'); $generalID = $general->getID();
$nationID = $general->getNationID(); $generalName = $general->getVar('name');
$nationID = $general->getNationID();
//추방할사람이 외교권자이면 불가
$permission = checkSecretPermission($general->getRaw()); //추방할사람이 외교권자이면 불가
if($permission == 4){ $permission = checkSecretPermission($general->getRaw());
return '외교권자는 추방할 수 없습니다.'; if($permission == 4){
} return '외교권자는 추방할 수 없습니다.';
}
$db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env'); $db = DB::db();
$env = $gameStor->getValues(['startyear','year','month','scenario']); $gameStor = KVStorage::getStorage($db, 'game_env');
$env = $gameStor->getValues(['startyear','year','month','scenario']);
$nation = $db->queryFirstRow('SELECT name,chief_set,color FROM nation WHERE nation=%i', $nationID);
$nationName = $nation['name']; $nation = $db->queryFirstRow('SELECT name,chief_set,color FROM nation WHERE nation=%i', $nationID);
$nationName = $nation['name'];
$logger = $general->getLogger();
$logger = $general->getLogger();
//이미 지정했다면 무시
if(isOfficerSet($nation['chief_set'], $myOfficerLevel) || ($myOfficerLevel == 0 && $myOfficerLevel == 12)) { //이미 지정했다면 무시
return '이미 추방 권한을 사용했습니다.'; if(isOfficerSet($nation['chief_set'], $myOfficerLevel) || ($myOfficerLevel == 0 && $myOfficerLevel == 12)) {
} return '이미 추방 권한을 사용했습니다.';
$gold = 0; }
$rice = 0; $gold = 0;
// 금쌀1000이상은 남김 $rice = 0;
if($general->getVar('gold') > GameConst::$defaultGold) { // 금쌀1000이상은 남김
$gold = $general->getVar('gold') - GameConst::$defaultGold; if($general->getVar('gold') > GameConst::$defaultGold) {
$general->setVar('gold', GameConst::$defaultGold); $gold = $general->getVar('gold') - GameConst::$defaultGold;
} $general->setVar('gold', GameConst::$defaultGold);
if($general->getVar('rice') > GameConst::$defaultRice) { }
$rice = $general->getVar('rice') - GameConst::$defaultRice; if($general->getVar('rice') > GameConst::$defaultRice) {
$general->setVar('rice', GameConst::$defaultRice); $rice = $general->getVar('rice') - GameConst::$defaultRice;
} $general->setVar('rice', GameConst::$defaultRice);
}
$general->setVar('nation', 0);
$general->setVar('officer_level', 0); $general->setVar('nation', 0);
$general->setVar('officer_city', 0); $general->setVar('officer_level', 0);
$general->setVar('belong', 0); $general->setVar('officer_city', 0);
$oldMakeLimit = $general->getVar('makelimit'); $general->setVar('belong', 0);
$general->setVar('makelimit', 12); $oldMakeLimit = $general->getVar('makelimit');
$general->setVar('permission', 'normal'); $general->setVar('makelimit', 12);
$general->setVar('permission', 'normal');
$josaYi = JosaUtil::pick($generalName, '이');
$logger->pushGlobalActionLog("<Y>{$generalName}</>{$josaYi} <D><b>{$nationName}</b></>에서 <R>추방</>당했습니다."); $josaYi = JosaUtil::pick($generalName, '이');
$logger->pushGeneralActionLog("<D><b>{$nationName}</b></>에서 <R>추방</>당했습니다.", ActionLogger::PLAIN); $logger->pushGlobalActionLog("<Y>{$generalName}</>{$josaYi} <D><b>{$nationName}</b></>에서 <R>추방</>당했습니다.");
$logger->pushGeneralActionLog("<D><b>{$nationName}</b></>에서 <R>추방</>당했습니다.", ActionLogger::PLAIN);
// 명성/공헌 N*10%감소
if($env['year'] <= $env['startyear'] && $general->getNPCType() < 2){ // 명성/공헌 N*10%감소
$general->setVar('makelimit', $oldMakeLimit); if($env['year'] <= $env['startyear'] && $general->getNPCType() < 2){
} $general->setVar('makelimit', $oldMakeLimit);
else{ }
$betrayCnt = $general->getVar('betray'); else{
$general->addExperience(-$general->getVar('experience')*0.1*$betrayCnt); $betrayCnt = $general->getVar('betray');
$general->addDedication(-$general->getVar('dedication')*0.1*$betrayCnt); $general->addExperience(-$general->getVar('experience')*0.1*$betrayCnt);
$general->increaseVarWithLimit('betray', 1, null, GameConst::$maxBetrayCnt); $general->addDedication(-$general->getVar('dedication')*0.1*$betrayCnt);
} $general->increaseVarWithLimit('betray', 1, null, GameConst::$maxBetrayCnt);
}
//부대장일 경우
if($general->getVar('troop') == $generalID){ //부대장일 경우
// 모두 탈퇴 if($general->getVar('troop') == $generalID){
$db->update('general', [ // 모두 탈퇴
'troop'=>0, $db->update('general', [
], 'troop = %i', $generalID); 'troop'=>0,
$db->delete('troop', 'troop_leader=%i', $generalID); ], 'troop = %i', $generalID);
} $db->delete('troop', 'troop_leader=%i', $generalID);
$general->setVar('troop', 0); }
$general->setVar('troop', 0);
if($general->getNPCType() >= 2 && ($env['scenario'] < 100 || Util::randBool(0.01))) {
if($general->getNPCType() >= 2 && ($env['scenario'] < 100 || Util::randBool(0.01))) {
$str = Util::choiceRandom([
'날 버리다니... 곧 전장에서 복수해주겠다...', $str = Util::choiceRandom([
'추방이라... 내가 무얼 잘못했단 말인가...', '날 버리다니... 곧 전장에서 복수해주겠다...',
'어디 추방해가면서 잘되나 보자... 꼭 복수하겠다...', '추방이라... 내가 무얼 잘못했단 말인가...',
'인덕이 제일이거늘... 추방이 웬말인가... 저주한다!', '어디 추방해가면서 잘되나 보자... 꼭 복수하겠다...',
'날 추방했으니 그 복수로 적국에 정보를 팔아 넘겨야겠군요. 그럼 이만.' '인덕이 제일이거늘... 추방이 웬말인가... 저주한다!',
]); '날 추방했으니 그 복수로 적국에 정보를 팔아 넘겨야겠군요. 그럼 이만.'
]);
$src = new MessageTarget(
$generalID, $src = new MessageTarget(
$generalName, $generalID,
$nationID, $generalName,
$nation['name'], $nationID,
$nation['color'], $nation['name'],
GetImageURL($general->getVar('imgsvr'), $general->getVar('picture')) $nation['color'],
); GetImageURL($general->getVar('imgsvr'), $general->getVar('picture'))
$msg = new Message( );
Message::MSGTYPE_PUBLIC, $msg = new Message(
$src, Message::MSGTYPE_PUBLIC,
$src, $src,
$str, $src,
new \DateTime(), $str,
new \DateTime('9999-12-31'), new \DateTime(),
[] new \DateTime('9999-12-31'),
); []
$msg->send(); );
} $msg->send();
}
if($env['year'] < $env['startyear']+3) {
//초반엔 군주 부상 증가(엔장 임관지양) if($env['year'] < $env['startyear']+3) {
$db->update('general', [ //초반엔 군주 부상 증가(엔장 임관지양)
'injury'=>$db->sqleval('least(injury + 1, %i)', 80), $db->update('general', [
], 'nation=%i AND officer_level=12', $nationID); 'injury'=>$db->sqleval('least(injury + 1, %i)', 80),
], 'nation=%i AND officer_level=12', $nationID);
$db->update('nation', [
'gennum'=>$db->sqleval('gennum - %i', $general->getNPCType()!=5?1:0), $db->update('nation', [
'gold'=>$db->sqleval('gold + %i', $gold), 'gennum'=>$db->sqleval('gennum - %i', $general->getNPCType()!=5?1:0),
'rice'=>$db->sqleval('rice + %i', $rice), 'gold'=>$db->sqleval('gold + %i', $gold),
], 'nation = %i', $nationID); 'rice'=>$db->sqleval('rice + %i', $rice),
} else { ], 'nation = %i', $nationID);
//이번분기는 추방불가(초반 제외) } else {
$db->update('nation', [ //이번분기는 추방불가(초반 제외)
'chief_set'=>$db->sqleval('chief_set | %i', doOfficerSet(0, $myOfficerLevel)), $db->update('nation', [
'gennum'=>$db->sqleval('gennum - %i', $general->getNPCType()!=5?1:0), 'chief_set'=>$db->sqleval('chief_set | %i', doOfficerSet(0, $myOfficerLevel)),
'gold'=>$db->sqleval('gold + %i', $gold), 'gennum'=>$db->sqleval('gennum - %i', $general->getNPCType()!=5?1:0),
'rice'=>$db->sqleval('rice + %i', $rice), 'gold'=>$db->sqleval('gold + %i', $gold),
], 'nation = %i', $nationID); 'rice'=>$db->sqleval('rice + %i', $rice),
} ], 'nation = %i', $nationID);
}
$logger->pushGeneralHistoryLog("<D>{$nation['name']}</>에서 추방됨");
$general->applyDB($db); $logger->pushGeneralHistoryLog("<D>{$nation['name']}</>에서 추방됨");
$general->applyDB($db);
return null;
} return null;
}
if($action == "임명") {
if(2 <= $officerLevel && $officerLevel <= 4){ if($action == "임명") {
if(!$destCityID){ if(2 <= $officerLevel && $officerLevel <= 4){
Json::die([ if(!$destCityID){
'result'=>false, Json::die([
'reason'=>'도시가 지정되지 않았습니다.' 'result'=>false,
]); 'reason'=>'도시가 지정되지 않았습니다.'
} ]);
$result = do도시임명($general, $destCityID, $officerLevel); }
if($result !== null){ $result = do도시임명($general, $destCityID, $officerLevel);
Json::die([ if($result !== null){
'result'=>false, Json::die([
'reason'=>$result 'result'=>false,
]); 'reason'=>$result
} ]);
Json::die([ }
'result'=>true, Json::die([
'reason'=>'success' 'result'=>true,
]); 'reason'=>'success'
} ]);
}
if(5 <= $officerLevel && $officerLevel < 12){
$result = do수뇌임명($general, $officerLevel); if(5 <= $officerLevel && $officerLevel < 12){
if($result !== null){ $result = do수뇌임명($general, $officerLevel);
Json::die([ if($result !== null){
'result'=>false, Json::die([
'reason'=>$result 'result'=>false,
]); 'reason'=>$result
} ]);
Json::die([ }
'result'=>true, Json::die([
'reason'=>'success' 'result'=>true,
]); 'reason'=>'success'
} ]);
}
Json::die([
'result'=>false, Json::die([
'reason'=>'올바르지 않은 지정입니다.' 'result'=>false,
]); 'reason'=>'올바르지 않은 지정입니다.'
} ]);
}
if($action == "추방") {
$result = do추방($general, $myOfficerLevel); if($action == "추방") {
if($result !== null){ $result = do추방($general, $myOfficerLevel);
Json::die([ if($result !== null){
'result'=>false, Json::die([
'reason'=>$result 'result'=>false,
]); 'reason'=>$result
} ]);
Json::die([ }
'result'=>true, Json::die([
'reason'=>'success' 'result'=>true,
]); 'reason'=>'success'
} ]);
}
Json::die([
'result'=>false, Json::die([
'reason'=>'올바르지 않은 명령입니다.' 'result'=>false,
'reason'=>'올바르지 않은 명령입니다.'
]); ]);
+194 -200
View File
@@ -1,201 +1,195 @@
function changePermission(isAmbassador, rawGeneralList){ function changePermission(isAmbassador, rawGeneralList) {
console.log(isAmbassador); console.log(isAmbassador);
console.log(rawGeneralList); console.log(rawGeneralList);
var generalList = []; var generalList = [];
$.each(rawGeneralList, function(idx, value){ $.each(rawGeneralList, function(idx, value) {
generalList.push(parseInt(value.id)); generalList.push(parseInt(value.id));
}) })
$.post({ $.post({
url:'j_general_set_permission.php', url: 'j_general_set_permission.php',
dataType:'json', dataType: 'json',
data:{ data: {
isAmbassador:isAmbassador, isAmbassador: isAmbassador,
genlist:generalList genlist: generalList
}, },
}).then(function(data){ }).then(function(data) {
if(!data){ if (!data) {
alert('변경하지 못했습니다.'); alert('변경하지 못했습니다.');
return false; return false;
} }
if(!data.result){ if (!data.result) {
alert('변경하지 못했습니다. : '+data.reason); alert('변경하지 못했습니다. : ' + data.reason);
return false; return false;
} }
alert('변경했습니다.'); alert('변경했습니다.');
location.reload(); location.reload();
}, errUnknown); }, errUnknown);
} }
$(function(){ $(function() {
$('#selectAmbassador').select2({ $('#selectAmbassador').select2({
theme: 'bootstrap4', theme: 'bootstrap4',
placeholder: "", placeholder: "",
allowClear: true, allowClear: true,
language: "ko", language: "ko",
width:300, width: 300,
maximumSelectionLength: 2, maximumSelectionLength: 2,
containerCss: { containerCss: {
display: "inline-block !important;", display: "inline-block !important;",
color: 'white !important' color: 'white !important'
}, },
data:candidateAmbassadors, data: candidateAmbassadors,
//containerCssClass: 'simple-select2-align-center bg-secondary text-secondary', //containerCssClass: 'simple-select2-align-center bg-secondary text-secondary',
dropdownCssClass: 'simple-select2-align-center bg-secondary text-secondary', dropdownCssClass: 'simple-select2-align-center bg-secondary text-secondary',
}); });
$('#selectAuditor').select2({ $('#selectAuditor').select2({
theme: 'bootstrap4', theme: 'bootstrap4',
placeholder: "", placeholder: "",
allowClear: true, allowClear: true,
language: "ko", language: "ko",
width:300, width: 300,
maximumSelectionLength: 2, maximumSelectionLength: 2,
containerCss: { containerCss: {
display: "inline-block !important;", display: "inline-block !important;",
color: 'white !important' color: 'white !important'
}, },
data:candidateAuditors, data: candidateAuditors,
//containerCssClass: 'simple-select2-align-center bg-secondary text-secondary', //containerCssClass: 'simple-select2-align-center bg-secondary text-secondary',
dropdownCssClass: 'simple-select2-align-center bg-secondary text-secondary', dropdownCssClass: 'simple-select2-align-center bg-secondary text-secondary',
}); });
$('#changeAmbassador').click(function(){ $('#changeAmbassador').click(function() {
if(!confirm('외교권자를 변경할까요?')){ if (!confirm('외교권자를 변경할까요?')) {
return false; return false;
} }
changePermission(true, $('#selectAmbassador').select2('data')); changePermission(true, $('#selectAmbassador').select2('data'));
return false; return false;
}); });
$('#changeAuditor').click(function(){ $('#changeAuditor').click(function() {
if(!confirm('조언자를 변경할까요?')){ if (!confirm('조언자를 변경할까요?')) {
return false; return false;
} }
changePermission(false, $('#selectAuditor').select2('data')); changePermission(false, $('#selectAuditor').select2('data'));
return false; return false;
}); });
$('#btn_kick').click(function(){ $('#btn_kick').click(function() {
var $kickSelect = $('#genlist_kick option:selected'); var $kickSelect = $('#genlist_kick option:selected');
var generalID = $kickSelect.val(); var generalID = $kickSelect.val();
if(!generalID){ if (!generalID) {
alert('장수를 선택해주세요'); alert('장수를 선택해주세요');
return false; return false;
} }
var generalName = $kickSelect.data('name'); var generalName = $kickSelect.data('name');
if(!confirm('{0}를 추방하시겠습니까?'.format(generalName))){ if (!confirm('{0}를 추방하시겠습니까?'.format(generalName))) {
return false; return false;
} }
$.post({ $.post({
url:'j_myBossInfo.php', url: 'j_myBossInfo.php',
dataType:'json', dataType: 'json',
data:{ data: {
action:'추방', action: '추방',
destGeneralID:generalID destGeneralID: generalID
}, },
}).then(function(data){ }).then(function(data) {
if(!data){ if (!data) {
alert('추방하지 못했습니다.'); alert('추방하지 못했습니다.');
return false; return false;
} }
if(!data.result){ if (!data.result) {
alert('추방하지 못했습니다. : '+data.reason); alert('추방하지 못했습니다. : ' + data.reason);
return false; return false;
} }
alert('{0}를 추방했습니다.'.format(generalName)); alert('{0}를 추방했습니다.'.format(generalName));
location.reload(); location.reload();
}, errUnknown); }, errUnknown);
return false; return false;
}); });
$('.btn_appoint').click(function(){ $('.btn_appoint').click(function() {
var $btn = $(this); var $btn = $(this);
var officerLevel = $btn.data('officer_level'); var officerLevel = $btn.data('officer_level');
var officerLevelText = $btn.data('officer_level_text'); var officerLevelText = $btn.data('officer_level_text');
var cityID = 0; var cityID = 0;
var cityName = '_'; var cityName = '_';
var $generalSelect = $('#genlist_{0} option:selected'.format(officerLevel)); var $generalSelect = $('#genlist_{0} option:selected'.format(officerLevel));
var $citySelect = $('#citylist_{0} option:selected'.format(officerLevel)); var $citySelect = $('#citylist_{0} option:selected'.format(officerLevel));
var generalID = $generalSelect.val(); var generalID = parseInt($generalSelect.val());
var generalName = $generalSelect.data('name'); var generalName = $generalSelect.data('name');
var generalOfficerLevel = $generalSelect.data('officer_level'); var generalOfficerLevel = $generalSelect.data('officer_level');
if(officerLevel >= 5){ if (officerLevel >= 5) {
if(generalID == 0){ if (generalID == 0) {
if(!confirm('{0}직을 비우시겠습니까?'.format(officerLevelText))){ if (!confirm('{0}직을 비우시겠습니까?'.format(officerLevelText))) {
return false; return false;
} }
} } else if (generalOfficerLevel >= 5) {
else if(generalOfficerLevel >= 5){ if (!confirm('이미 수뇌인 {0}을(를) {1}직에 임명하시겠습니까?'.format(generalName, officerLevelText))) {
if(!confirm('이미 수뇌인 {0}을(를) {1}직에 임명하시겠습니까?'.format(generalName, officerLevelText))){ return false;
return false; }
} } else {
} if (!confirm('{0}을(를) {1}직에 임명하시겠습니까?'.format(generalName, officerLevelText))) {
else{ return false;
if(!confirm('{0}을(를) {1}직에 임명하시겠습니까?'.format(generalName, officerLevelText))){ }
return false; }
} } else {
} cityID = $citySelect.val();
} if (!cityID) {
else{ alert('도시를 선택해주세요');
cityID = $citySelect.val(); return false;
if(!cityID){ }
alert('도시를 선택해주세요'); cityName = $citySelect.find('option:selected .name_field').text();
return false;
} if (generalID == 0) {
cityName = $citySelect.find('option:selected .name_field').text(); if (!confirm('{0} {1}직을 비우시겠습니까?'.format(cityName, officerLevelText))) {
return false;
if(generalID == 0){ }
if(!confirm('{0} {1}직을 비우시겠습니까?'.format(cityName, officerLevelText))){ } else if (generalOfficerLevel >= 5) {
return false; if (!confirm('수뇌인 {0}을(를) {1} {2}직에 임명하시겠습니까?'.format(generalName, cityName, officerLevelText))) {
} return false;
} }
else if(generalOfficerLevel >= 5){ } else {
if(!confirm('수뇌인 {0}을(를) {1} {2}직에 임명하시겠습니까?'.format(generalName, cityName, officerLevelText))){ if (!confirm('{0}을(를) {1} {2}직에 임명하시겠습니까?'.format(generalName, cityName, officerLevelText))) {
return false; return false;
} }
} }
else{ }
if(!confirm('{0}을(를) {1} {2}직에 임명하시겠습니까?'.format(generalName, cityName, officerLevelText))){
return false; $.post({
} url: 'j_myBossInfo.php',
} dataType: 'json',
} data: {
action: '임명',
$.post({ destGeneralID: generalID,
url:'j_myBossInfo.php', destCityID: cityID,
dataType:'json', officerLevel: officerLevel
data:{ },
action:'임명', }).then(function(data) {
destGeneralID:generalID, if (!data) {
destCityID:cityID, alert('임명하지 못했습니다.');
officerLevel:officerLevel return false;
}, }
}).then(function(data){ if (!data.result) {
if(!data){ alert('임명하지 못했습니다. : ' + data.reason);
alert('임명하지 못했습니다.'); return false;
return false; }
}
if(!data.result){ if (generalID) {
alert('임명하지 못했습니다. : '+data.reason); alert('{0}을(를) 임명했습니다.'.format(generalName));
return false; } else {
} alert('관직을 비웠습니다.');
}
if(generalID){
alert('{0}을(를) 임명했습니다.'.format(generalName)); location.reload();
} }, errUnknown);
else{
alert('관직을 비웠습니다.'); })
}
location.reload();
}, errUnknown);
})
}) })