【问题标题】:How to determine what is the current amount of damage that will be staggered?如何确定当前错开的伤害量是多少?
【发布时间】:2019-03-09 08:15:42
【问题描述】:

我一直在查看魔兽世界的 API,以某种方式获得当前被击中时会错开的伤害量的值(武僧类)。所以要明确一点,我确实想通过调用 UnitStagger 来获取当前的交错数量,而是在命中发生之前将被添加到交错池中的当前命中数量。

困难的方法是从 Stagger 被动获得当前 35% 的基线,并添加来自技能和天赋的值,例如 High Tolerance 以及可能的饰品或传奇物品。然后通过不断地监控 procs 来确定值。

当做GetDodgeChance 时,我得到了当前的闪避机会。在做GetParryChance 时,我得到了招架的机会。以同样的方式,我一直在寻找可以让我得到GetStaggerPercentage() 之类的东西。有没有一种简单的方法可以确定在任何特定时刻会错开多少伤害?

【问题讨论】:

  • 正如描述所说,所受物理伤害的 35% 会添加到在接下来的 10 秒内交错的池中。我不明白您为什么需要 GetStaggerPercentage() 函数。不清楚你想要什么。如果您在交错池中有 1000 dmg,您是否有兴趣让我们说一下 4 秒后您会受到多少伤害?或者是什么?请细化您的问题,添加示例,添加数字,代码...
  • @Piglet 因为这个 (35%) 数量会随着技能的使用而动态变化,例如 Ironskin Brew (+40%)、Frotifying Brew ( +20%),高容忍度 (+10%)。在我看来,这个问题是理智和有效的,我要求一种简单的方法来确定价值,而不是进行额外的检查。
  • 您经常会在 API 中找到简单的砖块,您必须自己组合才能获得想要的东西。如果 WOW API 参考没有列出这样的函数(我假设你已经检查过),那么除了自己拼凑之外别无他法。

标签: lua add-on world-of-warcraft


【解决方案1】:

来自'BlizzardInterfaceCode' GitHub repo

function PaperDollFrame_SetStagger(statFrame, unit)
    local stagger, staggerAgainstTarget = C_PaperDollInfo.GetStaggerPercentage(unit);
    PaperDollFrame_SetLabelAndText(statFrame, STAT_STAGGER, BreakUpLargeNumbers(stagger), true, stagger);
...

因此,C_PaperDollInfo.GetStaggerPercentage("player") 可以获得交错数量(如在角色统计视图中)。这不是一个“哇 api”调用,但它确实有效。

【讨论】:

    猜你喜欢
    • 2011-07-18
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    相关资源
    最近更新 更多