Возвращает информацию о заклинании по его идентификатору.
Тип воздействия - "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 or nil - описание с подставленными текущими значениями параметров
debugName: string or nil - системная информация для дебага (путь к файлу) или nil для отладочной версии
sysName: string - системное имя спелла
enabled: boolean - если false, то спел не удастся, но его можно попытаться сделать
canRunAvatar: boolean - можно ли запустить заклинание в принципе (игнорируя текущее действие, кулдаун и ограничения цели)
canRunAvatarEx: boolean - можно ли запустить заклинание в принципе (игнорируя вообще всё, кроме неизменяемых свойств главного игрока(раса/пол/фракция/класс))
autocastOn: boolean
cooldownDurationMs: number (int)
cooldownRemainingMs: number (int)
launchWhenReady: boolean - true - заклинание посылается в цель (точку, в самого себя) сразу после процесса каста. false - заклинание можно подготовить для моментального запуска в цель (см. флаг prepared)
prepareDuration: int
prepared: boolean - true - приготовлено ли заклинание. false, если не приготовлено, или подготовка вообще не требуется (launchWhenReady == true).
isActive: boolean - true, если в данный момент заклинание активировано (включено)
baseManaCostPercentage: number (float) - расход маны в процентах от полной
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 - негативное заклинание. можно кастовать во врагов, нельзя в друзей
isFairySpell: 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 список идентификаторов предметов, требующихся для выполнения спелла
buffs: 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 )