Files

84 lines
5.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Equipment —— キャラクターのステータスを変える装備
Equipment でキャラクターは物を身に着けられます。武器、防具、お守り——ビジュアルノベルなら衣装や宝石も。アイテムを装備している間、そのボーナスはキャラクターのステータスに反映され、キャラクターシート、バトル、ステータス判定、条件がすべてすぐに追随します。外すとかばんに戻ります。
Stats Engine と Items Base が必要です。RPG Plus のスロットと装備は Classic RPG Rules パックから来ており、別のゲームは独自のものを定義します。
## 物を装備する
かばんを開いてアイテムを選び、**Equip** を押してから、誰が装備するかを選びます:
![RPG Plus のインベントリ:Leather armour を選択。詳細(Targeted、装備タイプ armor、特性 def +2 と hp +6、動詞 Equip)、Equip ボタン、そして 42/42 の英雄がいる対象リスト。](assets/bag-equip.jpg)
アイテムはかばんから出て、キャラクターシートの**装備**ブロックに現れます。装備の前と後:
![シートの戦闘・装備部分。装備前:Health 42/42、Armour 4、Body は空。装備後:Health 48/48(+10)、Armour 6(+2)、Body — Leather armour、DEF +2 HP +6、外すボタン付き。](assets/sheet-before-after.jpg)
防御は 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` が、ゲームが定義していないステータスを挙げています。