jsiq/games/warlock-p2/SpellAPI
Предпоследний шедевр мага
Структура описания заклинания (adnd_spell_definition)
- spell_affection: {} свойства этого объекта копируются объекту "наложенное заклинание" при наложении заклинания
- spell_effects: [] массив функций создаюших новые экземпляры модификаторов (эффектов), при этом, каждой функции при вызове передаётся объект-заклинания, благодаря которому можно обратиться (и/или привязаться) к объекту character кастовавшему заклинание
- spell_notices: {} объект содержащий обработчики событий, формат (пример) такой:
{
'название_события': function(params)
{
// структура params (объект) зависит от конкретного события
// ключевое слово this указывает на объект "наложенное заклинание"
// какието действия
}
}
- onCastedOn: необязательная функция, вызываемая разово при накладывании заклинания, параметр - цель заклинания. Возвращаемое значение определяет, будут ли накладываться эффекты заклинания (описанные в spell_effects). Пример:
function(target)
{
return true;
}
Структура наложенного заклинания (adnd_spell_affected)
- character: указывает на персонажа на которого наложено это заклинание
- spell: указывает на описание заклинания (adnd_spell_definition)
- все свойства объекта adnd_spell_definition.spell_affection
- notices: указывает на adnd_spell_definition.spell_notices
- effects: номера "зарегистрированных" эффектов (модификаторов), необходим для удаления "своих" эффектов
- f: removeEffects(): удаляет все наложенные эффекты