Пользовательские дополнения

На главную


avatar.GetSpellInfo( id )

Возвращает информацию о заклинании по его идентификатору.

Тип воздействия - "ENUM_SubElement_...".

-- система:
UIState/GameState
функция имеет основную реализация в логике и расширенную реализацию в UI

-- библиотека
avatar

-- объявление:
function GetSpellInfo( id )

-- параметры
id: SpellId - Id умения

-- возвращаемые значения
nil, если такого умения нет
table, если действие в слоте есть

-- поля возвращаемой таблицы
id: SpellId - Id умения
objectId: ObjectId / nil - Id объекта умения в книге умений (action Id). В остальных случаях nil
name: WString (название)
description: ValuedText - описание заклинания с подставленными текущими значениями параметров
debugName: string - системная информация для дебага (путь к файлу)

sysName: string - системное имя спелла

canRunAvatar: boolean - можно ли запустить заклинание в принципе (игнорируя текущее действие, кулдаун и ограничения цели)
enabled: boolean - если false, то спел не удасться, но его можно попытаться сделать
autocastOn: boolean

cooldownDurationMs: number (int)
cooldownRemainingMs: number (int)

launchWhenReady: boolean - true - заклинание посылается в цель (точку, в самого себя) сразу после процесса каста. false - заклинание можно подготовить для моментального запуска в цель (см. флаг prepared)

prepareDuration: int
prepared: boolean - true - приготовлено ли заклинание. false, если не приготовлено, или подготовка вообще не требуется (launchWhenReady == true).

range: number (float) - растояние до цели, на котором действует заклинание
radius: number (float) - радиус действия AOE заклинания от точки применения. если спелл не AE-шный, то возвращается 0.0

targetType: number (enum) -- может принимать одно из след. значений: SPELL_TYPE_SELF, SPELL_TYPE_CURRENT_TARGET, SPELL_TYPE_POINT, SPELL_TYPE_CURRENT_TARGET_NOT_SELF

sysSubElement: string (enum "ENUM_SubElement_...") - тип воздействия

level: number( int ) - уровень, начиная с которого можно изучить это умение
rank: number( int ) - ранг умения (начиная с 1)

isHelpful: boolean - позитивное заклинание. можно кастовать в друзей, нельзя во врагов
isHarmful: boolean - негативное заклинание. можно кастовать во врагов, нельзя в друзей

sysNameAEMark: string / nil - для АЕ спеллов имя AEMark, которую нужно визуализировать (nil для не AE спеллов)

currentValues: table - таблица с текущим значением динамически меняющихся характеристик
  manaCost: number (int) - расход маны или энергии
  prepareDuration: number (int) - время подготовки в миллисекундах
  range: number (float) - растояние до цели, на котором действует заклинание
  radius: number (float) - радиус действия AOE заклинания от точки применения. если спелл не AE-шный, то возвращается 0.0
  predictedCooldown: number (int) - предположительная длительность кулдауна в миллисекундах

resources: table of ObjectId - индексированный с 0 список идентификаторов предметов, требующихся для выполнения спелла

--{ часть таблицы, реализованная только для UI
texture: TextureId - идентификатор текстуры для иконки заклинания
--}

-- пример использования
local spellbook = avatar.GetSpellBook()
local spellInfo = avatar.GetSpellInfo( spellbook[1] )
common.LogInfo( spellInfo.name )

local itemInfo = avatar.GetItemInfo( itemId )
local itemSpellInfo = avatar.GetSpellInfo( itemInfo.spellId )
common.LogInfo( itemSpellInfo.name )

Search: "CategoryLuaApi" "CategorySpellbook"

AbilityId
EnumSubElement
EventAbilitiesElementAdded
EventSpellbookChanged
EventSpellbookElementAdded
EventSpellbookElementChanged
EventSpellbookElementEffect
FunctionAvatarGetAbilities
FunctionAvatarGetAbilityInfo
FunctionAvatarGetBuffLinkedSpell
FunctionAvatarGetSpellBook
FunctionAvatarGetSpellInfo
FunctionAvatarGetSpellObjectInfo
FunctionAvatarGetSpellRequirements
FunctionAvatarRunAESpell
FunctionAvatarRunSpell
FunctionAvatarRunTargetSpell
SpellId


CategoryLuaApi CategoryFunction CategorySpellbook CategoryAvatar

На главную