forked from devsam/core
숙련전환 커맨드 추가
This commit is contained in:
@@ -659,8 +659,10 @@ function commandTable() {
|
||||
commandGroup("======= 개 인 ========");
|
||||
if($me['level'] >= 1) {
|
||||
addCommand("단련(자금$develcost, 군량$develcost)", 41);
|
||||
addCommand("숙련전환(통솔경험, 자금$develcost, 군량$develcost)", 58);
|
||||
} else {
|
||||
addCommand("단련(자금$develcost, 군량$develcost)", 41, 0);
|
||||
addCommand("숙련전환(통솔경험, 자금$develcost, 군량$develcost)", 58, 0);
|
||||
}
|
||||
addCommand("견문(자금?, 군량?, 경험치?)", 42);
|
||||
if($city['trade'] > 0 || $me['special'] == 30) {
|
||||
|
||||
@@ -251,7 +251,9 @@ function getTurn(array $general, $type, $font=1) {
|
||||
case 57: //모반 시도
|
||||
$str[$i] = "모반 시도";
|
||||
break;
|
||||
|
||||
case 58: //숙련 전환
|
||||
$str[$i] = "숙련 전환";
|
||||
break;
|
||||
default:
|
||||
$str[$i] = "????";
|
||||
break;
|
||||
@@ -623,6 +625,8 @@ function processCommand($no) {
|
||||
case 55: process_55($general); break; //거병
|
||||
case 56: process_56($general); break; //해산
|
||||
case 57: process_57($general); break; //모반 시도
|
||||
|
||||
case 58: process_58($general); break; //숙련 전환
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2528,6 +2528,73 @@ function process_50(&$general) {
|
||||
pushGenLog($general, $log);
|
||||
}
|
||||
|
||||
|
||||
function process_58(&$general) {
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
|
||||
$log = [];
|
||||
$alllog = [];
|
||||
$history = [];
|
||||
$date = substr($general['turntime'],11,5);
|
||||
|
||||
$admin = $gameStor->getValues(['year', 'month', 'develcost']);
|
||||
|
||||
$command = DecodeCommand($general['turn0']);
|
||||
|
||||
$fromDexIdx = $command[1];
|
||||
$toDexIdx = $command[2];
|
||||
|
||||
|
||||
|
||||
|
||||
if($general['nation'] == 0) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:재야입니다. 숙련 전환 실패. <1>$date</>";
|
||||
} elseif($general['gold'] < $admin['develcost']) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:자금이 모자랍니다. 숙련 전환 실패. <1>$date</>";
|
||||
} elseif($general['rice'] < $admin['develcost']) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:군량이 모자랍니다. 숙련 전환 실패. <1>$date</>";
|
||||
} elseif($fromDexIdx < 0 || $fromDexIdx > 4 || $toDexIdx < 0 || $toDexIdx > 4){
|
||||
$log[] = "<C>●</>{$admin['month']}월:올바르지 않은 병종 코드입니다. 숙련 전환 실패. <1>$date</>";
|
||||
} elseif($general['dex'.($fromDexIdx*10)] == 0) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:전환할 병종 숙련이 없습니다. 숙련 전환 실패. <1>$date</>";
|
||||
} else {
|
||||
|
||||
$fromOrigDex = $general['dex'.($fromDexIdx*10)];
|
||||
$toOrigDex = $general['dex'.($toDexIdx*10)];
|
||||
|
||||
$cutDex = Util::toInt($fromOrigDex * 0.3);
|
||||
$fromNewDex = $fromOrigDex - $cutDex;
|
||||
$addDex = Util::toInt($cutDex * 2 / 3);
|
||||
$toNewDex = $toOrigDex + $addDex;
|
||||
|
||||
$exp = 10;
|
||||
$exp = CharExperience($exp, $general['personal']);
|
||||
|
||||
$fromCrewStr = GameUnitConst::allType()[$fromDexIdx];
|
||||
$toCrewStr = GameUnitConst::allType()[$toDexIdx];
|
||||
|
||||
|
||||
$josaUl = JosaUtil::pick($cutDex, '을');
|
||||
$josaRo = JosaUtil::pick($addDex, '로');
|
||||
$log[] = "<C>●</>{$admin['month']}월:$fromCrewStr 숙련 {$cutDex}{$josaUl} $toCrewStr 숙련 {$addDex}{$josaRo} 전환했습니다. <1>$date</>";
|
||||
|
||||
$general['leader2'] += 2;
|
||||
|
||||
$db->update('general', [
|
||||
'resturn'=>'SUCCESS',
|
||||
'gold'=>$db->sqleval('gold-%i', $admin['develcost']),
|
||||
'rice'=>$db->sqleval('rice-%i', $admin['develcost']),
|
||||
'experience'=>$db->sqleval('experience+%i',$exp),
|
||||
'leader2'=>$general['leader2'],
|
||||
'dex'.($fromDexIdx*10)=>$fromNewDex,
|
||||
'dex'.($toDexIdx*10)=>$toNewDex,
|
||||
], 'no=%i', $general['no']);
|
||||
}
|
||||
pushGenLog($general, $log);
|
||||
}
|
||||
|
||||
|
||||
function process_99(&$general) {
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
|
||||
@@ -98,6 +98,7 @@ switch($commandtype) {
|
||||
case 55: command_Single($turn, 55); break; //거병
|
||||
case 56: command_Single($turn, 56); break; //해산
|
||||
case 57: command_Single($turn, 57); break; //모반 시도
|
||||
// case 58: command_Single($turn, 58); break; //숙련 전환
|
||||
|
||||
// case 61: command_61($turn, 61); break; //불가침
|
||||
// case 62: command_62($turn, 62); break; //선포
|
||||
|
||||
@@ -95,6 +95,7 @@ switch($commandtype) {
|
||||
case 55: command_Single($turn, 55); break; //거병
|
||||
case 56: command_Single($turn, 56); break; //해산
|
||||
case 57: command_Single($turn, 57); break; //모반 시도
|
||||
case 58: command_58( $turn, 58); break; //숙련 전환
|
||||
|
||||
case 61: command_61($turn, 61); break; //불가침
|
||||
case 62: command_62($turn, 62); break; //선포
|
||||
@@ -1724,6 +1725,56 @@ function command_54($turn, $command) {
|
||||
ender();
|
||||
}
|
||||
|
||||
function command_58($turn, $command) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$userID = Session::getUserID();
|
||||
|
||||
starter("숙련 전환");
|
||||
|
||||
$dexVals = $db->queryFirstList('SELECT dex0, dex10, dex20, dex30, dex40 FROM general WHERE owner = %i', $userID);
|
||||
|
||||
$dexTexts = [];
|
||||
foreach($dexVals as $idx => $val){
|
||||
$prevDexLevel = getDexCall($val);
|
||||
$newDexLevel = getDexCall(Util::toInt($val * 0.7));
|
||||
$addDex = Util::toInt(($val - $val * 0.7) * 0.5);
|
||||
$dexTexts[$idx] = "$prevDexLevel ⇒ $newDexLevel, {$addDex} 전환";
|
||||
}
|
||||
|
||||
echo "
|
||||
본인의 특정 병종 숙련을 30% 줄이고, 줄어든 숙련 중 2/3(20%p)를 다른 병종 숙련으로 전환합니다.<br>
|
||||
<form name=form1 action=c_double.php method=post>
|
||||
<select name=double size=1 style=color:white;background-color:black>
|
||||
<option value=0>보병 ({$dexTexts[0]})</option>
|
||||
<option value=1>궁병 ({$dexTexts[1]})</option>
|
||||
<option value=2>기병 ({$dexTexts[2]})</option>
|
||||
<option value=3>귀병 ({$dexTexts[3]})</option>
|
||||
<option value=4>차병 ({$dexTexts[4]})</option>
|
||||
</select>
|
||||
숙련을
|
||||
<select name=third size=1 style=color:white;background-color:black>
|
||||
<option value=0>보병 ({$dexVals[0]})</option>
|
||||
<option value=1>궁병 ({$dexVals[1]})</option>
|
||||
<option value=2>기병 ({$dexVals[2]})</option>
|
||||
<option value=3>귀병 ({$dexVals[3]})</option>
|
||||
<option value=4>차병 ({$dexVals[4]})</option>
|
||||
</select>
|
||||
으로
|
||||
<input type=submit value=전환>
|
||||
<input type=hidden name=command value=$command>";
|
||||
for($i=0; $i < count($turn); $i++) {
|
||||
echo "
|
||||
<input type=hidden name=turn[] value=$turn[$i]>";
|
||||
}
|
||||
|
||||
echo "
|
||||
</form>
|
||||
";
|
||||
|
||||
ender();
|
||||
}
|
||||
|
||||
function command_61($turn, $command) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
|
||||
Reference in New Issue
Block a user