버그 수정, 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];
}
$city['sum'] = $citySum;
$targetCities[] = [$city, $citySum];
$targetCities[] = $city;
}
$cityCnt = count($targetCities);
@@ -64,7 +65,7 @@ class RaiseNPCNation extends \sammo\Event\Action
}
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
];
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];
$cityID = $baseCity['id'];
$cityID = $baseCity['city'];
$cityName = $baseCity['name'];
$nationName = "{$cityName}";
@@ -224,9 +225,8 @@ class RaiseNPCNation extends \sammo\Event\Action
$avgGenCnt = $this->calcAvgNationGeneralCnt();
$serverID = UniqueConst::$serverID;
$existNations = $db->queryFirstColumn("SELECT nation FROM `nation`");
$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),
);
@@ -236,6 +236,8 @@ class RaiseNPCNation extends \sammo\Event\Action
$occupiedCitiesID = array_keys($occupiedCities);
$npcCitiesID = [];
refreshNationStaticInfo();
foreach ($emptyCities as $emptyCity) {
$cityID = $emptyCity['city'];
+5 -1
View File
@@ -1,6 +1,8 @@
<?php
namespace sammo\Event\Condition;
use sammo\Event\Condition;
class Logic extends \sammo\Event\Condition{
private $mode = 'and';
@@ -24,7 +26,9 @@ class Logic extends \sammo\Event\Condition{
}
$this->mode = $mode;
$this->conditions = $conditions;
$this->conditions = array_map(function($condition){
return Condition::build($condition);
}, $conditions);
}
public function eval($env=null){
+3
View File
@@ -3067,6 +3067,9 @@ class GeneralAI
if($general->getVar('makelimit')){
return null;
}
if($general->getNPCType() > 2){
return null;
}
if(!$this->generalPolicy->can건국){
return null;
}
+4 -1
View File
@@ -76,7 +76,10 @@ class Nation{
$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;
}
else{
+1 -1
View File
@@ -8,7 +8,7 @@
},
"events":[
[
["Date", "==", null, 12],
["or", ["Date", "==", null, 12], ["Date", "==", null, 6]],
["CreateManyNPC", 30],
["DeleteEvent"]
],
+1 -1
View File
@@ -11,7 +11,7 @@
},
"events":[
[
["Date", "==", null, 12],
["or", ["Date", "==", null, 12], ["Date", "==", null, 6]],
["CreateManyNPC", 30],
["DeleteEvent"]
],
+1 -1
View File
@@ -15,7 +15,7 @@
},
"events":[
[
["Date", "==", null, 12],
["or", ["Date", "==", null, 12], ["Date", "==", null, 6]],
["CreateManyNPC", 30],
["DeleteEvent"]
],