Combolandsmod

한국어, 치트, 그리고 오토플레이

Combolands: Roguelike Citybuilder(Crux Games)용 비공식 모드입니다. 게임 폴더에 파일 세 개를 추가할 뿐, 원래 있던 파일은 하나도 건드리지 않습니다.

최신 릴리스 받기 GitHub 저장소

게임 v1.0.6, Steam 빌드 24989173에서 검증했습니다. 게임이 업데이트되면 번역이 영어로 돌아가거나 오토플레이가 멈출 수 있습니다. 예상된 일이고, 앵커 카탈로그가 그걸 고치는 곳입니다.

세 가지

한국어 패치. 게임이 가진 번역 가능한 문자열 1,071개 전부입니다. 영어 원문이 아니라 키로 연결하기 때문에, Crux가 자기네 문구를 다듬어도 우리 번역이 어긋나지 않습니다. 게임의 폰트에는 한글 글리프가 하나도 없어서, Galmuri11을 런타임에 폰트 애셋으로 만들어 모든 폰트의 폴백으로 붙입니다.

치트, F8. 골드·점수·리롤·제거·해고·되감기·인챈트, 주차와 목표 점수, 마일스톤 건너뛰기, 상점 강제 호출, 아무 데나 건설. 모든 쓰기는 필드를 직접 건드리지 않고 게임 자신의 메서드를 통과하므로 UI와 트리거와 세이브가 서로 어긋나지 않습니다.

치트를 하나라도 쓰면 그 세션의 Steam 도전과제가 중단됩니다. 설정에서 찾아야 하는 옵션이 아니라 기본 동작입니다. 치트로 딴 도전과제는 되돌릴 수 없기 때문입니다.

오토플레이, F11. 제시된 건물 중 무엇을 고를지, 어디에 놓을지, 상점에 들어갈 가치가 있는지, 의회 요청 중 실제로 완수 가능한 게 뭔지 판단하고, 마일스톤 사이의 모든 화면을 넘어갑니다. F9는 조용한 버전입니다 — 지금 들고 있는 건물을 어디에 놓을지만 표시하고 클릭은 당신에게 맡깁니다.

이 모드가 아닌 것

시뮬레이터가 아닙니다. Combolands의 점수는 트리거가 연쇄적으로 터지면서 라이브 상태를 바꾸는 방식이라, 실제로 놓아보지 않고 “이 배치가 몇 점일까”를 물어볼 방법이 없습니다.

대신 각 건물이 스스로 선언한 것을 읽습니다 — 나무꾼은 “나무, 개당 30점”이라고 말합니다 — 그리고 그 타일이 실제로 무엇을 찾아낼지 셉니다. 그 답을 마일스톤 쪽으로 기울입니다. 주차가 넉넉하면 엔진을 짓고, 2주 남았으면 점수를 챙깁니다.

규칙을 어길 수도 없습니다. 모든 배치는 게임 자신의 적법성 검사를 통과하며, 안 된다는 답이 나오면 포기합니다.

설치

먼저 MelonLoader v0.7.3이 필요합니다. 여기 동봉하지 않았습니다 — 남의 로더를 우리 배포본에 끼워 넣으면 그쪽 버그 신고가 이쪽으로 오기 때문입니다.

그다음 릴리스를 게임 폴더에 풀어 넣으면 됩니다:

Combolands/
├─ Mods/CombolandsMod.dll
├─ UserData/Combolands/locale/ko/strings.json
└─ UserData/Combolands/fonts/Galmuri11.ttf

제거는 저 파일들을 지우는 것입니다. 게임 폴더의 무엇도 바뀌지 않았으니 복원할 것도 없습니다.

치트나 오토플레이를 쓰기 전에 세이브를 백업하세요. 일반적인 플레이로는 도달할 수 없는 상태로 런을 밀어 넣습니다.

번역이 어색하다면

그것도 버그입니다. 뜻이 틀린 것만이 아니라 어색한 것도요. 버튼 밖으로 삐져나가는 것도 마찬가지입니다. 이슈로 알려주시거나, locale/ko/strings.json을 고쳐 PR을 주셔도 좋습니다.

한 가지만 조심하면 됩니다. 조사를 [토큰]에 붙여 쓰면 조용히 깨지지 않고, 게임이 플레이어에게 토큰 이름 자체를 그대로 보여줍니다. 그래서 린터가 있습니다:

python tools/lint-locale.py locale/ko/strings.json

코드를 읽으실 분께

   
앵커 카탈로그 모드가 붙잡는 모든 시그니처, 게임이 그걸 옮기면 무엇이 깨지는지, 어디서 고치는지
디렉터리 규약 코드가 어디에 놓이는지, 그리고 평가 로직에 Unity 타입이 없는 이유
계획 이게 무엇이고, 무엇에 붙어 있고, 어떤 순서로 만들어졌는지

판단을 내리는 부분 — 보드 스냅샷, 평가, 배치 계획, 규칙, 페이스 — 에는 Unity 타입도 게임 타입도 전혀 없습니다. 그래서 게임을 한 번도 본 적 없는 머신에서 71개 테스트가 돌아갑니다. 별도 스위트는 설치된 Assembly-CSharp.dll을 메타데이터로만 읽어 모든 앵커를 50밀리초 안에 검사하고, 깨진 행의 이름을 알려줍니다.