forked from devsam/core
isClose함수 재설계
This commit is contained in:
+1
-1
@@ -85,7 +85,7 @@ if($ok == "수락") {
|
||||
$mylog[] = "<C>●</>양국 국력이 너무 높습니다. 통합 실패.";
|
||||
} elseif($mynation['gennum']+$younation['gennum'] > $avgnation['gennum']+$stdnation['gennum']) {
|
||||
$mylog[] = "<C>●</>양국 장수가 많습니다. 통합 실패.";
|
||||
} elseif(!isClose($connect, $younation['nation'], $mynation['nation'])) {
|
||||
} elseif(!isClose($younation['nation'], $mynation['nation'])) {
|
||||
$mylog[] = "<C>●</>인접한 국가가 아니므로 불가능합니다. 통합 실패.";
|
||||
} elseif($dip['state'] == 0) {
|
||||
$mylog[] = "<C>●</>아국과 교전중입니다. 통합 실패.";
|
||||
|
||||
+1
-1
@@ -75,7 +75,7 @@ if($ok == "수락") {
|
||||
$mylog[] = "<C>●</>상대가 방랑군이므로 불가능합니다. 투항 실패.";
|
||||
} elseif($younation['power'] / $mynation['power'] <= 3) {
|
||||
$mylog[] = "<C>●</>아국과 상대국의 국력차이가 크지 않습니다. 투항 실패.";
|
||||
} elseif($losecitynum != 0 && !isClose($connect, $younation['nation'], $mynation['nation'])) {
|
||||
} elseif($losecitynum != 0 && !isClose($younation['nation'], $mynation['nation'])) {
|
||||
$mylog[] = "<C>●</>인접한 국가가 아니므로 불가능합니다. 투항 실패.";
|
||||
} elseif($dip['state'] == 0) {
|
||||
$mylog[] = "<C>●</>아국과 교전중입니다. 투항 실패.";
|
||||
|
||||
+12
-29
@@ -2574,40 +2574,23 @@ function searchDistance(int $from, int $maxDist=99, bool $distForm = false) {
|
||||
}
|
||||
}
|
||||
|
||||
function isClose($connect, $nation1, $nation2) {
|
||||
$isClose = 0;
|
||||
// $nation1의 모든 도시
|
||||
$query = "select path from city where nation='$nation1'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$citycount = MYDB_num_rows($result);
|
||||
function isClose($nation1, $nation2) {
|
||||
$db = DB::db();
|
||||
|
||||
// 국가의 모든 도시 검색
|
||||
for($i=0; $i < $citycount; $i++) {
|
||||
$city = MYDB_fetch_array($result);
|
||||
$nation1Cities = [];
|
||||
foreach($db->queryFirstColumn('SELECT city FROM city WHERE nation = %i', $nation1) as $city){
|
||||
$nation1Cities[$city] = $city;
|
||||
}
|
||||
|
||||
// 각 도시당 모든 인접 도시 플래그 세팅
|
||||
$path = explode("|", $city['path']);
|
||||
for($j=0; $j < count($path); $j++) {
|
||||
$barrier[$path[$j]] = 1;
|
||||
foreach($db->queryFirstColumn('SELECT city FROM city WHERE nation = %i', $nation2) as $city){
|
||||
foreach(array_keys(CityConst::byID($city)->$path) as $adjCity){
|
||||
if(key_exists($adjCity, $nation1Cities)){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// $nation2의 모든 도시 선택
|
||||
$query = "select city from city where nation='$nation2'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$citycount = MYDB_num_rows($result);
|
||||
|
||||
for($i=0; $i < $citycount; $i++) {
|
||||
$city = MYDB_fetch_array($result);
|
||||
if(!key_exists($city['city'], $barrier)){
|
||||
continue;
|
||||
}
|
||||
if($barrier[$city['city']] == 1) {
|
||||
$isClose = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return $isClose;
|
||||
return false;
|
||||
}
|
||||
|
||||
function CharExperience($exp, $personal) {
|
||||
|
||||
+1
-1
@@ -604,7 +604,7 @@ function processAI($connect, $no) {
|
||||
for($i=0; $i < $nationCount; $i++) {
|
||||
$youNation = MYDB_fetch_array($result);
|
||||
|
||||
if(isClose($connect, $general['nation'], $youNation['nation'])) {
|
||||
if(isClose($general['nation'], $youNation['nation'])) {
|
||||
$command = EncodeCommand(0, 0, $youNation['nation'], 62);
|
||||
$query = "update nation set l12turn0='$command' where nation='{$general['nation']}'";
|
||||
MYDB_query($query, $connect) or Error("processAI09 ".MYDB_error($connect),"");
|
||||
|
||||
@@ -655,7 +655,7 @@ function process_62($connect, &$general) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:아국과 불가침중입니다. 선포 실패. <1>$date</>";
|
||||
} elseif($dipcount != 0) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:상대국이 외교 진행중입니다. 선포 실패. <1>$date</>";
|
||||
} elseif(!isClose($connect, $nation['nation'], $younation['nation'])) {
|
||||
} elseif(!isClose($nation['nation'], $younation['nation'])) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:인접하지 않았습니다. 선포 실패. <1>$date</>";
|
||||
} elseif($admin['year'] <= $admin['startyear']) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:초반제한 해제 2년전부터 가능합니다. 선포 실패. <1>$date</>";
|
||||
|
||||
+2
-2
@@ -1712,7 +1712,7 @@ function command_51($connect, $turn, $command) {
|
||||
for($i=1; $i <= $count; $i++) {
|
||||
$nation = MYDB_fetch_array($result);
|
||||
|
||||
if($myNation['power'] / $nation['power'] <= 3 || !isClose($connect, $me['nation'], $nation['nation'])) {
|
||||
if($myNation['power'] / $nation['power'] <= 3 || !isClose($me['nation'], $nation['nation'])) {
|
||||
echo "<option style=color:{$nation['color']};background-color:red; value={$nation['nation']}>【 {$nation['name']} 】</option>";
|
||||
} else {
|
||||
echo "<option style=color:{$nation['color']} value={$nation['nation']}>【 {$nation['name']} 】</option>";
|
||||
@@ -1848,7 +1848,7 @@ function command_53($connect, $turn, $command) {
|
||||
for($i=1; $i <= $count; $i++) {
|
||||
$nation = MYDB_fetch_array($result);
|
||||
|
||||
if($myNation['power']+$nation['power'] > $cond1 || $myNation['gennum']+$nation['gennum'] > $cond2 || !isClose($connect, $me['nation'], $nation['nation'])) {
|
||||
if($myNation['power']+$nation['power'] > $cond1 || $myNation['gennum']+$nation['gennum'] > $cond2 || !isClose($me['nation'], $nation['nation'])) {
|
||||
echo "<option style=color:{$nation['color']};background-color:red; value={$nation['nation']}>【 {$nation['name']} 】</option>";
|
||||
} else {
|
||||
echo "<option style=color:{$nation['color']} value={$nation['nation']}>【 {$nation['name']} 】</option>";
|
||||
|
||||
Reference in New Issue
Block a user