5.7 KiB
Equipment — снаряжение, которое меняет характеристики персонажа
Equipment позволяет персонажам носить вещи: оружие, броню, талисман — а в визуальной новелле наряд и украшения. Пока предмет надет, его бонусы входят в характеристики персонажа, поэтому лист персонажа, бои, проверки характеристик и условия меняются сразу. Снятая вещь возвращается в сумку.
Моду нужны Stats Engine и Items Base. Слоты и снаряжение RPG Plus берутся из набора Classic RPG Rules; другая игра опишет свои.
Как что-то надеть
Откройте сумку, выберите предмет и нажмите Equip, затем укажите, кто его наденет:
Предмет уходит из сумки и появляется в блоке Equipment листа персонажа. До и после:
Броня выросла с 4 до 6 — это def брони +2. Здоровье выросло с 42 до 48: база 38 плюс hp брони +6 даёт 44, а 10% бонус воина к здоровью доводит до 48.
- Take off на листе возвращает предмет в сумку.
- Если надеть вещь в занятый слот, прежний предмет вернётся в сумку.
- Выбирать можно только членов отряда.
Как сделать предмет надеваемым
Два ключа в собственном JSON предмета делают его снаряжением; моду предметов знать о них не нужно. Кожаная броня из Classic RPG Rules:
{
"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. Каждый перечисляет принимаемые типы снаряжения:
{
"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} — навсегда меняет характеристики члена отряда, на котором использован предмет, как тоник или книга. Предмет расходуется.
В сценариях
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')истинно, пока предмет надет.
Надетое сохраняется вместе с игрой.
Если что-то пошло не так
- После Equip некого выбирать. В списке целей только члены отряда; в RPG Plus герой вступает в отряд при входе в деревню, после пролога.
- Предмет не надевается. Ни один слот не принимает его тип
Equip, либоArchetypesне включает класс персонажа. - Лист не меняется. В
Traitsпредмета названы характеристики, которых игра не определяет.

