Дескрипшены
Дескрипшены - это описания для предметов, которые можно выдавать в игровой клиент. Вы можете дополнять или, наоборот, сужать описание исходя из различных параметров энтити. Например, для персонажей с высоким восприятием выводить дополнительную информацию о внешнем виде объекта. Ниже мы приведем пример дескрипшена:
main:
text: |
Вы видите офигеть какую крутую штуку.
Очень загадочно.
for-smart:
check:
- attribute intelligence > 20
text: |
Если подумать, то не так уж и круто.
for-strong-or-vitaistic:
check1:
- attribute strength > 10
check2:
- skill vitaism > 15
text: |
Этим можно кого-нибудь ударить.
for-stupid-and-theurgy:
check:
- attribute intelligence < 10
- skill theurgy > 15
text: |
Этим можно кого-нибудь обмануть.
for-undead:
check:
- tags undead
text: |
Это можно спрятать у себя в костях.
Ну или между костей.
for-wooden-creatures:
check:
- tags elf,wooden_creature
text: |
Это напоминает вам листву. Хотя нет, вы просто любите листву.
for-cyborgs:
check:
- type cyborg
text: |
Это отличный проводник. На вкус как медь.
Наверное, медный.
for-gms:
check:
- perms gm
text: |
[ГМ: Игрокам нельзя давать эту вещь.]
for-gods:
check:
- traits god
text: |
Вы ощущаете что-то божественное в этом.
Итак, разберемся с группами:
- Как можно догадаться, каждая группа - это дополнительный абзац текста, открываемый при тех или иных условиях.
- Первая группа обязана называться
main. В ней может быть только полеtext, в котором вы пишете описание, которое видно абсолютно всем. - Все последующие группы могут называться как угодно, это для вашего удобства.
Теперь поговорим о содержимом группы.
- Внутри группы обязательно должны быть два блока -
checkиtext. Текст должен быть только один, тогда какcheckможет быть сколько угодно. - Каждый чек означает из себя группу проверок, ВСЕ из которых должны быть выполнены. Внутри одного чека может быть сколько угодно проверок, и все из них должны быть успешным. Тогда чек считается пройденным.
- Чеков может быть несколько. Для того, чтобы текст был отображен, достаточно ОДНОГО из чеков. То есть, по сути, чеки имеют между собой имеют отношение ИЛИ.
Теперь поговорим о том, что внутри чека:
Глобально возможно два варианта:
В случае, если вам нужно проверить скилл, знание или атрибут, то вы пишете строку, в которой обязательно 4 элемента, разделенные пробелом. Выглядит это так: attribute strength > 10
- Первый элемент это то, что вы проверяете. Может быть
attribute,skillилиknowledge. - Название проверяемого элемента с маленькой буквы.
- Оператор. Может быть
>,<или=, а так же>=и<=Другие варианты невозможны. - Число, которое проверяется с оператором.
В случае, если вам нужно проверить наличие тэга, типа энтити, перма или трейта, то у вас только 2 элемента, разделенные пробелом.
- Первый элемент это ключевое слово
tags,trait,typeилиperm. - Второй элемент это, собственно, айдишники трейтов, тэгов, название типа или название пермишина. В случае трейтов, пермов или тэгов, можно сделать перечисление через запятую, но учтите, что это означает то, что требуются оба. Так же обратите внимание на то, что тут не должно быть лишних пробелов. Например, проверка, требующая одновременно тэга эльфа и лесного создания, может выглядит так:
tags elf,wooden_creature.