본문 바로가기

버그의심

NPC 거병 후 해산

류화영2025.12.23 23:43조회 수 777댓글 2

    • 글자 크기

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,3 반동탁연합,군웅할거 리메이크 (by dwfef) 선양과 사령턴 (by 류화영)

댓글 달기

댓글 2
  • 류화영글쓴이
    2025.12.23 23:45 댓글추천 0비추천 0

    단순히 !만 없애면, 국가도 존재하고 방랑군도 존재할 때 방랑군이 영원히 머물 수도 있겠네요..

  • 류화영글쓴이
    2025.12.23 23:56 댓글추천 0비추천 0

    아, officer_level이 12인게 방랑군만 보는게 아니라 그냥 그 도시에 군주 몇 명 있는지를 보는 거네요.. 그러면 !만 없애도 될듯?

    해당 도시에 군주가 한 명만 존재하는데, 그 도시가 건국 가능 도시라면, 이동하지 않는다.

    원래대로라면 건국 가능하니까 건국을 했었을 텐데, 건국 안 하고 이동으로 넘어온 이유는 첫 턴이라서 건국을 못한 거다.

    첫 턴이니까 방랑군이 이동하지 않는다고 해서 해산하진 않을 것이다.

번호 분류 제목 글쓴이 최근 수정일 날짜 조회 수
공지 토론중 갠톡, 단톡 등에서 설명하였던 내용을 모두 적어둡니다.18 Hide_D 2023.04.25 2023.02.05 19722
공지 완료 시나리오 제안 시 구성 방법에 대해 안내합니다. (22-03-13) Hide_D 2024.12.07 2022.03.13 19358
공지 완료 마이너 서버 요청 가이드 갓세정 2022.06.28 2018.12.03 20773
공지 완료 신규 시나리오 제안 가이드 갓세정 2018.07.16 2018.05.30 21551
376 완료 전메 요청사항2 Hide_D 2026.08.29 2026.08.27 48
375 완료 모바일 건국시 국가색 선택 어려움. Hide_D 2026.08.28 2026.08.27 47
374 완료 특정 스크린 사이즈에 지도 크기 문제 Hide_D 2026.08.27 2026.08.27 53
373 버그의심 견고 특기임에도 전투중 부상 발생 유여 2026.08.04 2026.08.04 75
372 제안 리그오브레전드 시나리오 수정 제안2 류화영 2026.03.06 2025.12.23 906
371 부분완료 역사모드 2,3 반동탁연합,군웅할거 리메이크4 dwfef 2026.01.23 2024.11.28 2838
버그의심 NPC 거병 후 해산2 류화영 2025.12.23 2025.12.23 777
369 버그의심 선양과 사령턴 류화영 2025.07.29 2025.07.29 1336
368 완료 강서유서 월드 전콘 추가본 dwfef 2024.12.09 2024.12.09 1899
367 반려 혹시 역사 시나리오 4 황제는 허도로 시나리오에 손책 영토인 오와 회계에4 dwfef 2025.06.27 2024.02.25 2811
366 제안 옥벽 상향좀3 임사여엉 2025.06.14 2025.06.11 1690
365 제안 부대장 수 늘어나는 시기 조정 외심장 2025.04.08 2025.04.08 1636
364 제안 【가상모드27-f】 아시아 명장전(비급+다병종) 시나리오 추가 요청 사스케 2025.03.31 2025.03.31 2410
363 완료 80기 이벤트기수용 병종 추가 초안1 사스케 2025.01.10 2024.12.29 2022
362 부분완료 엔장 임관 밸런스 공평하게 바꿨으면 좋겠습니다4 임사여엉 2025.03.06 2024.12.19 2090
361 승인 로그 색상 개선 요청 드립니다. 눈센세 2025.03.12 2025.03.12 1725
360 완료 2차 철기병 버프/조정 건의의 건2 Mella 2024.12.22 2024.12.20 2098
359 제안 공성 특기 너프 합시다5 임사여엉 2024.12.20 2024.12.20 1819
358 제안 인사부, NPC정책, 내무부 변경 시 로그 Hide_D 2024.12.18 2024.12.18 1861
357 완료 신규 시나리오 - 리그오브레전드8 갓세정 2024.12.09 2024.11.26 1800
이전 1 2 3 4 5 6 7 8 9 10... 19다음
첨부 (0)