From e440f6640580c34849f05415e64dbb01235aeb8b Mon Sep 17 00:00:00 2001 From: iisaev Date: Thu, 29 Oct 2026 09:26:22 +0100 Subject: [PATCH] Add mod documentation in seven languages --- collection_settings.json | 14 ++++ docs/assets/defeat.jpg | Bin 0 -> 13721 bytes docs/assets/two-cores.jpg | Bin 0 -> 93044 bytes docs/assets/victory.jpg | Bin 0 -> 31620 bytes docs/en.md | 97 +++++++++++++++++++++++ docs/es.md | 97 +++++++++++++++++++++++ docs/ja.md | 97 +++++++++++++++++++++++ docs/ko.md | 97 +++++++++++++++++++++++ docs/ru.md | 97 +++++++++++++++++++++++ docs/vi.md | 97 +++++++++++++++++++++++ docs/zh.md | 97 +++++++++++++++++++++++ locale/collection_settings_en.properties | 4 + locale/collection_settings_es.properties | 4 + locale/collection_settings_ja.properties | 4 + locale/collection_settings_ko.properties | 4 + locale/collection_settings_ru.properties | 4 + locale/collection_settings_vi.properties | 4 + locale/collection_settings_zh.properties | 4 + locale/en.properties | 4 +- locale/es.properties | 2 +- locale/ja.properties | 2 +- locale/ko.properties | 2 +- locale/ru.properties | 2 +- locale/vi.properties | 2 +- locale/zh.properties | 2 +- manifest.json | 4 +- 26 files changed, 731 insertions(+), 10 deletions(-) create mode 100644 collection_settings.json create mode 100644 docs/assets/defeat.jpg create mode 100644 docs/assets/two-cores.jpg create mode 100644 docs/assets/victory.jpg create mode 100644 docs/en.md create mode 100644 docs/es.md create mode 100644 docs/ja.md create mode 100644 docs/ko.md create mode 100644 docs/ru.md create mode 100644 docs/vi.md create mode 100644 docs/zh.md create mode 100644 locale/collection_settings_en.properties create mode 100644 locale/collection_settings_es.properties create mode 100644 locale/collection_settings_ja.properties create mode 100644 locale/collection_settings_ko.properties create mode 100644 locale/collection_settings_ru.properties create mode 100644 locale/collection_settings_vi.properties create mode 100644 locale/collection_settings_zh.properties diff --git a/collection_settings.json b/collection_settings.json new file mode 100644 index 0000000..1540e65 --- /dev/null +++ b/collection_settings.json @@ -0,0 +1,14 @@ +{ + "settings": [ + { + "key": "battle.core", + "name": "collection_settings/battle", + "description": "collection_settings/battle_hint", + "group": "collection_settings/battle_group", + "type": "choice", + "source": null, + "allow_custom": false, + "automatic": "collection_settings/battle_auto" + } + ] +} diff --git a/docs/assets/defeat.jpg b/docs/assets/defeat.jpg new file mode 100644 index 0000000000000000000000000000000000000000..25ccd9a75c744bea760055b052e0e2589d27c441 GIT binary patch literal 13721 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 literal 0 HcmV?d00001 diff --git a/docs/en.md b/docs/en.md new file mode 100644 index 0000000..8823d09 --- /dev/null +++ b/docs/en.md @@ -0,0 +1,97 @@ +# Turn Battle Base — the platform under every battle + +Turn Battle Base is what all turn-based battles in the collection share: starting a battle from a scenario, the battle scene with the backdrop of the place where it began, the victory and defeat screens, experience and loot, status effects such as stun, and the choice of a **battle system**. It does not decide how the player fights. That is the job of a battle system mod: **FF Battle** (a command menu) or **Card Battle** (cards dragged onto targets). + +## Two battle systems, one platform + +The same fight in RPG Plus — the warrior against a wolf in the village — in the two systems: + +![Left: FF Battle — the wolf at the top, the hero's small card at the bottom left, a battle log on the right. Right: Card Battle — big character cards, an actions panel and an End turn button.](assets/two-cores.jpg) + +Everything around the fight is the same: the village backdrop, the wolf's numbers, the speed buttons **x1 / x4 / x8** at the top right (they speed up the animations; the choice is remembered), and what happens after it. + +A game chooses its system with the collection setting `battle.core`; RPG Plus uses `ff_battle`. Without the setting the first installed system is used. In the collection editor the setting is called *Battle system*. + +## How a battle goes + +```text +scenario: battle.init / rpg.battle + | + v +battle scene: backdrop of the current place, party from the roster, enemies from their files + | + v +battle system (ff_battle or card_battle): player turn <-> enemy turn + | | + all enemies defeated party defeated + v v + Victory: experience, loot Defeat: Main menu + | + v + back to the scene the battle started from +``` + +## Victory and defeat + +When the last enemy falls, the victory screen shows each surviving party member's experience and the loot: + +![The victory screen: "Victory", a Continue button, the Hero with +24, and the loot — wolf pelts x2, coins x8 and an amber.](assets/victory.jpg) + +- **Experience.** Each defeated enemy gives its `Level × Exp`, shared equally among the party members still standing. The wolf is level 2 with `Exp` 12 — **+24**. +- **Loot.** Each defeated enemy rolls its `Loot` list; the items go straight into the inventory. +- **Continue** returns to the scene the battle came from. Health lost in battle stays lost. + +If the whole party falls, the defeat screen offers only **Main menu**: no experience, no loot. + +![The defeat screen: "Defeat" over a dark red puddle and a Main menu button.](assets/defeat.jpg) + +## Starting a battle from a scenario + +```scenario +action battle.init scene=town_entry enemies=wolf_1,wolf_2 quest_id=MeetingMurakamiQuest new_tag=wolf_battle +switch_scene Battle +end +``` + +- `enemies` — character ids, comma-separated; the same id twice gives two enemies. +- `scene` — the scene to return to after a victory. +- `quest_id`, `new_tag` (optional) — bind the battle to a quest and give it a tag (a journal notification). +- The backdrop is the background shown at that moment, so set it before `battle.init`. + +On a tile map, use `action rpg.battle enemies=rpg_wolf win_flag=rpg_wolf_dead` from the RPG mod instead: it returns to the same map cell and sets the flag on victory. + +`action battle.set_core core=card_battle` switches the battle system for the following battles. + +## Enemies, loot and status effects in data + +Enemies are ordinary characters (see Characters Engine). The loot of the RPG Plus wolf: + +```json +{ + "Id": "rpg_wolf", + "Loot": [ + { "ItemId": "rpg_plus/wolf_pelt", "MinCount": 2, "MaxCount": 3, "Probability": 100 }, + { "ItemId": "money/coin", "MinCount": 8, "MaxCount": 14, "Probability": 100 } + ] +} +``` + +`Probability` is a percentage; the count is a random number from `MinCount` to `MaxCount` inclusive. + +**Status effects** are entities of kind `status_effect`. The platform brings stun — the character skips its turns: + +```json +{ "Id": "effect/physics/stun", "Icon": "characters/effects/stun", "Type": "Stun", "Duration": 3, "Actions": "basic/stun" } +``` + +A battle action that applies it may set its own number of turns; durations count down at the start of each turn. + +## For mod authors + +A battle system is a mod that registers an `IBattleCore` (with `IBattleAutoPlayable` for the automatic tests). Its actions run through the platform's executors, so a mod such as Battle Formulas adds new kinds of actions to every system at once. Code can react to the end of a battle through `BattleEndedEvent` and to the victory through an `IWingroundListener`; Recruiting uses this to offer defeated enemies a place in the party. + +## If something goes wrong + +1. **The battle has an empty backdrop.** `battle.init` ran before the scene's background was set. +2. **The wrong battle system opens.** Check the game's `battle.core` setting, and whether a scenario switched it with `battle.set_core`. +3. **No experience after a victory.** Enemies with `Exp` 0 give none; party members who fell get none. diff --git a/docs/es.md b/docs/es.md new file mode 100644 index 0000000..ee4028e --- /dev/null +++ b/docs/es.md @@ -0,0 +1,97 @@ +# Turn Battle Base — la plataforma común de todos los combates + +Turn Battle Base es lo que comparten todos los combates por turnos de la colección: iniciar un combate desde un escenario, la escena de batalla con el fondo del lugar donde empezó, las pantallas de victoria y derrota, la experiencia y el botín, los efectos de estado como el aturdimiento y la elección del **sistema de combate**. Cómo lucha el jugador no lo decide la plataforma: ese es el trabajo de un mod de sistema de combate, **FF Battle** (menú de comandos) o **Card Battle** (cartas que se arrastran sobre los objetivos). + +## Dos sistemas de combate, una plataforma + +La misma pelea de RPG Plus — el guerrero contra un lobo en la aldea — en los dos sistemas: + +![Izquierda: FF Battle — el lobo arriba, la miniatura del héroe abajo a la izquierda y el registro de combate a la derecha. Derecha: Card Battle — cartas de personaje grandes, un panel de acciones y el botón End turn.](assets/two-cores.jpg) + +Todo lo que rodea al combate es igual: el fondo de la aldea, los números del lobo, los botones de velocidad **x1 / x4 / x8** arriba a la derecha (aceleran las animaciones, y la elección se recuerda) y lo que ocurre después. + +Cada juego elige su sistema con el ajuste de colección `battle.core`; RPG Plus usa `ff_battle`. Sin ese ajuste se toma el primer sistema instalado. En el editor de colecciones el ajuste se llama «Sistema de combate». + +## Cómo se desarrolla un combate + +```text +scenario: battle.init / rpg.battle + | + v +battle scene: backdrop of the current place, party from the roster, enemies from their files + | + v +battle system (ff_battle or card_battle): player turn <-> enemy turn + | | + all enemies defeated party defeated + v v + Victory: experience, loot Defeat: Main menu + | + v + back to the scene the battle started from +``` + +## Victoria y derrota + +Cuando cae el último enemigo, la pantalla de victoria muestra la experiencia de cada miembro del grupo que siga en pie y el botín: + +![La pantalla de victoria: «Victory», un botón Continue, el héroe con +24 y el botín — pieles de lobo x2, monedas x8 y un ámbar.](assets/victory.jpg) + +- **Experiencia.** Cada enemigo derrotado aporta su `Level × Exp`, que se reparte a partes iguales entre quienes sigan en pie. El lobo es de nivel 2 con `Exp` 12: **+24**. +- **Botín.** Para cada enemigo derrotado se tira su lista de `Loot`; los objetos van directos al inventario. +- **Continue** devuelve a la escena de la que salió el combate. La vida perdida en el combate sigue perdida. + +Si cae todo el grupo, la pantalla de derrota solo ofrece **Main menu**: ni experiencia ni botín. + +![La pantalla de derrota: «Defeat» sobre un charco rojo oscuro y un botón Main menu.](assets/defeat.jpg) + +## Iniciar un combate desde un escenario + +```scenario +action battle.init scene=town_entry enemies=wolf_1,wolf_2 quest_id=MeetingMurakamiQuest new_tag=wolf_battle +switch_scene Battle +end +``` + +- `enemies` — ids de personajes separados por comas; el mismo id dos veces son dos enemigos. +- `scene` — la escena a la que volver tras la victoria. +- `quest_id`, `new_tag` (opcionales) — vinculan el combate a una misión y le ponen una etiqueta (una notificación en el diario). +- El fondo del combate es el que se muestre en ese momento, así que defínelo antes de `battle.init`. + +Sobre un mapa de tiles usa en su lugar el `action rpg.battle enemies=rpg_wolf win_flag=rpg_wolf_dead` del mod RPG: el grupo vuelve a la misma casilla y, al ganar, se activa la bandera. + +La acción `action battle.set_core core=card_battle` cambia el sistema de combate para los combates siguientes. + +## Enemigos, botín y efectos de estado en los datos + +Los enemigos son personajes normales (véase Characters Engine). El botín del lobo de RPG Plus: + +```json +{ + "Id": "rpg_wolf", + "Loot": [ + { "ItemId": "rpg_plus/wolf_pelt", "MinCount": 2, "MaxCount": 3, "Probability": 100 }, + { "ItemId": "money/coin", "MinCount": 8, "MaxCount": 14, "Probability": 100 } + ] +} +``` + +`Probability` es un porcentaje; la cantidad es un número aleatorio entre `MinCount` y `MaxCount`, ambos incluidos. + +Los **efectos de estado** son entidades de tipo `status_effect`. La plataforma trae de serie el aturdimiento: el personaje pierde sus turnos: + +```json +{ "Id": "effect/physics/stun", "Icon": "characters/effects/stun", "Type": "Stun", "Duration": 3, "Actions": "basic/stun" } +``` + +Una acción de combate que lo aplique puede fijar su propio número de turnos; las duraciones se descuentan al comienzo de cada turno. + +## Para autores de mods + +Un sistema de combate es un mod que registra un `IBattleCore` (y `IBattleAutoPlayable` para las pruebas automáticas). Sus acciones pasan por los ejecutores de la plataforma, así que un mod como Battle Formulas añade nuevos tipos de acciones a todos los sistemas a la vez. El código puede reaccionar al final del combate con `BattleEndedEvent` y a la victoria con un `IWingroundListener`; Recruiting lo aprovecha para ofrecer un puesto en el grupo a los enemigos derrotados. + +## Si algo sale mal + +1. **El combate sale con el fondo vacío.** `battle.init` se ejecutó antes de definir el fondo de la escena. +2. **Se abre el sistema de combate equivocado.** Revisa el ajuste `battle.core` del juego y si algún escenario lo cambió con `battle.set_core`. +3. **No hay experiencia tras la victoria.** Los enemigos con `Exp` 0 no dan experiencia, y los miembros del grupo caídos tampoco reciben. diff --git a/docs/ja.md b/docs/ja.md new file mode 100644 index 0000000..dd5f3f2 --- /dev/null +++ b/docs/ja.md @@ -0,0 +1,97 @@ +# Turn Battle Base —— すべての戦闘を支えるプラットフォーム + +Turn Battle Base は、コレクション内のすべてのターン制戦闘に共通する土台です。シナリオからの戦闘開始、戦闘が始まった場所を背景にした戦闘シーン、勝利・敗北の画面、経験値と戦利品、スタンなどのステータス効果、そして**バトルシステム**の選択を担います。プレイヤーがどう戦うかは、ここでは決まりません。それはバトルシステムのModの仕事です。**FF Battle**(コマンドメニュー)と **Card Battle**(カードをターゲットへドラッグ)がそれに当たります。 + +## 2つのバトルシステム、1つのプラットフォーム + +RPG Plus での同じ戦闘——村で戦士が狼と対峙する場面——を、2つのシステムで並べます: + +![左:FF Battle——上部に狼、左下に英雄の小さなカード、右側に戦闘ログ。右:Card Battle——大きなキャラクターカード、アクションパネル、End turn ボタン。](assets/two-cores.jpg) + +戦闘を取り巻く部分はどちらも同じです。村の背景、狼の数値、右上の速度ボタン **x1 / x4 / x8**(アニメーションを速めるもので、選択は記憶されます)、そして戦闘後の流れです。 + +ゲームはコレクション設定 `battle.core` でシステムを選びます。RPG Plus は `ff_battle` を使用します。設定がなければ、最初にインストールされているシステムが使われます。コレクションエディターでは、この設定は「戦闘システム」という名前です。 + +## 戦闘の流れ + +```text +scenario: battle.init / rpg.battle + | + v +battle scene: backdrop of the current place, party from the roster, enemies from their files + | + v +battle system (ff_battle or card_battle): player turn <-> enemy turn + | | + all enemies defeated party defeated + v v + Victory: experience, loot Defeat: Main menu + | + v + back to the scene the battle started from +``` + +## 勝利と敗北 + +最後の敵が倒れると、勝利画面には生存しているパーティメンバーそれぞれの経験値と戦利品が表示されます: + +![勝利画面:「Victory」の表示、Continue ボタン、英雄の +24、そして戦利品——狼の毛皮 x2、コイン x8、琥珀 1 個。](assets/victory.jpg) + +- **経験値。** 倒した敵はそれぞれ `Level × Exp` を出し、それが生存しているパーティメンバーに均等に分配されます。狼はレベル 2・`Exp` 12 なので **+24** です。 +- **戦利品。** 倒した敵ごとに `Loot` リストが抽選されます。アイテムはそのままインベントリに入ります。 +- **Continue** で戦闘が始まったシーンに戻ります。戦闘中に失った体力は戻りません。 + +パーティが全滅すると、敗北画面は **Main menu** だけを提示します。経験値も戦利品もありません。 + +![敗北画面:暗い赤の水たまりの上に「Defeat」の表示と Main menu ボタン。](assets/defeat.jpg) + +## シナリオから戦闘を開始する + +```scenario +action battle.init scene=town_entry enemies=wolf_1,wolf_2 quest_id=MeetingMurakamiQuest new_tag=wolf_battle +switch_scene Battle +end +``` + +- `enemies`——キャラクター id をカンマ区切りで指定します。同じ id を 2 回書けば敵が 2 体になります。 +- `scene`——勝利後に戻るシーンです。 +- `quest_id`、`new_tag`(省略可)——戦闘をクエストに結び付け、タグ(ジャーナル通知)を付けます。 +- 背景にはその時点で表示されている背景が使われます。`battle.init` の前に設定しておいてください。 + +タイルマップでは、代わりに RPG Mod の `action rpg.battle enemies=rpg_wolf win_flag=rpg_wolf_dead` を使ってください。同じマップセルに戻り、勝利時にフラグが立ちます。 + +`action battle.set_core core=card_battle` は、以降の戦闘で使うバトルシステムを切り替えます。 + +## データとしての敵・戦利品・ステータス効果 + +敵はごく普通のキャラクターです(Characters Engine を参照)。RPG Plus の狼の戦利品: + +```json +{ + "Id": "rpg_wolf", + "Loot": [ + { "ItemId": "rpg_plus/wolf_pelt", "MinCount": 2, "MaxCount": 3, "Probability": 100 }, + { "ItemId": "money/coin", "MinCount": 8, "MaxCount": 14, "Probability": 100 } + ] +} +``` + +`Probability` はパーセント値です。個数は `MinCount` から `MaxCount` まで(両端を含む)の乱数です。 + +**ステータス効果**は `status_effect` 種別のエンティティです。プラットフォームにはスタンが用意されていて、かかるとキャラクターは自分のターンを飛ばします: + +```json +{ "Id": "effect/physics/stun", "Icon": "characters/effects/stun", "Type": "Stun", "Duration": 3, "Actions": "basic/stun" } +``` + +この効果をかける戦闘アクションは、独自のターン数を指定できます。持続ターン数は毎ターンの開始時に減っていきます。 + +## Mod作者向け + +バトルシステムとは、`IBattleCore` を登録するModです(自動テストのため `IBattleAutoPlayable` も実装します)。そのアクションはプラットフォームのエグゼキューターを通って実行されるため、Battle Formulas のようなModは新しい種類のアクションをすべてのシステムに一度に追加できます。コードは `BattleEndedEvent` で戦闘終了を、`IWingroundListener` で勝利を受け取れます。Recruiting はこれを利用して、倒した敵をパーティに勧誘します。 + +## うまくいかないときは + +1. **戦闘の背景が空白になる。** シーン背景の設定より先に `battle.init` が実行されています。 +2. **別のバトルシステムが開く。** ゲームの `battle.core` 設定と、シナリオが `battle.set_core` で切り替えていないかを確認してください。 +3. **勝利後に経験値が入らない。** `Exp` が 0 の敵は経験値を出しません。倒れたパーティメンバーも得られません。 diff --git a/docs/ko.md b/docs/ko.md new file mode 100644 index 0000000..c55bcd2 --- /dev/null +++ b/docs/ko.md @@ -0,0 +1,97 @@ +# Turn Battle Base — 모든 전투를 받치는 플랫폼 + +Turn Battle Base는 컬렉션의 모든 턴제 전투가 공유하는 부분입니다. 시나리오에서 전투를 여는 일, 전투가 시작된 장소를 배경으로 삼는 전투 장면, 승리·패배 화면, 경험치와 전리품, 기절 같은 상태 이상, 그리고 **전투 시스템** 선택이 모두 여기서 이뤄집니다. 다만 플레이어가 어떻게 싸울지는 정하지 않습니다. 그것은 전투 시스템 모드의 몫입니다. 명령 메뉴 방식의 **FF Battle**이나 카드를 대상에 끌어다 놓는 **Card Battle**이 그 예입니다. + +## 두 가지 전투 시스템, 하나의 플랫폼 + +RPG Plus의 같은 전투 — 마을에서 전사가 늑대와 맞서는 장면 — 을 두 시스템으로 보여주면 다음과 같습니다: + +![왼쪽: FF Battle — 늑대가 위에, 영웅의 작은 카드가 왼쪽 아래에, 전투 로그가 오른쪽에 있습니다. 오른쪽: Card Battle — 큰 캐릭터 카드, 행동 패널, End turn 버튼.](assets/two-cores.jpg) + +전투를 둘러싼 모든 것은 같습니다. 마을 배경, 늑대의 수치, 오른쪽 위의 속도 버튼 **x1 / x4 / x8**(애니메이션을 빠르게 하며 선택은 기억됩니다), 그리고 전투가 끝난 뒤의 흐름까지요. + +게임은 컬렉션 설정 `battle.core`로 시스템을 고릅니다. RPG Plus는 `ff_battle`을 사용합니다. 설정이 없으면 설치된 첫 번째 시스템을 씁니다. 컬렉션 편집기에서는 이 설정이 "전투 시스템"이라는 이름으로 표시됩니다. + +## 전투의 진행 + +```text +scenario: battle.init / rpg.battle + | + v +battle scene: backdrop of the current place, party from the roster, enemies from their files + | + v +battle system (ff_battle or card_battle): player turn <-> enemy turn + | | + all enemies defeated party defeated + v v + Victory: experience, loot Defeat: Main menu + | + v + back to the scene the battle started from +``` + +## 승리와 패배 + +마지막 적이 쓰러지면 승리 화면에 살아남은 파티원 각자의 경험치와 전리품이 표시됩니다: + +![승리 화면: "Victory" 표시, Continue 버튼, 영웅의 +24, 그리고 전리품 — 늑대 가죽 x2, 코인 x8, 호박 1개.](assets/victory.jpg) + +- **경험치.** 쓰러뜨린 적은 각자 자신의 `Level × Exp`를 주며, 살아 있는 파티원들이 똑같이 나눕니다. 늑대는 2레벨에 `Exp` 12이므로 **+24**입니다. +- **전리품.** 쓰러뜨린 적마다 자신의 `Loot` 목록이 굴려집니다. 아이템은 곧바로 인벤토리에 들어갑니다. +- **Continue**는 전투가 시작됐던 장면으로 돌아갑니다. 전투에서 잃은 체력은 그대로 남습니다. + +파티 전원이 쓰러지면 패배 화면은 **Main menu**만 제안합니다. 경험치도 전리품도 없습니다. + +![패배 화면: 짙은 붉은 웅덩이 위의 "Defeat" 표시와 Main menu 버튼.](assets/defeat.jpg) + +## 시나리오에서 전투 시작하기 + +```scenario +action battle.init scene=town_entry enemies=wolf_1,wolf_2 quest_id=MeetingMurakamiQuest new_tag=wolf_battle +switch_scene Battle +end +``` + +- `enemies` — 캐릭터 id를 쉼표로 나열합니다. 같은 id를 두 번 쓰면 적이 둘 나옵니다. +- `scene` — 승리 후 돌아갈 장면입니다. +- `quest_id`, `new_tag`(선택) — 전투를 퀘스트에 묶고 태그(저널 알림)를 붙입니다. +- 전투 배경은 그 시점에 표시된 배경입니다. `battle.init` 전에 배경을 정해 두세요. + +타일 맵에서는 대신 RPG 모드의 `action rpg.battle enemies=rpg_wolf win_flag=rpg_wolf_dead`를 사용하세요. 같은 맵 칸으로 돌아오고, 승리 시 플래그가 설정됩니다. + +`action battle.set_core core=card_battle` 액션은 이후 전투의 전투 시스템을 바꿉니다. + +## 데이터 속의 적·전리품·상태 이상 + +적은 평범한 캐릭터입니다(Characters Engine 참조). RPG Plus 늑대의 전리품: + +```json +{ + "Id": "rpg_wolf", + "Loot": [ + { "ItemId": "rpg_plus/wolf_pelt", "MinCount": 2, "MaxCount": 3, "Probability": 100 }, + { "ItemId": "money/coin", "MinCount": 8, "MaxCount": 14, "Probability": 100 } + ] +} +``` + +`Probability`는 백분율입니다. 개수는 `MinCount`부터 `MaxCount`까지(양 끝 포함)의 무작위 수입니다. + +**상태 이상**은 `status_effect` 종류의 엔티티입니다. 플랫폼에는 기절이 기본으로 들어 있으며, 걸린 캐릭터는 자기 턴을 건너뜁니다: + +```json +{ "Id": "effect/physics/stun", "Icon": "characters/effects/stun", "Type": "Stun", "Duration": 3, "Actions": "basic/stun" } +``` + +이 효과를 거는 전투 액션이 자체 턴 수를 정할 수도 있습니다. 지속 시간은 매 턴 시작 때 줄어듭니다. + +## 모드 작성자를 위해 + +전투 시스템은 `IBattleCore`를 등록하는 모드입니다(자동 테스트를 위한 `IBattleAutoPlayable`도). 이 모드의 액션은 플랫폼의 실행기를 거치므로, Battle Formulas 같은 모드가 새 종류의 액션을 모든 시스템에 한꺼번에 추가할 수 있습니다. 코드는 `BattleEndedEvent`로 전투 종료를, `IWingroundListener`로 승리를 받아볼 수 있습니다. Recruiting이 이를 이용해 쓰러뜨린 적에게 파티 자리를 제안합니다. + +## 문제가 생겼을 때 + +1. **전투 배경이 비어 있음.** 장면 배경 설정보다 `battle.init`이 먼저 실행됐습니다. +2. **다른 전투 시스템이 열림.** 게임의 `battle.core` 설정과, 시나리오가 `battle.set_core`로 바꾸지 않았는지 확인하세요. +3. **승리 후 경험치가 없음.** `Exp`가 0인 적은 경험치를 주지 않고, 쓰러진 파티원도 받지 못합니다. diff --git a/docs/ru.md b/docs/ru.md new file mode 100644 index 0000000..a74e08e --- /dev/null +++ b/docs/ru.md @@ -0,0 +1,97 @@ +# Turn Battle Base — общая платформа для всех боёв + +Turn Battle Base — это то общее, что есть у всех пошаговых боёв в коллекции: запуск боя из сценария, боевая сцена с фоном того места, где бой начался, экраны победы и поражения, опыт и добыча, статусные эффекты вроде оглушения — и выбор **боевой системы**. Как именно сражается игрок, платформа не решает: это задача мода боевой системы — **FF Battle** (меню команд) или **Card Battle** (карты, которые перетаскивают на цели). + +## Две боевые системы, одна платформа + +Один и тот же бой в RPG Plus — воин против волка в деревне — в обеих системах: + +![Слева: FF Battle — волк вверху, маленькая карточка героя внизу слева, журнал боя справа. Справа: Card Battle — крупные карты персонажей, панель действий и кнопка End turn.](assets/two-cores.jpg) + +Всё вокруг боя одинаковое: фон деревни, цифры волка, кнопки скорости **x1 / x4 / x8** в правом верхнем углу (они ускоряют анимации, а выбор запоминается) и то, что происходит после боя. + +Свою систему игра выбирает настройкой коллекции `battle.core`; в RPG Plus это `ff_battle`. Без настройки берётся первая из установленных систем. В редакторе коллекций настройка называется «Боевая система». + +## Как проходит бой + +```text +scenario: battle.init / rpg.battle + | + v +battle scene: backdrop of the current place, party from the roster, enemies from their files + | + v +battle system (ff_battle or card_battle): player turn <-> enemy turn + | | + all enemies defeated party defeated + v v + Victory: experience, loot Defeat: Main menu + | + v + back to the scene the battle started from +``` + +## Победа и поражение + +Когда падает последний враг, экран победы показывает опыт каждого уцелевшего члена отряда и добычу: + +![Экран победы: надпись «Victory», кнопка Continue, герой с +24 и добыча — шкуры волка x2, монеты x8 и янтарь.](assets/victory.jpg) + +- **Опыт.** Каждый побеждённый враг приносит свой `Level × Exp`, который поровну делится между теми, кто остался на ногах. Волк — 2-го уровня с `Exp` 12, итого **+24**. +- **Добыча.** Для каждого побеждённого врага разыгрывается его список `Loot`; предметы сразу попадают в инвентарь. +- **Continue** возвращает в сцену, откуда пришёл бой. Потерянное в бою здоровье не восстанавливается. + +Если падает весь отряд, экран поражения предлагает только **Main menu** — без опыта и без добычи. + +![Экран поражения: надпись «Defeat» на тёмно-красной луже и кнопка Main menu.](assets/defeat.jpg) + +## Запуск боя из сценария + +```scenario +action battle.init scene=town_entry enemies=wolf_1,wolf_2 quest_id=MeetingMurakamiQuest new_tag=wolf_battle +switch_scene Battle +end +``` + +- `enemies` — id персонажей через запятую; один и тот же id дважды — это два врага. +- `scene` — сцена, в которую игра вернётся после победы. +- `quest_id`, `new_tag` (необязательные) — привязывают бой к заданию и помечают его тегом (уведомление в журнале). +- Фон боя — тот, что показан в этот момент, поэтому задайте его до `battle.init`. + +На тайловой карте вместо этого используйте `action rpg.battle enemies=rpg_wolf win_flag=rpg_wolf_dead` из мода RPG: отряд вернётся в ту же клетку карты, а при победе выставится флаг. + +Команда `action battle.set_core core=card_battle` переключает боевую систему для последующих боёв. + +## Враги, добыча и статусные эффекты в данных + +Враги — обычные персонажи (см. Characters Engine). Добыча волка из RPG Plus: + +```json +{ + "Id": "rpg_wolf", + "Loot": [ + { "ItemId": "rpg_plus/wolf_pelt", "MinCount": 2, "MaxCount": 3, "Probability": 100 }, + { "ItemId": "money/coin", "MinCount": 8, "MaxCount": 14, "Probability": 100 } + ] +} +``` + +`Probability` — вероятность в процентах; количество — случайное число от `MinCount` до `MaxCount` включительно. + +**Статусные эффекты** — это сущности вида `status_effect`. Уже в платформе есть оглушение: персонаж пропускает свои ходы: + +```json +{ "Id": "effect/physics/stun", "Icon": "characters/effects/stun", "Type": "Stun", "Duration": 3, "Actions": "basic/stun" } +``` + +Боевое действие, накладывающее эффект, может задать своё число ходов; длительность уменьшается в начале каждого хода. + +## Авторам модов + +Боевая система — мод, регистрирующий `IBattleCore` (и `IBattleAutoPlayable` для автоматических тестов). Её действия выполняются через исполнители платформы, поэтому мод вроде Battle Formulas добавляет новые виды действий сразу всем системам. Код может узнавать о конце боя через `BattleEndedEvent`, а о победе — через `IWingroundListener`; так работает Recruiting, предлагая побеждённым врагам место в отряде. + +## Если что-то пошло не так + +1. **У боя пустой фон.** `battle.init` выполнился раньше, чем у сцены появился фон. +2. **Открывается не та система.** Проверьте настройку игры `battle.core` и не переключал ли её какой-нибудь сценарий через `battle.set_core`. +3. **После победы нет опыта.** Враги с `Exp` 0 не дают опыта; павшие члены отряда его не получают. diff --git a/docs/vi.md b/docs/vi.md new file mode 100644 index 0000000..3c268ca --- /dev/null +++ b/docs/vi.md @@ -0,0 +1,97 @@ +# Turn Battle Base — nền tảng của mọi trận chiến + +Turn Battle Base là phần chung của mọi trận chiến theo lượt trong bộ sưu tập: mở trận từ kịch bản, cảnh chiến đấu lấy nền theo nơi trận nổ ra, màn hình thắng và thua, kinh nghiệm và chiến lợi phẩm, các hiệu ứng trạng thái như choáng, và cả việc chọn **hệ thống chiến đấu**. Còn người chơi đánh thế nào, nó không quyết định — việc đó thuộc về mod hệ thống chiến đấu: **FF Battle** (menu lệnh) hoặc **Card Battle** (kéo thẻ vào mục tiêu). + +## Hai hệ thống chiến đấu, một nền tảng + +Cùng một trận đánh trong RPG Plus — chiến binh đấu với con sói trong làng — dưới hai hệ thống: + +![Bên trái: FF Battle — sói ở trên, thẻ nhỏ của anh hùng ở dưới bên trái, nhật ký chiến đấu bên phải. Bên phải: Card Battle — thẻ nhân vật cỡ lớn, bảng hành động và nút End turn.](assets/two-cores.jpg) + +Mọi thứ xung quanh trận đánh đều giống nhau: nền làng, các con số của con sói, các nút tốc độ **x1 / x4 / x8** ở góc trên bên phải (chúng tăng tốc hiệu ứng, lựa chọn được ghi nhớ) và những gì diễn ra sau trận đánh. + +Game chọn hệ thống bằng thiết lập `battle.core` của bộ sưu tập; RPG Plus dùng `ff_battle`. Không có thiết lập thì hệ thống được cài đầu tiên sẽ được dùng. Trong trình soạn thảo bộ sưu tập, thiết lập này có tên "Hệ thống chiến đấu". + +## Một trận chiến diễn ra thế nào + +```text +scenario: battle.init / rpg.battle + | + v +battle scene: backdrop of the current place, party from the roster, enemies from their files + | + v +battle system (ff_battle or card_battle): player turn <-> enemy turn + | | + all enemies defeated party defeated + v v + Victory: experience, loot Defeat: Main menu + | + v + back to the scene the battle started from +``` + +## Thắng và thua + +Khi kẻ địch cuối cùng gục xuống, màn hình thắng sẽ hiển thị kinh nghiệm của từng thành viên đội còn sống và phần chiến lợi phẩm: + +![Màn hình thắng: chữ "Victory", nút Continue, anh hùng được +24, và chiến lợi phẩm — da sói x2, xu x8 và một viên hổ phách.](assets/victory.jpg) + +- **Kinh nghiệm.** Mỗi kẻ địch bị hạ mang lại `Level × Exp` của nó, chia đều cho những thành viên đội còn trụ. Con sói cấp 2 với `Exp` 12 — **+24**. +- **Chiến lợi phẩm.** Với mỗi kẻ địch bị hạ, trò chơi quay số theo danh sách `Loot` của nó; vật phẩm vào thẳng túi đồ. +- **Continue** đưa bạn về cảnh mà trận chiến bắt đầu. Máu đã mất trong trận chiến vẫn mất. + +Cả đội gục ngã thì màn hình thua chỉ còn **Main menu**: không kinh nghiệm, không chiến lợi phẩm. + +![Màn hình thua: chữ "Defeat" trên vũng máu đỏ sẫm và nút Main menu.](assets/defeat.jpg) + +## Mở trận chiến từ kịch bản + +```scenario +action battle.init scene=town_entry enemies=wolf_1,wolf_2 quest_id=MeetingMurakamiQuest new_tag=wolf_battle +switch_scene Battle +end +``` + +- `enemies` — id nhân vật, phân tách bằng dấu phẩy; cùng một id xuất hiện hai lần nghĩa là hai kẻ địch. +- `scene` — cảnh sẽ quay về sau khi thắng. +- `quest_id`, `new_tag` (tùy chọn) — gắn trận chiến với nhiệm vụ và gán cho nó một thẻ (thông báo trên nhật ký). +- Nền trận chiến là nền đang hiển thị tại thời điểm đó, nên hãy đặt nền trước khi gọi `battle.init`. + +Trên bản đồ tile, hãy dùng `action rpg.battle enemies=rpg_wolf win_flag=rpg_wolf_dead` của mod RPG thay thế: đội sẽ về đúng ô cũ và cờ được đặt khi thắng. + +Hành động `action battle.set_core core=card_battle` đổi hệ thống chiến đấu cho các trận chiến tiếp theo. + +## Kẻ địch, chiến lợi phẩm và hiệu ứng trạng thái trong dữ liệu + +Kẻ địch là nhân vật bình thường (xem Characters Engine). Chiến lợi phẩm của con sói trong RPG Plus: + +```json +{ + "Id": "rpg_wolf", + "Loot": [ + { "ItemId": "rpg_plus/wolf_pelt", "MinCount": 2, "MaxCount": 3, "Probability": 100 }, + { "ItemId": "money/coin", "MinCount": 8, "MaxCount": 14, "Probability": 100 } + ] +} +``` + +`Probability` là phần trăm; số lượng là một số ngẫu nhiên từ `MinCount` đến `MaxCount` (bao gồm cả hai đầu). + +**Hiệu ứng trạng thái** là thực thể loại `status_effect`. Nền tảng có sẵn choáng — nhân vật bị bỏ qua các lượt của mình: + +```json +{ "Id": "effect/physics/stun", "Icon": "characters/effects/stun", "Type": "Stun", "Duration": 3, "Actions": "basic/stun" } +``` + +Hành động chiến đấu gây hiệu ứng này có thể tự đặt số lượt; thời gian giảm dần vào đầu mỗi lượt. + +## Dành cho tác giả mod + +Hệ thống chiến đấu là một mod đăng ký `IBattleCore` (cùng `IBattleAutoPlayable` cho bộ kiểm thử tự động). Các hành động của nó chạy qua bộ thực thi của nền tảng, nên một mod như Battle Formulas có thể thêm loại hành động mới cho tất cả các hệ thống cùng lúc. Mã nguồn có thể phản ứng khi trận chiến kết thúc qua `BattleEndedEvent` và khi thắng qua `IWingroundListener`; Recruiting dùng đúng cơ chế này để mời kẻ địch bị hạ gia nhập đội. + +## Khi có sự cố + +1. **Nền trận chiến trống trơn.** `battle.init` chạy trước khi nền của cảnh được đặt. +2. **Mở nhầm hệ thống chiến đấu.** Kiểm tra thiết lập `battle.core` của game và xem có kịch bản nào đã đổi nó bằng `battle.set_core` không. +3. **Thắng rồi mà không có kinh nghiệm.** Kẻ địch có `Exp` 0 không cho kinh nghiệm; thành viên đội đã gục cũng không nhận. diff --git a/docs/zh.md b/docs/zh.md new file mode 100644 index 0000000..63bdb95 --- /dev/null +++ b/docs/zh.md @@ -0,0 +1,97 @@ +# Turn Battle Base —— 每场战斗背后的平台 + +Turn Battle Base 汇集了合集中所有回合制战斗的公共部分:从剧本发起战斗、以开战地点为背景的战斗场景、胜利与失败画面、经验和掉落、眩晕等状态效果,以及**战斗系统**的选择。玩家具体怎么打,平台并不决定——那是战斗系统模组的职责:**FF Battle**(指令菜单)或 **Card Battle**(把卡牌拖到目标上)。 + +## 两套战斗系统,一个平台 + +RPG Plus 里的同一场战斗——村庄中战士对狼——在两套系统下分别是这样: + +![左:FF Battle——狼在上方,英雄的小卡牌在左下角,右侧是战斗日志。右:Card Battle——大幅角色卡牌、行动面板和 End turn 按钮。](assets/two-cores.jpg) + +战斗之外的一切都相同:村庄背景、狼的数值、右上角的 **x1 / x4 / x8** 倍速按钮(用于加快动画,选择会被记住),以及战斗结束后的流程。 + +游戏通过合集设置 `battle.core` 选择战斗系统;RPG Plus 使用 `ff_battle`。未设置时采用第一个已安装的系统。在合集编辑器中,这项设置名为「战斗系统」。 + +## 一场战斗如何进行 + +```text +scenario: battle.init / rpg.battle + | + v +battle scene: backdrop of the current place, party from the roster, enemies from their files + | + v +battle system (ff_battle or card_battle): player turn <-> enemy turn + | | + all enemies defeated party defeated + v v + Victory: experience, loot Defeat: Main menu + | + v + back to the scene the battle started from +``` + +## 胜利与失败 + +当最后一个敌人倒下,胜利画面会显示每位幸存队员获得的经验和掉落: + +![胜利画面:「Victory」字样、Continue 按钮、英雄 +24,以及掉落——狼皮 x2、金币 x8 和一枚琥珀。](assets/victory.jpg) + +- **经验。** 每个被击败的敌人提供其 `Level × Exp`,由仍然站立的队员平分。狼为 2 级、`Exp` 12,即 **+24**。 +- **掉落。** 每个被击败的敌人按其 `Loot` 列表掷点;物品直接进入背包。 +- **Continue** 返回战斗开始前的场景。战斗中损失的生命不会恢复。 + +如果全队倒下,失败画面只提供 **Main menu**:没有经验,也没有掉落。 + +![失败画面:暗红色血泊上的「Defeat」字样和 Main menu 按钮。](assets/defeat.jpg) + +## 从剧本发起战斗 + +```scenario +action battle.init scene=town_entry enemies=wolf_1,wolf_2 quest_id=MeetingMurakamiQuest new_tag=wolf_battle +switch_scene Battle +end +``` + +- `enemies`——角色 id,逗号分隔;同一个 id 出现两次就是两个敌人。 +- `scene`——胜利后返回的场景。 +- `quest_id`、`new_tag`(可选)——把战斗绑定到任务,并给它一个标签(日志通知)。 +- 战斗背景就是当时显示的背景,所以要在 `battle.init` 之前设置好。 + +在图块地图上,请改用 RPG 模组的 `action rpg.battle enemies=rpg_wolf win_flag=rpg_wolf_dead`:队伍会回到同一格,胜利时还会设置标记。 + +动作 `action battle.set_core core=card_battle` 为之后的战斗切换战斗系统。 + +## 数据中的敌人、掉落与状态效果 + +敌人就是普通角色(参见 Characters Engine)。RPG Plus 中狼的掉落: + +```json +{ + "Id": "rpg_wolf", + "Loot": [ + { "ItemId": "rpg_plus/wolf_pelt", "MinCount": 2, "MaxCount": 3, "Probability": 100 }, + { "ItemId": "money/coin", "MinCount": 8, "MaxCount": 14, "Probability": 100 } + ] +} +``` + +`Probability` 是百分比;数量是 `MinCount` 到 `MaxCount` 之间(含两端)的随机数。 + +**状态效果**是 `status_effect` 类型的实体。平台自带眩晕——角色会跳过自己的回合: + +```json +{ "Id": "effect/physics/stun", "Icon": "characters/effects/stun", "Type": "Stun", "Duration": 3, "Actions": "basic/stun" } +``` + +施加该效果的动作可以自行指定回合数;持续时间在每个回合开始时递减。 + +## 给模组作者 + +战斗系统是一个注册了 `IBattleCore` 的模组(自动测试还需要 `IBattleAutoPlayable`)。它的动作经由平台的执行器运行,因此像 Battle Formulas 这样的模组能一次为所有系统添加新类型的动作。代码可以通过 `BattleEndedEvent` 响应战斗结束,通过 `IWingroundListener` 响应胜利;Recruiting 就是这样邀请被击败的敌人加入队伍的。 + +## 出问题怎么办 + +1. **战斗背景为空。** `battle.init` 在场景背景设置之前就执行了。 +2. **打开的战斗系统不对。** 检查游戏的 `battle.core` 设置,以及是否有剧本用 `battle.set_core` 切换过它。 +3. **胜利后没有经验。** `Exp` 为 0 的敌人不给经验;倒下的队员也拿不到。 diff --git a/locale/collection_settings_en.properties b/locale/collection_settings_en.properties new file mode 100644 index 0000000..40be1d8 --- /dev/null +++ b/locale/collection_settings_en.properties @@ -0,0 +1,4 @@ +collection_settings/battle = Battle system +collection_settings/battle_hint = Choose a battle system provided by the mods in this collection. +collection_settings/battle_auto = Uses the first registered battle system when unspecified. +collection_settings/battle_group = Combat diff --git a/locale/collection_settings_es.properties b/locale/collection_settings_es.properties new file mode 100644 index 0000000..b583b81 --- /dev/null +++ b/locale/collection_settings_es.properties @@ -0,0 +1,4 @@ +collection_settings/battle = Sistema de combate +collection_settings/battle_hint = Elige un sistema de combate de los mods de esta colección. +collection_settings/battle_auto = Sin valor se usa el primer sistema de combate registrado. +collection_settings/battle_group = Combate diff --git a/locale/collection_settings_ja.properties b/locale/collection_settings_ja.properties new file mode 100644 index 0000000..71e98f8 --- /dev/null +++ b/locale/collection_settings_ja.properties @@ -0,0 +1,4 @@ +collection_settings/battle = 戦闘システム +collection_settings/battle_hint = 構成に含まれるMODの戦闘システムを選びます。 +collection_settings/battle_auto = 未指定の場合は最初に登録された戦闘システムを使用。 +collection_settings/battle_group = 戦闘 diff --git a/locale/collection_settings_ko.properties b/locale/collection_settings_ko.properties new file mode 100644 index 0000000..9f4b013 --- /dev/null +++ b/locale/collection_settings_ko.properties @@ -0,0 +1,4 @@ +collection_settings/battle = 전투 시스템 +collection_settings/battle_hint = 컬렉션에 포함된 모드의 전투 시스템을 선택합니다. +collection_settings/battle_auto = 지정하지 않으면 처음 등록된 전투 시스템을 사용합니다. +collection_settings/battle_group = 전투 diff --git a/locale/collection_settings_ru.properties b/locale/collection_settings_ru.properties new file mode 100644 index 0000000..b2b2ade --- /dev/null +++ b/locale/collection_settings_ru.properties @@ -0,0 +1,4 @@ +collection_settings/battle = Боевая система +collection_settings/battle_hint = Выберите боевую систему из включённых в коллекцию модов. +collection_settings/battle_auto = Без настройки используется первая зарегистрированная боевая система. +collection_settings/battle_group = Бой diff --git a/locale/collection_settings_vi.properties b/locale/collection_settings_vi.properties new file mode 100644 index 0000000..78186e3 --- /dev/null +++ b/locale/collection_settings_vi.properties @@ -0,0 +1,4 @@ +collection_settings/battle = Hệ thống chiến đấu +collection_settings/battle_hint = Chọn hệ thống chiến đấu từ các mod trong bộ sưu tập. +collection_settings/battle_auto = Nếu không đặt, dùng hệ thống chiến đấu được đăng ký đầu tiên. +collection_settings/battle_group = Chiến đấu diff --git a/locale/collection_settings_zh.properties b/locale/collection_settings_zh.properties new file mode 100644 index 0000000..43263e8 --- /dev/null +++ b/locale/collection_settings_zh.properties @@ -0,0 +1,4 @@ +collection_settings/battle = 战斗系统 +collection_settings/battle_hint = 选择此合集模组提供的战斗系统。 +collection_settings/battle_auto = 未指定时使用第一个注册的战斗系统。 +collection_settings/battle_group = 战斗 diff --git a/locale/en.properties b/locale/en.properties index 6b0f784..3bf53f9 100644 --- a/locale/en.properties +++ b/locale/en.properties @@ -1,2 +1,2 @@ -mod_turn_battle_base_name = Turn-based Battle Engine -mod_turn_battle_base_desc = Turn-based battle platform: battle ruleset contracts (IBattleCore), the core registry, action executors, status effects, the battle scene, victory/defeat screens and EXP/loot reports. +mod_turn_battle_base_name = Turn Battle Base +mod_turn_battle_base_desc = The platform under every turn-based battle: starting from a scenario, the battle scene, victory and defeat, experience and loot — how the player fights is a separate battle system. diff --git a/locale/es.properties b/locale/es.properties index d9ba440..5dc664d 100644 --- a/locale/es.properties +++ b/locale/es.properties @@ -1,2 +1,2 @@ mod_turn_battle_base_name = Motor de combate por turnos -mod_turn_battle_base_desc = Plataforma de combate por turnos: contratos de reglas de combate (IBattleCore), el registro de núcleos, ejecutores de acciones, efectos de estado, la escena de combate, pantallas de victoria y derrota e informes de EXP y botín. +mod_turn_battle_base_desc = La plataforma bajo cada combate por turnos: inicio desde un escenario, la escena de batalla, victoria y derrota, experiencia y botín; cómo lucha el jugador es cosa de un sistema de combate aparte. diff --git a/locale/ja.properties b/locale/ja.properties index 95a1482..59b3875 100644 --- a/locale/ja.properties +++ b/locale/ja.properties @@ -1,2 +1,2 @@ mod_turn_battle_base_name = ターン制バトルエンジン -mod_turn_battle_base_desc = ターン制バトルのプラットフォーム:バトルルールの契約(IBattleCore)、コアのレジストリ、アクション実行器、状態異常、バトルシーン、勝利/敗北画面、経験値と戦利品のレポート。 +mod_turn_battle_base_desc = すべてのターン制戦闘の土台:シナリオからの開始、戦闘シーン、勝利と敗北、経験値と戦利品。プレイヤーの戦い方は、別のバトルシステムが担います。 diff --git a/locale/ko.properties b/locale/ko.properties index 0bde455..444dc61 100644 --- a/locale/ko.properties +++ b/locale/ko.properties @@ -1,2 +1,2 @@ mod_turn_battle_base_name = 턴제 전투 엔진 -mod_turn_battle_base_desc = 턴제 전투 플랫폼: 전투 규칙 계약(IBattleCore), 코어 레지스트리, 액션 실행기, 상태 효과, 전투 장면, 승리/패배 화면, 경험치와 전리품 보고. +mod_turn_battle_base_desc = 모든 턴제 전투의 기반: 시나리오에서 시작, 전투 장면, 승리와 패배, 경험치와 전리품 — 플레이어가 어떻게 싸울지는 별도의 전투 시스템이 담당합니다. diff --git a/locale/ru.properties b/locale/ru.properties index 6daf4a7..13a8ada 100644 --- a/locale/ru.properties +++ b/locale/ru.properties @@ -1,2 +1,2 @@ mod_turn_battle_base_name = Движок пошаговых боёв -mod_turn_battle_base_desc = Платформа пошаговых боёв: контракты боевых ядер (IBattleCore), реестр ядер, исполнители действий, статус-эффекты, боевая сцена, экраны победы/поражения и отчёты опыта и добычи. +mod_turn_battle_base_desc = Платформа любого пошагового боя: запуск из сценария, боевая сцена, победа и поражение, опыт и добыча — а как именно сражаться, решает отдельная боевая система. diff --git a/locale/vi.properties b/locale/vi.properties index 01eaef9..75a1ec0 100644 --- a/locale/vi.properties +++ b/locale/vi.properties @@ -1,2 +1,2 @@ mod_turn_battle_base_name = Engine chiến đấu theo lượt -mod_turn_battle_base_desc = Nền tảng chiến đấu theo lượt: hợp đồng luật chiến đấu (IBattleCore), sổ đăng ký lõi, bộ thực thi hành động, hiệu ứng trạng thái, cảnh chiến đấu, màn hình thắng/thua và báo cáo EXP/chiến lợi phẩm. +mod_turn_battle_base_desc = Nền tảng của mọi trận chiến theo lượt: khởi đầu từ kịch bản, cảnh chiến đấu, thắng và thua, kinh nghiệm và chiến lợi phẩm — người chơi đánh thế nào là việc của một hệ thống chiến đấu riêng. diff --git a/locale/zh.properties b/locale/zh.properties index a4bf2e6..94d49b9 100644 --- a/locale/zh.properties +++ b/locale/zh.properties @@ -1,2 +1,2 @@ mod_turn_battle_base_name = 回合制战斗引擎 -mod_turn_battle_base_desc = 回合制战斗平台:战斗规则契约(IBattleCore)、核心注册表、动作执行器、状态效果、战斗场景、胜利/失败画面以及经验与战利品报告。 +mod_turn_battle_base_desc = 每场回合制战斗背后的平台:从剧本发起战斗、战斗场景、胜利与失败、经验和掉落——玩家怎么打,由独立的战斗系统决定。 diff --git a/manifest.json b/manifest.json index 1f80e4e..d70f36f 100644 --- a/manifest.json +++ b/manifest.json @@ -1,9 +1,9 @@ { "id": "turn_battle_base", - "name": "Turn-based battle engine", + "name": "Turn Battle Base", "version": "2.0.0", "author": "ct", - "description": "Turn-based battle platform: battle ruleset contracts, core registry, action executors, status effects, battle scene, victory/defeat screens, EXP and loot reports", + "description": "The platform under every turn-based battle: starting from a scenario, the battle scene, victory and defeat, experience and loot — how the player fights is a separate battle system.", "category": "engine, gameplay", "sources": [ "src/**/*.cs"