diff --git a/hwe/func.php b/hwe/func.php index 648121a3..36bbf4da 100644 --- a/hwe/func.php +++ b/hwe/func.php @@ -1813,7 +1813,7 @@ function PreprocessCommand($no) { $connect=$db->get(); $log = []; - $query = "select no,name,city,injury,special2,item,turn0 from general where no='$no'"; + $query = "select no,name,city,injury,special2,item,turn0,rice,crew from general where no='$no'"; $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $general = MYDB_fetch_array($result); @@ -1888,6 +1888,27 @@ function PreprocessCommand($no) { MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); } } + + + if($general['crew'] >= 100){ + $newRice = $general['rice'] - $general['crew'] / 100; + if($newRice >= 0){ + $db->update('general', [ + 'rice'=>Util::round($newRice) + ], 'no=%i',$general['no']); + } + else{ + $db->update('city', [ + 'pop'=>$db->sqleval('pop + %i', $general['crew']) + ], 'city=%i', $general['city']); + $db->update('general', [ + 'crew'=>0, + 'rice'=>0 + ], 'no=%i',$general['no']); + pushGenLog($general, ["●군량이 모자라 병사들이 소집해제되었습니다!"]); + } + } + } diff --git a/hwe/func_gamerule.php b/hwe/func_gamerule.php index 8f001e13..dd173aae 100644 --- a/hwe/func_gamerule.php +++ b/hwe/func_gamerule.php @@ -329,27 +329,6 @@ function preUpdateMonthly() { $query = "update city set nation='0',gen1='0',gen2='0',gen3='0',conflict='{}',term=0,front=0 where rate<='30' and supply='0'"; MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - // 우선 병사수/100 만큼 소비 - $query = "update general set rice=rice-round(crew/100) where crew>=100"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - - // 쌀이 마이너스인 장수들 소집해제 - $query = "select no,name,rice,crew,city from general where rice<0"; - $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - $gencount = MYDB_num_rows($result); - for($i=0; $i < $gencount; $i++) { - $general = MYDB_fetch_array($result); - - // 주민으로 돌아감 - $query = "update city set pop=pop+'{$general['crew']}' where city='{$general['city']}'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - - $query = "update general set crew=0,rice=0 where no='{$general['no']}'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - - pushGenLog($general, ["●군량이 모자라 병사들이 소집해제되었습니다!"]); - } - //접률감소 $query = "update general set connect=floor(connect*0.99)"; MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");