hwe/sammo/GeneralAI.php 에 있는 방랑군 건국 로직을 살펴보면,
우선 건국을 시도하고, 건국할 수 없으면 방랑군이동을 시도하며, 이마저도 안 되면 해산을 시도합니다.
https://storage.hided.net/gitea/devsam/core/src/commit/d679a6fed87acd96b9f6372985b728a19cc5ca0c/hwe/sammo/GeneralAI.php#L3802
방랑군이동 함수의 내용을 보면, 다음과 같은 커밋(game: NPC는 건국 한턴 기다림)에서 함수 도입부분이 수정되었습니다.
https://storage.hided.net/gitea/devsam/core/commit/66b2f1a8f2f115b621d880be1fe35ed31d15d0c8
그리고, 거의 직후의 커밋(fix: 방랑군이동시 현재 소재 위치 확인)을 통해 로직이 약간 바뀌었습니다.
https://storage.hided.net/gitea/devsam/core/commit/65c84a29e14120e28262269c7a7fd8ebbf550217
참고로, 아래 커밋(fix: AI 일부 key 접근 문제 수정)을 통해 현재와 같은 버전이 되었습니다.
https://storage.hided.net/gitea/devsam/core/commit/185c0e16a0b748e74a3e879be1681edc4883c5f3
로직 자체는 가운데 버전을 기준으로 보는 게 좋을 거 같은데, 그 내용은 다음과 같습니다.
$dupLord = $db->queryFirstField('SELECT COUNT(*) FROM general WHERE officer_level = 12 AND city = %i', $this->general->getCityID());
if($dupLord <= 1 && !in_array($this->general->getRawCity()['level'], [5, 6])) {
return null;
}
이 부분을 해석해 보면, 방랑군 소재지에 '한 개 이하의 방랑군이 존재'하며,
그 도시가 중, 소가 아니면 null을 반환합니다(방랑군이 이동하지 않습니다).
따라서, 방랑군이 이동하던 중 건국 불가능한 도시에 도달했는데,
그 도시에 해당 방랑군만 주둔해 있다면 건국을 포기하고 해산하게 되는 거로 보입니다.
이 부분이 원래 의도한 내용일까요?
아마도, 원래 의도는, 건국 가능한 도시에 내 방랑군만 존재하는 상황인데,
새로 도입된 정책에 따라 첫 번째 턴에 NPC가 건국하지 못 하는 상황이었다면,
굳이 이동하지 않고 첫 번째 턴을 흘려 보내는 것이 아니었을까 생각됩니다.
따라서 조건문에서 ! 를 빼면 어떨까 생각합니다.
혹은, 건국 불가능한 도시에 여러 방랑군이 존재한다면 하나 빼고는 해산하는 게 의도였거나 하면
새로운 형태로 수정되어야 할 거 같긴 한데.. 이 부분은 코드 저자의 의견 여쭙고 싶습니다.
(사실 처음 봤을 때는 의문이라 이 글을 쓰기 시작했는데, 내용 찾아가며 살펴보니 어느 정도 정리가 되는 것도 같네요)
감사합니다!!
댓글 2
-
단순히 !만 없애면, 국가도 존재하고 방랑군도 존재할 때 방랑군이 영원히 머물 수도 있겠네요..
-
아, officer_level이 12인게 방랑군만 보는게 아니라 그냥 그 도시에 군주 몇 명 있는지를 보는 거네요.. 그러면 !만 없애도 될듯?
해당 도시에 군주가 한 명만 존재하는데, 그 도시가 건국 가능 도시라면, 이동하지 않는다.
원래대로라면 건국 가능하니까 건국을 했었을 텐데, 건국 안 하고 이동으로 넘어온 이유는 첫 턴이라서 건국을 못한 거다.
첫 턴이니까 방랑군이 이동하지 않는다고 해서 해산하진 않을 것이다.
| 번호 | 분류 | 제목 | 글쓴이 | 최근 수정일 | 날짜 | 조회 수 |
|---|---|---|---|---|---|---|
| 공지 | 토론중 | 갠톡, 단톡 등에서 설명하였던 내용을 모두 적어둡니다.18 | Hide_D | 2023.04.25 | 2023.02.05 | 15322 |
| 공지 | 완료 | 시나리오 제안 시 구성 방법에 대해 안내합니다. (22-03-13) | Hide_D | 2024.12.07 | 2022.03.13 | 13219 |
| 공지 | 완료 | 마이너 서버 요청 가이드 | 갓세정 | 2022.06.28 | 2018.12.03 | 14353 |
| 공지 | 완료 | 신규 시나리오 제안 가이드 | 갓세정 | 2018.07.16 | 2018.05.30 | 15302 |
| 버그의심 | NPC 거병 후 해산2 | 류화영 | 2025.12.23 | 2025.12.23 | 18 | |
| 2 | 버그의심 | 선양과 사령턴 | 류화영 | 2025.07.29 | 2025.07.29 | 661 |
| 1 | 버그의심 | 토너먼트 버그3 | 진솔 | 2023.07.23 | 2023.07.23 | 801 |
댓글 달기