Diplomacy 생성자에서 두 국가르 받도록 변경

인접국 판단 로직을 두경우로 나눔
Diplomacy 클래스 구현중...
This commit is contained in:
2018-04-15 04:07:59 +09:00
parent 655cd1700c
commit e41d73b5bd
3 changed files with 204 additions and 35 deletions
+11 -3
View File
@@ -2576,15 +2576,23 @@ function searchDistance(int $from, int $maxDist=99, bool $distForm = false) {
}
}
function isClose($nation1, $nation2) {
function isClose(int $nation1, int $nation2, bool $includeNoSupply=true) {
$db = DB::db();
$nation1Cities = [];
foreach($db->queryFirstColumn('SELECT city FROM city WHERE nation = %i', $nation1) as $city){
if($includeNoSupply){
$supplySql = '';
}
else{
$supplySql = 'AND supply = 1';
}
foreach($db->queryFirstColumn('SELECT city FROM city WHERE nation = %i %l', $nation1, $supplySql) as $city){
$nation1Cities[$city] = $city;
}
foreach($db->queryFirstColumn('SELECT city FROM city WHERE nation = %i', $nation2) as $city){
foreach($db->queryFirstColumn('SELECT city FROM city WHERE nation = %i %l', $nation2, $supplySql) as $city){
foreach(array_keys(CityConst::byID($city)->path) as $adjCity){
if(key_exists($adjCity, $nation1Cities)){
return true;