turn0 사용하는 부분 리팩토링
This commit is contained in:
-103
@@ -1594,109 +1594,6 @@ function triggerTournament() {
|
||||
}
|
||||
}
|
||||
|
||||
function PreprocessCommand($no) {
|
||||
$db = DB::db();
|
||||
$connect=$db->get();
|
||||
$log = [];
|
||||
|
||||
$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);
|
||||
|
||||
if($general['special2'] == 73 || $general['item'] == 23 || $general['item'] == 24) {
|
||||
//특기보정 : 의술
|
||||
//의서 사용
|
||||
if($general['injury'] > 0) {
|
||||
$general['injury'] = 0;
|
||||
$query = "update general set injury=0 where no='$no'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
pushGenLog($general, "<C>●</><C>의술</>을 펼쳐 스스로 치료합니다!");
|
||||
}
|
||||
|
||||
$query = "select no,name,injury from general where city='{$general['city']}' and injury>10 order by rand()";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$patientCount = MYDB_num_rows($result);
|
||||
|
||||
if($patientCount > 0) {
|
||||
// 50% 확률로 치료
|
||||
$patientCount = Util::round($patientCount * 0.5);
|
||||
|
||||
$patientName = "";
|
||||
for($i=0; $i < $patientCount; $i++) {
|
||||
$patient = MYDB_fetch_array($result);
|
||||
|
||||
//부상 치료
|
||||
$query = "update general set injury=0 where no='{$patient['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$josaYi = JosaUtil::pick($general['name'], '이');
|
||||
pushGenLog($patient, "<C>●</><Y>{$general['name']}</>{$josaYi} <C>의술</>로써 치료해줍니다!");
|
||||
|
||||
if($patientName == "") {
|
||||
$patientName = $patient['name'];
|
||||
}
|
||||
}
|
||||
|
||||
if($patientCount == 1) {
|
||||
$josaUl = JosaUtil::pick($patientName, '을');
|
||||
pushGenLog($general, "<C>●</><C>의술</>을 펼쳐 도시의 장수 <Y>{$patientName}</>{$josaUl} 치료합니다!");
|
||||
} else {
|
||||
$patientCount -= 1;
|
||||
pushGenLog($general, "<C>●</><C>의술</>을 펼쳐 도시의 장수들 <Y>{$patientName}</> 외 <C>{$patientCount}</>명을 치료합니다!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($general['injury'] > 0) {
|
||||
if($general['item'] >=7 && $general['item'] <= 11) {
|
||||
//영구약 사용
|
||||
$query = "update general set injury=0 where no='$no'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$josaUl = JosaUtil::pick($general['item'], '을');
|
||||
$log[0] = "<C>●</><C>".getItemName($general['item'])."</>{$josaUl} 사용하여 치료합니다!";
|
||||
pushGenLog($general, $log);
|
||||
} elseif($general['injury'] > 10 && $general['item'] == 1 && DecodeCommand($general['turn0'])[0] != 50) {
|
||||
//환약 사용
|
||||
$query = "update general set injury=0,item=0 where no='$no'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log[0] = "<C>●</><C>환약</>을 사용하여 치료합니다!";
|
||||
pushGenLog($general, $log);
|
||||
} elseif($general['injury'] > 10) {
|
||||
//부상 감소
|
||||
$query = "update general set injury=injury-10 where no='$no'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
} else {
|
||||
//부상 감소
|
||||
$query = "update general set injury=0 where no='$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, ["<C>●</>군량이 모자라 병사들이 <R>소집해제</>되었습니다!"]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function CheckHall($no) {
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
|
||||
Reference in New Issue
Block a user