84 lines
5.1 KiB
Markdown
84 lines
5.1 KiB
Markdown
# Equipment —— キャラクターのステータスを変える装備
|
||
|
||
Equipment でキャラクターは物を身に着けられます。武器、防具、お守り——ビジュアルノベルなら衣装や宝石も。アイテムを装備している間、そのボーナスはキャラクターのステータスに反映され、キャラクターシート、バトル、ステータス判定、条件がすべてすぐに追随します。外すとかばんに戻ります。
|
||
|
||
Stats Engine と Items Base が必要です。RPG Plus のスロットと装備は Classic RPG Rules パックから来ており、別のゲームは独自のものを定義します。
|
||
|
||
## 物を装備する
|
||
|
||
かばんを開いてアイテムを選び、**Equip** を押してから、誰が装備するかを選びます:
|
||
|
||

|
||
|
||
アイテムはかばんから出て、キャラクターシートの**装備**ブロックに現れます。装備の前と後:
|
||
|
||

|
||
|
||
防御は 4 から 6 へ——防具の `def` +2 です。体力は 42 から 48 へ:基礎 38 に防具の `hp` +6 を足すと 44、戦士の 10% 体力ボーナスで 48 になります。
|
||
|
||
- シートの **Take off** でアイテムはかばんに戻ります。
|
||
- 埋まっているスロットに別の物を装備すると、前のアイテムはかばんへ戻ります。
|
||
- 選べるのはパーティメンバーだけです。
|
||
|
||
## アイテムを装備可能にする
|
||
|
||
アイテム自身の JSON にある二つのキーで装備品になります。アイテム側のModはこれを知る必要がありません。Classic RPG Rules の革の防具:
|
||
|
||
```json
|
||
{
|
||
"Id": "classic/leather_armor",
|
||
"Name": "classic/item/leather_armor/name",
|
||
"ItemType": "TargetUsed",
|
||
"ItemAction": "action/equip",
|
||
"verb": "equipment/verb_equip",
|
||
"Equip": "armor",
|
||
"Traits": [ { "Stat": "def", "Add": 2 }, { "Stat": "hp", "Add": 6 } ]
|
||
}
|
||
```
|
||
|
||
- `Equip`——アイテムの装備タイプ。スロットを決めます。
|
||
- `Traits`——装備中に何を与えるか。Stats Engine の特性形式(`Add`、`Percent`、`Formula`)で書きます。
|
||
- `Archetypes`(省略可)——誰が装備できるか。例:樫の杖なら `["classic/mage"]`。
|
||
- `ItemType: TargetUsed` と `ItemAction: action/equip` の組み合わせで、Equip ボタンと対象リストが付きます。`verb` がボタンの文字を決めます。
|
||
|
||
## スロット
|
||
|
||
スロットは `equip_slot` 種別のエンティティです。それぞれ、受け付ける装備タイプを列挙します:
|
||
|
||
```json
|
||
{
|
||
"Kind": "equip_slot",
|
||
"Items": [
|
||
{ "Id": "weapon", "Name": "classic/slot/weapon", "Order": 1, "Accepts": ["sword", "staff", "dagger"] },
|
||
{ "Id": "body", "Name": "classic/slot/body", "Order": 2, "Accepts": ["armor", "robe"] },
|
||
{ "Id": "accessory", "Name": "classic/slot/accessory", "Order": 3, "Accepts": ["charm", "ring"] }
|
||
]
|
||
}
|
||
```
|
||
|
||
`Accepts` のないスロットは、`Equip` がそのスロット自身の id であるアイテムを受け付けます。
|
||
|
||
## ステータスを永続的に上げるアイテム
|
||
|
||
`\"ItemAction\": \"action/stat_up\"` に `StatUp` キー——たとえば `{"str": 1}`——を添えると、使ったパーティメンバーのステータスが永続的に変わります。薬や本のようなものです。アイテムは消費されます。
|
||
|
||
## シナリオの中で
|
||
|
||
```scenario
|
||
action equip.put who=rpg_hero item=classic/wood_sword give=1
|
||
action equip.remove who=rpg_hero slot=weapon
|
||
when "equipped(rpg_hero, 'classic/wood_sword')" -> :armed
|
||
```
|
||
|
||
- `equip.put` はかばんからアイテムを装備します。`give=1` を付けると代わりにアイテムを付与し、かばんになくて構いません。RPG Plus はこのやり方で各職業に初期武器を与えています。複数のスロットが候補になるなら `slot=` で指定します。
|
||
- `equip.remove` はスロットに装備中の物を外して、かばんへ戻します。
|
||
- アイテムを装備している間、`equipped(who, 'item')` は真になります。
|
||
|
||
装備の状態はセーブに含まれます。
|
||
|
||
## うまくいかないときは
|
||
|
||
1. **Equip の後に選ぶ相手がいない。** 対象リストにはパーティメンバーしか出ません。RPG Plus では、英雄はプロローグのあと村に入った時点でパーティに加わります。
|
||
2. **アイテムを装備できない。** その `Equip` タイプを受け付けるスロットがないか、`Archetypes` にキャラクターの職業が含まれていません。
|
||
3. **シートが変わらない。** アイテムの `Traits` が、ゲームが定義していないステータスを挙げています。
|