정책 반영

This commit is contained in:
2020-05-13 01:56:08 +09:00
parent a133dfc722
commit 1e963ee1d8
8 changed files with 221 additions and 13 deletions
+6 -2
View File
@@ -124,7 +124,9 @@ class AutorunGeneralPolicy{
}
$priority[] = $priorityItem;
}
$this->priority = $priority;
if($priority){
$this->priority = $priority;
}
}
if($nationPolicy && key_exists('priority', $nationPolicy)){
@@ -135,7 +137,9 @@ class AutorunGeneralPolicy{
}
$priority[] = $priorityItem;
}
$this->priority = $priority;
if($priority){
$this->priority = $priority;
}
}
if($general->getNPCType() >= 2){
+3 -3
View File
@@ -174,13 +174,13 @@ class AutorunNationPolicy {
foreach(static::$defaultPolicy as $policy=>$value){
$this->{$policy} = $value;
}
if($serverPolicy){
foreach($serverPolicy['values']??[] as $policy=>$value){
if(!property_exists($this, $policy)){
continue;
}
$this->$policy = $value;
$this->{$policy} = $value;
}
if(key_exists('priority', $serverPolicy)){
@@ -194,7 +194,7 @@ class AutorunNationPolicy {
if(!property_exists($this, $policy)){
continue;
}
$this->$policy = $value;
$this->{$policy} = $value;
}
if(key_exists('priority', $nationPolicy)){
+10 -4
View File
@@ -116,8 +116,8 @@ class GeneralAI
$gameStor = KVStorage::getStorage($db, 'game_env');
$nationStor = KVStorage::getStorage($db, $this->nation['nation'], 'nation_env');
$this->nationPolicy = new AutorunNationPolicy($general, $this->env['autorun_user']['options'], $nationStor->getValue('npc_general_policy'), $gameStor->getValue('npc_general_policy'), $this->nation, $this->env);
$this->generalPolicy = new AutorunGeneralPolicy($general, $this->env['autorun_user']['options'], $nationStor->getValue('npc_nation_policy'), $gameStor->getValue('npc_nation_policy'), $this->nation, $this->env);
$this->nationPolicy = new AutorunNationPolicy($general, $this->env['autorun_user']['options'], $gameStor->getValue('npc_nation_policy'), $nationStor->getValue('npc_nation_policy'), $this->nation, $this->env);
$this->generalPolicy = new AutorunGeneralPolicy($general, $this->env['autorun_user']['options'], $gameStor->getValue('npc_general_policy'), $nationStor->getValue('npc_general_policy'), $this->nation, $this->env);
$this->nation['aux'] = Json::decode($this->nation['aux']??'{}');
@@ -3126,7 +3126,10 @@ class GeneralAI
foreach($this->nationPolicy->priority as $actionName){
if(property_exists($this->nationPolicy, 'can'.$actionName) && !$this->nationPolicy->{'can'.$actionName}){
if(!property_exists($this->nationPolicy, 'can'.$actionName)){
continue;
}
if(!$this->nationPolicy->{'can'.$actionName}){
continue;
}
if($npcType < 2 && !($this->nationPolicy::$availableInstantTurn[$actionName]??false)){
@@ -3276,7 +3279,10 @@ class GeneralAI
}
foreach($this->generalPolicy->priority as $actionName){
if(!$this->generalPolicy->{'can'.$actionName}){
if(!property_exists($this->generalPolicy, 'can'.$actionName)){
continue;
}
if(!($this->generalPolicy->{'can'.$actionName})){
continue;
}
/** @var ?GeneralCommand */