버그 수정
This commit is contained in:
@@ -3049,6 +3049,7 @@ class GeneralAI
|
|||||||
|
|
||||||
$month = $this->env['month'];
|
$month = $this->env['month'];
|
||||||
if($npcType >= 2 && $general->getVar('officer_level') == 12){
|
if($npcType >= 2 && $general->getVar('officer_level') == 12){
|
||||||
|
LogText('action', "Try Boss {$general->getID()}, {$general->getName()}");
|
||||||
if (in_array($month, [1, 4, 7, 10])) {
|
if (in_array($month, [1, 4, 7, 10])) {
|
||||||
$this->choosePromotion();
|
$this->choosePromotion();
|
||||||
} else if ($month == 12) {
|
} else if ($month == 12) {
|
||||||
@@ -3387,7 +3388,7 @@ class GeneralAI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$generals = $this->userGenerals;
|
$generals = $this->nationGenerals;
|
||||||
uasort($generals, function(General $lhs, General $rhs){
|
uasort($generals, function(General $lhs, General $rhs){
|
||||||
$lhsStat = $lhs->getLeadership(false, false, false, false) * 2
|
$lhsStat = $lhs->getLeadership(false, false, false, false) * 2
|
||||||
+ $lhs->getStrength(false, false, false, false)
|
+ $lhs->getStrength(false, false, false, false)
|
||||||
|
|||||||
@@ -267,14 +267,27 @@ WHERE turntime < %s ORDER BY turntime ASC, `no` ASC',
|
|||||||
}
|
}
|
||||||
|
|
||||||
$autorunMode = false;
|
$autorunMode = false;
|
||||||
|
$tryAutorun = false;
|
||||||
|
|
||||||
if($general->getVar('npc') >= 2 || ($autorun_user['limit_minutes']??false)){
|
if($general->getVar('npc') >= 2 || ($autorun_user['limit_minutes']??false)){
|
||||||
|
$tryAutorun = true;
|
||||||
$ai = new GeneralAI($turnObj->getGeneral());
|
$ai = new GeneralAI($turnObj->getGeneral());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$turnObj->processBlocked()){
|
||||||
|
$turnObj->preprocessCommand();
|
||||||
if($hasNationTurn){
|
if($hasNationTurn){
|
||||||
|
if($tryAutorun){
|
||||||
$nationCommandObj = $ai->chooseNationTurn($nationCommandObj);
|
$nationCommandObj = $ai->chooseNationTurn($nationCommandObj);
|
||||||
LogText("NationTurn", "General, {$general->getName()}, {$general->getID()}, {$general->getStaticNation()['name']}, {$nationCommandObj->getBrief()}, {$nationCommandObj->reason}, ");
|
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 처리
|
$newGeneralCommandObj = $ai->chooseGeneralTurn($generalCommandObj); // npc AI 처리
|
||||||
if($generalCommandObj !== $newGeneralCommandObj){
|
if($generalCommandObj !== $newGeneralCommandObj){
|
||||||
$autorunMode = true;
|
$autorunMode = true;
|
||||||
@@ -283,14 +296,6 @@ WHERE turntime < %s ORDER BY turntime ASC, `no` ASC',
|
|||||||
LogText("turn", "General, {$general->getName()}, {$general->getID()}, {$general->getStaticNation()['name']}, {$generalCommandObj->getBrief()}, {$generalCommandObj->reason}, ");
|
LogText("turn", "General, {$general->getName()}, {$general->getID()}, {$general->getStaticNation()['name']}, {$generalCommandObj->getBrief()}, {$generalCommandObj->reason}, ");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$turnObj->processBlocked()){
|
|
||||||
$turnObj->preprocessCommand();
|
|
||||||
if($hasNationTurn){
|
|
||||||
$resultNationTurn = $turnObj->processNationCommand(
|
|
||||||
$nationCommandObj
|
|
||||||
);
|
|
||||||
$nationStor->setValue($lastNationTurnKey, $resultNationTurn->toJson());
|
|
||||||
}
|
|
||||||
$turnObj->processCommand($generalCommandObj, $autorunMode);
|
$turnObj->processCommand($generalCommandObj, $autorunMode);
|
||||||
}
|
}
|
||||||
pullNationCommand($general->getVar('nation'), $general->getVar('officer_level'));
|
pullNationCommand($general->getVar('nation'), $general->getVar('officer_level'));
|
||||||
|
|||||||
Reference in New Issue
Block a user