디버그 코드 추가, 버그 수정
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]){
|
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;
|
$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);
|
trigger_error("올바르지 않은 삭제 프로세스 $userID", E_USER_WARNING);
|
||||||
}
|
}
|
||||||
$generalName = $general['name'];
|
$generalName = $generalObj->getName();
|
||||||
$josaYi = JosaUtil::pick($generalName, '이');
|
$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();
|
$session->logoutGame();
|
||||||
header('location:..');
|
header('location:..');
|
||||||
+14
-3
@@ -509,7 +509,7 @@ class General implements iAction{
|
|||||||
/**
|
/**
|
||||||
* @param \MeekroDB $db
|
* @param \MeekroDB $db
|
||||||
*/
|
*/
|
||||||
function kill($db){
|
function kill($db, bool $sendDyingMessage=true, ?string $dyingMessage=null){
|
||||||
$generalID = $this->getID();
|
$generalID = $this->getID();
|
||||||
$logger = $this->getLogger();
|
$logger = $this->getLogger();
|
||||||
|
|
||||||
@@ -533,11 +533,22 @@ class General implements iAction{
|
|||||||
$db->delete('troop', 'troop_leader=%i', $troopLeaderID);
|
$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', 'no=%i', $generalID);
|
||||||
$db->delete('general_turn', 'general_id=%i', $generalID);
|
$db->delete('general_turn', 'general_id=%i', $generalID);
|
||||||
|
$db->delete('rank_data', 'general_id=%i', $generalID);
|
||||||
$this->updatedVar = [];
|
$this->updatedVar = [];
|
||||||
|
|
||||||
$db->update('nation', [
|
$db->update('nation', [
|
||||||
|
|||||||
+11
-2
@@ -2932,6 +2932,7 @@ class GeneralAI
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!($reservedCommand instanceof Command\Nation\휴식) && $reservedCommand->isRunnable()){
|
if(!($reservedCommand instanceof Command\Nation\휴식) && $reservedCommand->isRunnable()){
|
||||||
|
$reservedCommand->reason = 'reserved';
|
||||||
return $reservedCommand;
|
return $reservedCommand;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2945,10 +2946,13 @@ class GeneralAI
|
|||||||
/** @var ?NationCommand */
|
/** @var ?NationCommand */
|
||||||
$result = $this->{'do'.$actionName}($lastTurn);
|
$result = $this->{'do'.$actionName}($lastTurn);
|
||||||
if($result !== null){
|
if($result !== null){
|
||||||
|
$reservedCommand->reason = 'do'.$actionName;
|
||||||
return $result;
|
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{
|
public function chooseInstantNationTurn(NationCommand $reservedCommand): ?NationCommand{
|
||||||
@@ -3092,7 +3096,9 @@ class GeneralAI
|
|||||||
return $this->devRate;
|
return $this->devRate;
|
||||||
}
|
}
|
||||||
|
|
||||||
$devRate = [];
|
$devRate = [
|
||||||
|
'all'=>0,
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
foreach($this->supplyCities as $city){
|
foreach($this->supplyCities as $city){
|
||||||
@@ -3100,6 +3106,9 @@ class GeneralAI
|
|||||||
if($develKey == 'trust'){
|
if($develKey == 'trust'){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if(!key_exists($develKey, $devRate)){
|
||||||
|
$devRate[$develKey] = 0;
|
||||||
|
}
|
||||||
$devRate[$develKey] += $devScore;
|
$devRate[$develKey] += $devScore;
|
||||||
$devRate['all'] += $devScore;
|
$devRate['all'] += $devScore;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -266,6 +266,7 @@ WHERE turntime < %s ORDER BY turntime ASC, `no` ASC',
|
|||||||
$ai = new GeneralAI($turnObj->getGeneral());
|
$ai = new GeneralAI($turnObj->getGeneral());
|
||||||
if($hasNationTurn){
|
if($hasNationTurn){
|
||||||
$nationCommandObj = $ai->chooseNationTurn($nationCommandObj);
|
$nationCommandObj = $ai->chooseNationTurn($nationCommandObj);
|
||||||
|
LogText("NationTurn", "General, {$general->getName()}, {$general->getID()}, {$general->getStaticNation()['name']}, {$nationCommandObj->getBrief()}, {$nationCommandObj->reason}, ");
|
||||||
}
|
}
|
||||||
|
|
||||||
$generalCommandObj = $ai->chooseGeneralTurn($generalCommandObj); // npc AI 처리
|
$generalCommandObj = $ai->chooseGeneralTurn($generalCommandObj); // npc AI 처리
|
||||||
|
|||||||
Reference in New Issue
Block a user