diff --git a/hwe/sammo/GeneralAI.php b/hwe/sammo/GeneralAI.php index f5d00268..0f9e25fe 100644 --- a/hwe/sammo/GeneralAI.php +++ b/hwe/sammo/GeneralAI.php @@ -3049,6 +3049,7 @@ class GeneralAI $month = $this->env['month']; if($npcType >= 2 && $general->getVar('officer_level') == 12){ + LogText('action', "Try Boss {$general->getID()}, {$general->getName()}"); if (in_array($month, [1, 4, 7, 10])) { $this->choosePromotion(); } else if ($month == 12) { @@ -3387,7 +3388,7 @@ class GeneralAI } } - $generals = $this->userGenerals; + $generals = $this->nationGenerals; uasort($generals, function(General $lhs, General $rhs){ $lhsStat = $lhs->getLeadership(false, false, false, false) * 2 + $lhs->getStrength(false, false, false, false) diff --git a/hwe/sammo/TurnExecutionHelper.php b/hwe/sammo/TurnExecutionHelper.php index fc64266d..015699d9 100644 --- a/hwe/sammo/TurnExecutionHelper.php +++ b/hwe/sammo/TurnExecutionHelper.php @@ -267,30 +267,35 @@ WHERE turntime < %s ORDER BY turntime ASC, `no` ASC', } $autorunMode = false; + $tryAutorun = false; if($general->getVar('npc') >= 2 || ($autorun_user['limit_minutes']??false)){ + $tryAutorun = true; $ai = new GeneralAI($turnObj->getGeneral()); - if($hasNationTurn){ - $nationCommandObj = $ai->chooseNationTurn($nationCommandObj); - LogText("NationTurn", "General, {$general->getName()}, {$general->getID()}, {$general->getStaticNation()['name']}, {$nationCommandObj->getBrief()}, {$nationCommandObj->reason}, "); - } - - $newGeneralCommandObj = $ai->chooseGeneralTurn($generalCommandObj); // npc AI 처리 - if($generalCommandObj !== $newGeneralCommandObj){ - $autorunMode = true; - $generalCommandObj = $newGeneralCommandObj; - } - LogText("turn", "General, {$general->getName()}, {$general->getID()}, {$general->getStaticNation()['name']}, {$generalCommandObj->getBrief()}, {$generalCommandObj->reason}, "); } if(!$turnObj->processBlocked()){ $turnObj->preprocessCommand(); if($hasNationTurn){ + if($tryAutorun){ + $nationCommandObj = $ai->chooseNationTurn($nationCommandObj); + LogText("NationTurn", "General, {$general->getName()}, {$general->getID()}, {$general->getStaticNation()['name']}, {$nationCommandObj->getBrief()}, {$nationCommandObj->reason}, "); + } $resultNationTurn = $turnObj->processNationCommand( $nationCommandObj ); $nationStor->setValue($lastNationTurnKey, $resultNationTurn->toJson()); } + + if($tryAutorun){ + $newGeneralCommandObj = $ai->chooseGeneralTurn($generalCommandObj); // npc AI 처리 + if($generalCommandObj !== $newGeneralCommandObj){ + $autorunMode = true; + $generalCommandObj = $newGeneralCommandObj; + } + LogText("turn", "General, {$general->getName()}, {$general->getID()}, {$general->getStaticNation()['name']}, {$generalCommandObj->getBrief()}, {$generalCommandObj->reason}, "); + } + $turnObj->processCommand($generalCommandObj, $autorunMode); } pullNationCommand($general->getVar('nation'), $general->getVar('officer_level'));