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

На главную


avatar.GetMetaUpgradeResults( sourceId, enhancerId, agentId, agentCount )

Возвращает предсказание по улучшению мета-предмета.

См. ENUM_UpgradeChanceBehavior_...

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

-- объявление:
function GetMetaUpgradeResults( sourceId, enhancerId, agentId, agentCount )

-- параметры:
sourceId: ObjectId - идентификатор улучшаемого предмета
enhancerId: ObjectId - идентификатор предмета-улучшителя
agentId: ObjectId - идентификатор предмета-агента, требуемого для улучшения
agentCount: number (integer) - количество используемых агентов

-- возвращаемые значения:
table or nil - если нет ошибок, то таблица с полями:
  canUpgrade: boolean - true, если есть возможность улучшить при таком сочетании параметров; false если возможности улучшить предмет нет
  upgradeChance: nil or number - шанс моментального/двойного улучшения в промежутке [0, 1]; если возможности улучшить нет, то nil
  upgradeChanceBehavior: nil or number (enum ENUM_UpgradeChanceBehavior_...) - поведение при срабатывании шанса моментального/двойного улучшения
  sysUpgradeChanceBehavior: nil or string (enum "ENUM_UpgradeChanceBehavior_...") - поведение при срабатывании шанса моментального/двойного улучшения
  sysUpgradeVector: int (enum META_UPGRADE_...) - что улучшается при срабатывании шанса моментального/двойного улучшения: качество или уровень
  improvement: nil or number (float) - какая степень улучшения будет у результата после операции в промежутке [0, 99]; если возможности улучшить нет, то nil
  maxImprovement: nil or number (float) - наибольшая возможная степень улучшения (при бесконечном значении agentCount) в промежутке [0, 100], предполагается что если improvement равен maxImprovement, то увеличивать agentCount бессмысленно (см. также поле isSingleUpgradeAgent у avatar.GetItemMetaInfo( itemId )); если возможности улучшить нет, то nil
  resultId: ObjectId (ItemId) - Id предмета, который получится, если мета-апгрейд предполагает замену предмета при склейке (sysUpgradeVector == "META_UPGRADE_ITEM")

-- пример:
local tryResult = avatar.GetMetaUpgradeResults( sourceId, enhancerId, agentId, 1 )
if tryResult and tryResult.canUpgrade then
  LogInfo( "Шанс улучшить: ", tryResult.upgradeChance * 100 )
end

См. также:

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

CategoryMeta
EnumMetaUpgrade
EnumUpgradeChanceBehavior
EventForgeCraftDialog
EventMetaDialog
EventMetaUpgradeBreak
EventMetaUpgradeResult
FunctionAvatarConvertMetaEnhancer
FunctionAvatarDuplicateMetaEnhancerItem
FunctionAvatarGetMetaUpgradeCost
FunctionAvatarGetMetaUpgradeResults
FunctionAvatarIsMetaEnhancerDuplicator
FunctionAvatarShowMetaUpgradeDialog
FunctionAvatarUpgradeMetaItem
FunctionCanPlaceMetaUpgradeAgent
FunctionCanPlaceMetaUpgradeEnhancer
FunctionCanPlaceMetaUpgradeSource
FunctionItemLibGetMetaInfo
FunctionItemLibGetRelatedQuestObjectives
FunctionItemLibGetUniversalMetaEnchancerItems


CategoryLuaApi CategoryFunction CategoryAvatar CategoryMeta

На главную