Update characters_editor implementation, assets and documentation

This commit is contained in:
cthangover committed 2026-10-31 15:28:49 +03:00
1 parent c975b5ae86
commit d7250b26b2
28 files changed
+429 -73

No files matched your search

+14 -6
View File
@@ -6,9 +6,9 @@ Characters Editor는 게임이 실행되는 동안 모드의 캐릭터를 편집
## 편집 하나와 게임 속 결과
RPG Plus에서 마을의 영웅은 모드 `rpg_demo_game`의 캐릭터 `rpg_hero`입니다. 위에서 그 모드를 고르고, **영웅**을 고르고, 새 영어 이름을 입력한 뒤 **저장**(Ctrl+S)을 누릅니다:
RPG Plus에서 마을의 영웅은 모드 `rpg_plus_game`의 캐릭터 `rpg_hero`입니다. 위에서 그 모드를 고르고, **영웅**을 고르고, 새 영어 이름을 입력한 뒤 **저장**(Ctrl+S)을 누릅니다:
![rpg_demo_game의 "캐릭터" 창: 목록에는 Aldric · rpg_hero, 슬라임 · rpg_slime, 늑대 · rpg_wolf. rpg_hero의 양식, 이름 키 rpg_demo/character/hero, 텍스트 (en) Aldric, 나머지 여섯 언어는 그대로, 초상화 characters/village/hero와 그 그림, 캐릭터 시트 (RPG) 비어 있음, 레벨 1, 체력 24, 공격 6, 방어 0, 행동 포인트 1, 경험치 0, 영입 확률 0. 상태 줄: "저장함: 모드 rpg_demo_game의 파일 0개, 텍스트 1개. 게임이 데이터를 다시 읽었습니다".](assets/editor-saved.jpg)
![rpg_plus_game의 "캐릭터" 창: 목록에는 Aldric · rpg_hero, 슬라임 · rpg_slime, 늑대 · rpg_wolf. rpg_hero의 양식, 이름 키 rpg_demo/character/hero, 텍스트 (en) Aldric, 나머지 여섯 언어는 그대로, 초상화 characters/village/hero와 그 그림, 캐릭터 시트 (RPG) 비어 있음, 레벨 1, 체력 24, 공격 6, 방어 0, 행동 포인트 1, 경험치 0, 영입 확률 0. 상태 줄: "저장함: 모드 rpg_plus_game의 파일 0개, 텍스트 1개. 게임이 데이터를 다시 읽었습니다".](assets/editor-saved.jpg)
바뀐 것은 모드 `locale/en.properties`의 영어 한 줄입니다. 바로 뒤 캐릭터 패널의 파티원:
@@ -21,7 +21,7 @@ RPG Plus에서 마을의 영웅은 모드 `rpg_demo_game`의 캐릭터 `rpg_hero
- **Id** — 캐릭터의 id. 시나리오, 파티, 전투, 맵이 이것으로 찾습니다.
- **이름** — 번역 키와 모드의 언어별 줄.
- **초상화** — 카드와 패널의 그림. **…**를 누르면 고르는 격자가 열립니다.
- **캐릭터 시트 (RPG)** — RPG 맵 위의 걷기 스프라이트(3프레임 × 4방향). RPG 맵 에디터는 배치할 때 캐릭터 시트와 함께 캐릭터를 제안합니다.
- **캐릭터 시트 (RPG)** — RPG 맵 위의 걷기 스프라이트(3프레임 × 4방향).
- **레벨**, **체력**, **공격**, **방어**, **행동 포인트**, **경험치** — 캐릭터의 전투 수치.
- **영입 확률** — 0~100: 쓰러뜨린 뒤 캐릭터를 들일 확률(Recruiting 참고).
- **행동 방식**과 **액션** — 캐릭터가 어떻게 싸우는지, 어떤 전투 액션을 가지는지.
@@ -30,12 +30,20 @@ RPG Plus에서 마을의 영웅은 모드 `rpg_demo_game`의 캐릭터 `rpg_hero
도구 모음: **새로 만들기**(Ctrl+N), **복사**(Ctrl+D), **삭제**, **되돌리기**/**다시 실행**(Ctrl+Z / Ctrl+Y), **저장** — 바뀐 파일만 기록되고, 텍스트는 모드의 로컬라이즈 파일로 갑니다.
## 어떤 캐릭터를 편집할 수 있는가
## 다른 모드의 캐릭터
목록에는 선택한 모드 자신의 파일에 있는 캐릭터가 있습니다. 폴더로 설치된 모드만 제안됩니다. 다른 모드의 캐릭터는 목록에 없고 그 파일은 결코 기록되지 않습니다. 바꾸려면 소유자에 대한 의존성과 함께 같은 id를 자기 모드에 실거나, 패치로 필드를 더하세요.
목록에는 고른 모드의 캐릭터가 나옵니다. **Entries of other mods**를 켜면 의존하는 모드의 캐릭터도 `↗ 소유자` 표시와 함께 추가됩니다. 그런 캐릭터를 편집하면 여러분의 모드에 `patches/character/<여러분의 모드>.json` 패치가 기록되며, 바꾼 값만 들어갑니다. 소유자의 파일은 바이트 단위로 그대로 남습니다. **Reset to inherited**는 패치를 지우고, 항목 옆 **↺**는 그 항목에 대한 여러분의 값을 지웁니다. 폴더로 설치된 모드에만 기록할 수 있습니다.
## 파티 블록
양식 아래의 파티 블록에는 두 가지가 나옵니다.
- **파티 리더** — 플레이어가 RPG 맵에서 걸을 때 쓰는 시트의 캐릭터입니다. 리더는 게임의 `stats.player`가 가리키는 캐릭터이고, 없으면 전투 파티의 첫 번째 캐릭터입니다. 블록에는 열린 캐릭터가 "Party leader"인지 "Not the party leader"인지 표시됩니다. 리더를 바꾸는 버튼은 아직 없습니다. 컬렉션의 설정이며 모드 관리자에서 바꿉니다.
- **계산된 전투 수치** — 캐릭터에 `Stats`가 있으면 각 스탯의 값과 전투 수치를 보여 줍니다. 힌트는 체력, 공격, 방어가 스탯에서 온다고 알려 주므로, 이 칸이 아니라 스탯을 편집해야 합니다. `Stats`가 있는 캐릭터에서 **Health**, **Attack**, **Defence**는 읽기 전용입니다. `Stats`가 없으면 블록에 그렇게 표시되고, 전투 수치는 위 칸의 값입니다.
- **말을 걸면 일행에 합류** — 체크하면 합류 시나리오 `scenarios/<내 모드>/party/<id>.scenario`를 씁니다. 플래그 `<id>_joined`를 1로 설정하고 캐릭터를 일행에 넣습니다(`action party.add`). 체크를 해제하면 파일을 바로 지웁니다. 리더는 합류하지 않습니다(체크박스 비활성). 맵에서 동료로 쓰려면 RPG 맵 편집기의 「캐릭터」 탭에서 배치하세요. 배치한 액터에게 말을 걸면 합류하고, 액터는 자기 칸을 떠나며, 동료는 주인공 뒤를 따라 걷습니다.
## 문제가 생겼을 때
1. **체력이나 공격을 바꿔도 효과가 없습니다.** 게임은 스탯에서 수치를 계산합니다. RPG Plus가 자기 파티에 하는 것처럼.
2. **캐릭터가 RPG 맵 에디터의 "캐릭터" 탭에 없습니다.** 이 탭은 전투 스탯이 있는 캐릭터를 나열합니다. 어떤 스프라이트든 "Appearance" 탭에서 배치할 수 있습니다.
2. **캐릭터가 RPG 맵 편집기 팔레트에 없습니다.** 「캐릭터」 탭은 걷기 스프라이트(**Charset**)가 있는 캐릭터만 보여 줍니다. 없으면 배치할 수 없습니다. 「액터」 탭은 게임 캐릭터가 아니라 `rpg_object`의 액터 오브젝트를 보여 줍니다.
3. **모드 목록이 비어 있습니다.** 압축된 모드는 편집할 수 없습니다.