버그 수정, u장수 관련 특성 수정

- m장은 거병하지 않도록,
- 태수국 건국 버그 수정
- Condition "Logic" 이 하위 Condition을 해석하지 못하는 버그 수정
- 시나리오 국가 건국시 type으로 null(랜덤)을 해석하지 못하는 버그 수정
- 시나리오 초반 NPC 등장을 12월(고정)에서 6월또는 12월로 수정
This commit is contained in:
2021-08-10 16:48:07 +09:00
parent b501c93fae
commit ced72eeb77
7 changed files with 23 additions and 11 deletions
+8 -6
View File
@@ -48,8 +48,9 @@ class RaiseNPCNation extends \sammo\Event\Action
} }
$citySum += $city[$key]; $citySum += $city[$key];
} }
$city['sum'] = $citySum;
$targetCities[] = [$city, $citySum]; $targetCities[] = $city;
} }
$cityCnt = count($targetCities); $cityCnt = count($targetCities);
@@ -64,7 +65,7 @@ class RaiseNPCNation extends \sammo\Event\Action
} }
usort($targetCities, function (array $lhs, array $rhs) { usort($targetCities, function (array $lhs, array $rhs) {
return $lhs[1] <=> $rhs[1]; return $lhs['sum'] <=> $rhs['sum'];
}); });
@@ -152,12 +153,12 @@ class RaiseNPCNation extends \sammo\Event\Action
'trust' => 100 'trust' => 100
]; ];
foreach (static::CITY_KEYS as $key) { foreach (static::CITY_KEYS as $key) {
$targetCity[$key] = min($targetCity["{$key}_max"], $avgCity[$key]); $targetCity[$key] = min($baseCity["{$key}_max"], $avgCity[$key]);
} }
$pickTypeList = ['무' => 1, '지' => 1]; $pickTypeList = ['무' => 1, '지' => 1];
$cityID = $baseCity['id']; $cityID = $baseCity['city'];
$cityName = $baseCity['name']; $cityName = $baseCity['name'];
$nationName = "{$cityName}"; $nationName = "{$cityName}";
@@ -224,9 +225,8 @@ class RaiseNPCNation extends \sammo\Event\Action
$avgGenCnt = $this->calcAvgNationGeneralCnt(); $avgGenCnt = $this->calcAvgNationGeneralCnt();
$serverID = UniqueConst::$serverID; $serverID = UniqueConst::$serverID;
$existNations = $db->queryFirstColumn("SELECT nation FROM `nation`");
$lastNationID = max( $lastNationID = max(
max($existNations), $db->queryFirstField("SELECT max(`nation`) FROM `nation`"),
$db->queryFirstField("SELECT max(`nation`) FROM `ng_old_nations` WHERE server_id = %s", $serverID), $db->queryFirstField("SELECT max(`nation`) FROM `ng_old_nations` WHERE server_id = %s", $serverID),
); );
@@ -236,6 +236,8 @@ class RaiseNPCNation extends \sammo\Event\Action
$occupiedCitiesID = array_keys($occupiedCities); $occupiedCitiesID = array_keys($occupiedCities);
$npcCitiesID = []; $npcCitiesID = [];
refreshNationStaticInfo();
foreach ($emptyCities as $emptyCity) { foreach ($emptyCities as $emptyCity) {
$cityID = $emptyCity['city']; $cityID = $emptyCity['city'];
+5 -1
View File
@@ -1,6 +1,8 @@
<?php <?php
namespace sammo\Event\Condition; namespace sammo\Event\Condition;
use sammo\Event\Condition;
class Logic extends \sammo\Event\Condition{ class Logic extends \sammo\Event\Condition{
private $mode = 'and'; private $mode = 'and';
@@ -24,7 +26,9 @@ class Logic extends \sammo\Event\Condition{
} }
$this->mode = $mode; $this->mode = $mode;
$this->conditions = $conditions; $this->conditions = array_map(function($condition){
return Condition::build($condition);
}, $conditions);
} }
public function eval($env=null){ public function eval($env=null){
+3
View File
@@ -3067,6 +3067,9 @@ class GeneralAI
if($general->getVar('makelimit')){ if($general->getVar('makelimit')){
return null; return null;
} }
if($general->getNPCType() > 2){
return null;
}
if(!$this->generalPolicy->can건국){ if(!$this->generalPolicy->can건국){
return null; return null;
} }
+4 -1
View File
@@ -76,7 +76,10 @@ class Nation{
$capital = 0; $capital = 0;
} }
if(strpos($this->type, '_') === FALSE){ if($this->type === null){
$type = Util::choiceRandom(GameConst::$availableNationType);
}
else if(strpos($this->type, '_') === FALSE){
$type = 'che_'.$this->type; $type = 'che_'.$this->type;
} }
else{ else{
+1 -1
View File
@@ -8,7 +8,7 @@
}, },
"events":[ "events":[
[ [
["Date", "==", null, 12], ["or", ["Date", "==", null, 12], ["Date", "==", null, 6]],
["CreateManyNPC", 30], ["CreateManyNPC", 30],
["DeleteEvent"] ["DeleteEvent"]
], ],
+1 -1
View File
@@ -11,7 +11,7 @@
}, },
"events":[ "events":[
[ [
["Date", "==", null, 12], ["or", ["Date", "==", null, 12], ["Date", "==", null, 6]],
["CreateManyNPC", 30], ["CreateManyNPC", 30],
["DeleteEvent"] ["DeleteEvent"]
], ],
+1 -1
View File
@@ -15,7 +15,7 @@
}, },
"events":[ "events":[
[ [
["Date", "==", null, 12], ["or", ["Date", "==", null, 12], ["Date", "==", null, 6]],
["CreateManyNPC", 30], ["CreateManyNPC", 30],
["DeleteEvent"] ["DeleteEvent"]
], ],