Files

51 lines
4.4 KiB
Markdown

# Recruiting — パーティに加わる、倒した敵たち
Recruiting は、戦闘で倒した敵を捕らえ、のちにプレイヤーの側で戦わせるしくみです。勝利のあと、倒した敵にはそれぞれ捕獲のチャンスが生まれます。捕らえられたキャラクターは**勧誘した者たち**パネルに並び、誰でもパーティに加えたり、また外したりできます。捕らわれている間、勧誘した者はそれぞれのルールで暮らします — Cthangover では腹を減らします。
この MOD はどの戦闘システムにも依存しません。プラットフォームの「キャラクターが倒された」イベントを聞いているので、FF Battle でも Card Battle でも、倒されたキャラクターを報告するものなら何とでも動きます。誰を捕らえられ、どんな条件が付くかは、ゲームのデータと他の MOD が決めます。
## 「勧誘した者たち」パネル
ツールバーのボタンで開きます。Cthangover の冒頭では、まだ誰も捕らえられていません:
![「勧誘した者たち」パネル:タイトル「勧誘した者たち」、「捕らえた敵 · 誰でもパーティに加えられる」の行、「捕らえた者はまだいない」、下部に「捕獲:0 · パーティ内:0」。](assets/recruits-panel.jpg)
捕らえた者ごとに、ポートレート、名前、体力つきの行ができ、ボタンが一つ付きます:**パーティに加える**か**パーティから外す**。フッターには捕らえた数と、そのうちパーティにいる数が出ます。
## 捕獲のしくみ
勝利のあと、倒した敵それぞれについて:
1. 敵のキャラクターファイルに 0 より大きい `RecruitmentChance` があること。
2. 敵の種類ごとに勧誘した者は一人だけ:その種類がすでに捕らえられていれば、スキップします。
3. 登録済みの**条件**がすべて許可すること。この MOD が一つ持っています:プレイヤーがスキル `slave_master` を持っていること(Cthangover ではマラオが最初から持っています)。
4. 1 から 100 のロールが、確率を超えないこと。
これを満たすと、敵は体力 10 で名簿に入ります。Cthangover で捕らえられる唯一のキャラクターは物語の後半で現れ、確率は 50% です:
```json
{ "Id": "werewolf_girl_1", "RecruitmentChance": 50 }
```
## パーティの中で
**パーティに加える**は、その者を普通のパーティメンバーにします:キャラクターパネルに現れ、自分のアクションで戦闘に参加し、アイテムの対象になり、パーティと一緒にセーブされます。戦闘で失った体力は、その者のものとして残ります。**パーティから外す**と、アクションと経験値は次に加わるときまで取っておかれます。
## 勧誘した者たちの欲求
勧誘した者は、ゲーム時計の各ティックで登録済みの**ふるまい**を実行します。この MOD が一つ持っているのは栄養です:24 ゲーム時間食べないでいると、ティックごとに体力を 1 失います。現状のゲームでは食べ物を与える手段がないため、捕らえた者は捕獲の一日あとから飢え始めます。
名簿・体力・ふるまいの状態は、ゲームと一緒にセーブされます。
## MOD 作者向け
- **条件**は `IRecruitCondition` を実装するクラスです。recruiting MOD は読み込まれたどの MOD からでも見つけます。false を返せば捕獲を禁じられます。
- **ふるまい**は `IRecruitBehaviour` を実装します。勧誘した者が捕らえられたときに設定され、各ティックで呼ばれ、その者とともに取り除かれます。状態はその者のプロパティに置かれます。
- コードは `RecruitJoinedEvent` と `RecruitLeftEvent` に反応できます。
## うまくいかないとき
1. **誰も捕らえられない。** 敵の `RecruitmentChance` が 0 か、条件が拒んでいる(プレイヤーに `slave_master` スキルがない)か、ロールに失敗したかです。
2. **同じ敵は二度捕らえられない。** 種類ごとに一人。設計どおりです。
3. **体力が下がり続ける。** 栄養です。一日食べておらず、まだ与える方法がありません。