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

На главную


object.GetBuffInfo( id, includeResourceInfo )

Возвращает информацию о бафе. В качестве аргумента может принимать как id экземпляра бафа, так и ресурса (BuffId) бафа.

Набор информации для ресурса бафа является подмножеством набора информации для экземпляра бафа.

-- система:
UIState/GameState

-- библиотека:
object

-- объявление:
function GetBuffInfo( Id )

-- параметры:
Id: ObjectId or BuffId - Идентификатор экземпляра (должен быть валидным) или ресурса буфа
includeResourceInfo: boolean or nil - Включать ли информацию о ресурсе бафа при получении информации о экземпляре бафа. По умолчанию true

-- возвращаемые значения: table or nil (только при ошибке), поля:

-- Доступны как для  ресурса, так и для экземпляра бафа
buffId: BuffId - Id ресурса буфа
name: WString - имя буфа
sysName: string - внутреннее имя буфа (может быть использовано для специальной обработки), соответствующее поле в базе для буфа - "sysUIScriptName"
texture: UITextureId - идентификатор текстуры для иконки буфа

isStackable: boolean - стекается буф или нет
stackLimit: number (int) - максимальное количество буфов данного типа

isPositive: boolean - true, если баф позитивный
isGradual: boolean - true,  если true, то стэки бафа спадают по одному

canDetach: boolean - можно ли скликивать такой баф
isNeedVisualizeDuration: boolean - нужно ли показывать duration
priority: int (ENUM_UIBuffPriority) - приоритет отображения бафа в интерфейсе

groups: table (hash_map<string, true>) - таблица групп бафа. Ключ - системное имя группы, значение - true. Безымянные группы не учитываются.
gainSpells: table[1] of SpellId - список заклинаний, которые усиливает данный баф; таблица индексированная с 1;

-- Доступны как для ресурса, так и для экземпляра бафа, но реализация отличается
isNeedVisualize: boolean - нужно ли показывать этот баф в панели бафов. Если false для ресурса, то false для всех экземпляров. Обратное неверно.

-- Доступны только для экземпляра бафа
id: ObjectId - Id объекта буфа
ownerId: ObjectId or nil - Id объекта, на котором висит буф, если такой объект есть

stackCount: number (int) - может быть количеством одинаковых буфов, уровенем буфа или аналогичной информаций в
durationMs: number (int) - полное время действия буфа
remainingMs: number (int) - время до окончания действия буфа

producer: table - таблица с полями
  casterId: ObjectId or nil - идентификатор кастера, повесившего баф, если его можно получить
  spellId: SpellId or nil - Id спелла, если баф повесили спеллом.
  abilityId: AbilityId or nil - Id абилки, если баф повесили абилкой.
  buffId: BuffId or nil - Id буффа, если баф повесили бафом.
  mapModifierId: MapModifierId or nil - Id модификатора карты, если баф повесили модификатором карты.


-- Только для DEVELOPER_CLIENT
debugName: string - отладочная информация (путь до файла)
debugGroups: table[1] of string: отладочная информация (путь до файла группы)

-- пример:
function buffManager:OnAddBuff( eventData )
  if not self.trackedObjects[ eventData.objectId ] then
    return
  end
  if not self.resourceCache[ eventData.resourceId ] then
    self.resourceCache[ eventData.resourceId ] = object.GetBuffInfo( eventData.resourceId )
  end
  self:AddBuff( eventData.objectId, object.GetBuffInfo( eventData.buffId, false ) )
end
...
function buffManager:GetActiveEventHandlers()
  return {
    { self.OnAddBuff, "EVENT_OBJECT_BUFF_ADDED", { isNeedVisualize = true }, { cfilter = true } },
    ...
  }
end

Связанные страницы: "CategoryLuaApi" "CategoryBuff"

BuffId
CategoryBuff
EnumDiminishingGroup
EnumUIBuffPriority
EventAvatarBuffRemovingFailed
EventGuildBuffAdded
EventGuildBuffsChanged
EventObjectBuffAdded
EventObjectBuffChanged
EventObjectBuffProgressAdded
EventObjectBuffProgressChanged
EventObjectBuffProgressRemoved
EventObjectBuffRemoved
EventObjectBuffsChanged
EventObjectBuffsElementChanged
EventObjectDiminishingChanged
EventObjectDiminishingGroupChanged
FunctionGuildGetBuffs
FunctionObjectGetBuffBySysName
FunctionObjectGetBuffCount
FunctionObjectGetBuffDynamicInfo
FunctionObjectGetBuffInfo
FunctionObjectGetBuffInstances
FunctionObjectGetBuffRanks
FunctionObjectGetBuffs
FunctionObjectGetBuffsInfo
FunctionObjectGetBuffsWithProperties
FunctionObjectGetBuffSysName
FunctionObjectGetBuffTooltipInfo
FunctionObjectGetDiminishingState
FunctionObjectHasBuffManager
FunctionObjectIsValidBuff
FunctionObjectRemoveBuff


CategoryLuaApi CategoryFunction CategoryObject CategoryBuff

На главную