fix: 성벽 선제가 호출조차 되지 않는 버그 수정

This commit is contained in:
2023-05-12 00:07:01 +09:00
parent 2ad0c6e509
commit 18f9d87a29
7 changed files with 53 additions and 20 deletions
+17 -10
View File
@@ -51,7 +51,7 @@ function processWar(string $warSeed, General $attackerGeneral, array $rawAttacke
$defenderList[] = $defenderCandidate;
}
if(count($defenderList) == 0 && extractBattleOrder($city, $attacker) > 0){
if(count($defenderList) && extractBattleOrder($city, $attacker) > 0){
$defenderList[] = $city;
}
@@ -424,21 +424,28 @@ function processWar_NG(
$attacker->logBattleResult();
$defender->logBattleResult();
$attacker->addWin();
$defender->addLose();
if (!($defender instanceof WarUnitCity) || $defender->isSiege()){
$attacker->addWin();
$defender->addLose();
$attacker->tryWound();
$defender->tryWound();
$attacker->tryWound();
$defender->tryWound();
if ($defender === $city) {
$attacker->addLevelExp(1000);
$conquerCity = true;
break;
if ($defender === $city) {
$attacker->addLevelExp(1000);
$conquerCity = true;
break;
}
}
$josaYi = JosaUtil::pick($defender->getCrewTypeName(), '이');
if ($noRice) {
if ($defender instanceof WarUnitCity && !$defender->isSiege()){
//실제 공성을 위해 다시 초기화
$defender->setOppose(null);
}
else if ($noRice) {
$logger->pushGlobalActionLog("<Y>{$defender->getName()}</>의 {$defender->getCrewTypeName()}{$josaYi} 패퇴했습니다.");
$attacker->getLogger()->pushGeneralActionLog("<Y>{$defender->getName()}</>의 {$defender->getCrewTypeName()}{$josaYi} 패퇴했습니다.", ActionLogger::PLAIN);
$defender->getLogger()->pushGeneralActionLog("군량 부족으로 패퇴합니다.", ActionLogger::PLAIN);