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 | |
| 371 | 제안 | 리그오브레전드 시나리오 수정 제안1 | 류화영 | 2025.12.23 | 2025.12.23 | 12 |
| 370 | 버그의심 | 선양과 사령턴 | 류화영 | 2025.07.29 | 2025.07.29 | 661 |
| 369 | 부분완료 | 역사모드 2,3 반동탁연합,군웅할거 리메이크2 | dwfef | 2025.06.28 | 2024.11.28 | 1284 |
| 368 | 완료 | 강서유서 월드 전콘 추가본 | dwfef | 2024.12.09 | 2024.12.09 | 1026 |
| 367 | 반려 | 혹시 역사 시나리오 4 황제는 허도로 시나리오에 손책 영토인 오와 회계에4 | dwfef | 2025.06.27 | 2024.02.25 | 1247 |
| 366 | 제안 | 옥벽 상향좀3 | 임사여엉 | 2025.06.14 | 2025.06.11 | 1007 |
| 365 | 제안 | 부대장 수 늘어나는 시기 조정 | 외심장 | 2025.04.08 | 2025.04.08 | 890 |
| 364 | 제안 | 【가상모드27-f】 아시아 명장전(비급+다병종) 시나리오 추가 요청 | 사스케 | 2025.03.31 | 2025.03.31 | 920 |
| 363 | 완료 | 80기 이벤트기수용 병종 추가 초안1 | 사스케 | 2025.01.10 | 2024.12.29 | 1369 |
| 362 | 부분완료 | 엔장 임관 밸런스 공평하게 바꿨으면 좋겠습니다4 | 임사여엉 | 2025.03.06 | 2024.12.19 | 1293 |
| 361 | 승인 | 로그 색상 개선 요청 드립니다. | 눈센세 | 2025.03.12 | 2025.03.12 | 955 |
| 360 | 완료 | 2차 철기병 버프/조정 건의의 건2 | Mella | 2024.12.22 | 2024.12.20 | 1167 |
| 359 | 제안 | 공성 특기 너프 합시다5 | 임사여엉 | 2024.12.20 | 2024.12.20 | 1066 |
| 358 | 제안 | 인사부, NPC정책, 내무부 변경 시 로그 | Hide_D | 2024.12.18 | 2024.12.18 | 1009 |
| 357 | 완료 | 신규 시나리오 - 리그오브레전드8 | 갓세정 | 2024.12.09 | 2024.11.26 | 1090 |
| 356 | 완료 | 강서유서 소설월드 수정본 | dwfef | 2024.12.07 | 2024.11.21 | 1017 |
| 355 | 제안 | 전략 수몰 효과 / 토너먼트 횟수 관련 문의 | 슈퍼블루문 | 2024.11.30 | 2024.11.30 | 878 |
| 354 | 제안 | 경매장 버튼 | 카이스트 | 2024.11.08 | 2024.11.08 | 855 |
| 353 | 제안 | 토너먼트에서 유니크템 부가능력 부여 | 카이스트 | 2024.11.08 | 2024.11.08 | 820 |
댓글 달기