Документация Nyxtale

Nightfall StoriesМеханики

Предметы и ресурсы

Инвентарь, расход, платные выборы и валюта.

Инвентарь — флаг типа set, предмет — элемент этого набора. Правила и проверки те же, что у любого флага.

@set inventory = 0
@item_get "candle"
@if inventory -> lit
движок принял brancheffectsetjump

@item_get кладёт, @item_lose убирает, @item_use расходует, @inventory_show открывает список. @craft собирает предмет из частей.

Предмет как ключ

Предмет открывает дорогу, закрытую иначе:

@set has_key = 0
* choice "Отпереть" @if has_key
    -> inside
* choice "Постучать"
    -> knock
движок принял choicesetjump×2

Опция под условием становится недоступной; показать её серой или спрятать решает приложение. Читатель обычно видит, что дорога есть и что он до неё не дорос.

Расход и цена

@cost делает опцию платной — валютой или ресурсом:

* choice "Заплатить сторожу" @cost 5 candles
    -> bribe
* choice "Уйти"
    -> away
движок принял choicejump×2

Цена работает, только если ресурса не хватает на всё. Свечей, которых достаточно на все двери, читатель тратит не думая. Ресурс, которого не хватает ни на что, превращается в стену.

Тупик по ресурсу

Читатель потратил единственную свечу не там, и дальше история не проходится: ни одна доступная опция не ведёт вперёд.

По структуре это может выглядеть исправным — узел с опциями есть, просто все они под условием, которое ложно. Валидатор поймает это как пустой выбор, но только если ситуация достижима, поэтому проверяйте бот-обходом: он проходит все траты и показывает маршруты, на которых ресурса не хватило.

Два способа не допустить: всегда оставлять бесплатную дорогу — медленнее и хуже, но проходимо — или делать ресурс восполнимым.

Валюта мира

@currency — валюта внутри истории: монеты, патроны, доверие. К реальным покупкам она отношения не имеет и в одной шкале с ними не считается.

Практика

Предметов мало. Пять запоминаемых лучше двадцати, из которых читатель не помнит ни одного.

Название предмета — часть текста. «Свеча Аниты» весит больше, чем «свеча», и стоит того же.

Предмет должен быть виден до того, как понадобится. Дверь, для которой нужен лом, найденный два часа назад, — это удовольствие. Дверь, для которой нужен лом, который был на несуществующей развилке, — это раздражение.

Директивы этой темы

Собрано из реестра движка: каждая директива этих категорий ведёт сюда из справочника.

  • @craft Крафт: собрать предмет из частей
  • @currency Внутриигровая валюта (мир, не монетизация §07)
  • @inventory_show Открыть инвентарь
  • @item_get Получить предмет в инвентарь
  • @item_lose Убрать предмет из инвентаря
  • @item_use Применить/израсходовать предмет