forked from devsam/core
디버그 코드 추가, 버그 수정
This commit is contained in:
@@ -186,6 +186,9 @@ foreach($db->query(
|
||||
}
|
||||
|
||||
foreach($db->queryAllLists('SELECT general_id, `type`, `value` FROM rank_data') as [$generalID, $typeKey, $value]){
|
||||
if(!key_exists($generalID, $generals)){
|
||||
continue;
|
||||
}
|
||||
$generals[$generalID][$typeKey] = $value;
|
||||
}
|
||||
|
||||
|
||||
@@ -36,14 +36,14 @@ if(!$availableDieImmediately){
|
||||
}
|
||||
|
||||
|
||||
if(!$db->query('DELETE FROM general WHERE owner=%i AND npc=0', $userID)){
|
||||
|
||||
$generalObj = General::createGeneralObjFromDB($general['no']);
|
||||
if($generalObj instanceof DummyGeneral){
|
||||
trigger_error("올바르지 않은 삭제 프로세스 $userID", E_USER_WARNING);
|
||||
}
|
||||
$generalName = $general['name'];
|
||||
$generalName = $generalObj->getName();
|
||||
$josaYi = JosaUtil::pick($generalName, '이');
|
||||
pushGeneralPublicRecord(["<C>●</>{$gameStor->month}월:<Y>{$generalName}</>{$josaYi} 이 홀연히 모습을 <R>감추었습니다</>"], $gameStor->year, $gameStor->month);
|
||||
|
||||
|
||||
$generalObj->kill($db, true, "<Y>{$generalName}</>{$josaYi} 이 홀연히 모습을 <R>감추었습니다</>");
|
||||
|
||||
$session->logoutGame();
|
||||
header('location:..');
|
||||
+14
-3
@@ -509,7 +509,7 @@ class General implements iAction{
|
||||
/**
|
||||
* @param \MeekroDB $db
|
||||
*/
|
||||
function kill($db){
|
||||
function kill($db, bool $sendDyingMessage=true, ?string $dyingMessage=null){
|
||||
$generalID = $this->getID();
|
||||
$logger = $this->getLogger();
|
||||
|
||||
@@ -533,11 +533,22 @@ class General implements iAction{
|
||||
$db->delete('troop', 'troop_leader=%i', $troopLeaderID);
|
||||
}
|
||||
|
||||
$dyingMessage = new TextDecoration\DyingMessage($this);
|
||||
$logger->pushGlobalActionLog($dyingMessage->getText());
|
||||
|
||||
if($sendDyingMessage){
|
||||
if($dyingMessage){
|
||||
$logger->pushGlobalActionLog($dyingMessage);
|
||||
}
|
||||
else{
|
||||
$dyingMessageObj = new TextDecoration\DyingMessage($this);
|
||||
$logger->pushGlobalActionLog($dyingMessageObj->getText());
|
||||
}
|
||||
$logger->flush();
|
||||
}
|
||||
|
||||
|
||||
$db->delete('general', 'no=%i', $generalID);
|
||||
$db->delete('general_turn', 'general_id=%i', $generalID);
|
||||
$db->delete('rank_data', 'general_id=%i', $generalID);
|
||||
$this->updatedVar = [];
|
||||
|
||||
$db->update('nation', [
|
||||
|
||||
+11
-2
@@ -2932,6 +2932,7 @@ class GeneralAI
|
||||
}
|
||||
|
||||
if(!($reservedCommand instanceof Command\Nation\휴식) && $reservedCommand->isRunnable()){
|
||||
$reservedCommand->reason = 'reserved';
|
||||
return $reservedCommand;
|
||||
}
|
||||
|
||||
@@ -2945,10 +2946,13 @@ class GeneralAI
|
||||
/** @var ?NationCommand */
|
||||
$result = $this->{'do'.$actionName}($lastTurn);
|
||||
if($result !== null){
|
||||
$reservedCommand->reason = 'do'.$actionName;
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
return buildNationCommandClass(null, $this->general, $this->env, $this->general->getLastTurn());
|
||||
$cmd = buildNationCommandClass(null, $this->general, $this->env, $this->general->getLastTurn());
|
||||
$cmd->reason = 'neutral';
|
||||
return $cmd;
|
||||
}
|
||||
|
||||
public function chooseInstantNationTurn(NationCommand $reservedCommand): ?NationCommand{
|
||||
@@ -3092,7 +3096,9 @@ class GeneralAI
|
||||
return $this->devRate;
|
||||
}
|
||||
|
||||
$devRate = [];
|
||||
$devRate = [
|
||||
'all'=>0,
|
||||
];
|
||||
|
||||
|
||||
foreach($this->supplyCities as $city){
|
||||
@@ -3100,6 +3106,9 @@ class GeneralAI
|
||||
if($develKey == 'trust'){
|
||||
continue;
|
||||
}
|
||||
if(!key_exists($develKey, $devRate)){
|
||||
$devRate[$develKey] = 0;
|
||||
}
|
||||
$devRate[$develKey] += $devScore;
|
||||
$devRate['all'] += $devScore;
|
||||
}
|
||||
|
||||
@@ -266,6 +266,7 @@ WHERE turntime < %s ORDER BY turntime ASC, `no` ASC',
|
||||
$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}, ");
|
||||
}
|
||||
|
||||
$generalCommandObj = $ai->chooseGeneralTurn($generalCommandObj); // npc AI 처리
|
||||
|
||||
Reference in New Issue
Block a user