npm 包 gw2-itemstats 使用教程

阅读时长 10 分钟读完

介绍

gw2-itemstats 是一个可以用于计算各类 Guild Wars 2 道具属性的 npm 包。它可以帮助你计算各种加成和属性,例如各类基础属性(如力量、灵巧等)、各类加成(如力量加成、愤怒加成等)、各类吸收(如伤害吸收、攻击吸收等)等。本文主要介绍如何使用 gw2-itemstats 这个 npm 包。

安装

在使用 gw2-itemstats 之前,我们需要先安装它。在命令行中运行以下命令即可完成安装:

使用

安装完成后,我们就可以在自己的项目中使用 gw2-itemstats 了。下面是一个简单的使用示例:

-- -------------------- ---- -------
----- - ---------- --------- --------------- ---------- - - -------------------------

-- ------
----- -------- - --- --------------------- -----
----- --------- - --- ---------------------- ----
----- -------- - --- --------------------- ----

-- ----
----- ----- - --- ----------------- ----
----- --------- - --- --------------------- ----
----- ------- - --- ------------------- ----

-- ----
----- ----- - --- ------------------- ------
----- ---------- - --- ------------------------ ----

-- ----
----- ------ - ---------------------
  ---------
  ----------
  ---------
  ------
  ----------
  --------
  ------
  -----------
---

--------------------

输出结果如下:

-- -------------------- ---- -------
-
  --------- ----
  ---------- ---
  --------- ---
  ------ ---
  ---------- ---
  -------- ---
  ------ -----
  ----------- ---
  ------- -----
  ----------- --------------------
  ------------------------ -------------------
  ---------- ------
  -------------- -----
  --------------------------- -----
  --------------------------------- -------------------
  ---------------------------------- --
  --------------------------------- --
  ---------------------------------- -
-

可以看到,计算结果包含了各类基础属性、加成和吸收,以及计算后的各类属性值。下面我们将逐个介绍其中的各个概念和属性。

Attribute

Attributegw2-itemstats 中最基础的概念,它表示一个基础属性。每个 Attribute 由两个参数构成:名称和数值,例如下面这个例子:

表示玩家的力量属性为 100。目前支持的基础属性包括:

  • Power:力量
  • Precision:灵巧
  • Ferocity:残暴
  • Vitality:体力
  • Toughness:韧性
  • Healing:治疗效果
  • ConditionDamage:症状造成
  • ConditionDuration:症状持续时间
  • BoonDuration:增益持续时间

Additive

Additive 是加成的概念,它表示一个可以增加基础属性数值的项。每个 Additive 由两个参数构成:名称和数值,例如下面这个例子:

表示玩家装备的武器有 10 点力量加成。目前支持的加成包括:

  • Power:力量加成
  • Precision:灵巧加成
  • Ferocity:残暴加成
  • Vitality:体力加成
  • Toughness:韧性加成
  • Healing:治疗效果加成
  • ConditionDamage:症状造成加成
  • ConditionDuration:症状持续时间加成
  • BoonDuration:增益持续时间加成
  • CritChance:暴击率加成
  • CritDmg:暴击伤害加成

Multiplicative

Multiplicative 是属性乘法的概念,它表示一个可以乘以基础属性数值的项。每个 Multiplicative 由两个参数构成:名称和数值,例如下面这个例子:

表示玩家的残暴属性数值要乘以 1.5。目前支持的乘法属性包括:

  • ConditionDamageMultiplier:症状造成乘法
  • CritChanceWithPrecision:考虑到灵巧的暴击率乘法
  • CritPower:暴击伤害乘法
  • IncomingPhysicalDamageMultiplier:受到物理伤害的乘法
  • IncomingConditionDamageMultiplier:受到症状造成的乘法
  • OutgoingPhysicalDamageMultiplier:造成物理伤害的乘法
  • OutgoingConditionDamageMultiplier:造成症状造成的乘法

Absorption

Absorption 是吸收的概念,它表示一个可以吸收伤害的项。每个 Absorption 由两个参数构成:名称和数值,例如下面这个例子:

表示玩家的护甲值为 1000,可以吸收一定伤害。目前支持的吸收项包括:

  • Armor:护甲吸收
  • ArmorPenetration:护甲穿透
  • Protection:免伤吸收
  • IncomingPhysicalDamageReduction:受到物理伤害的减免
  • IncomingConditionDamageReduction:受到症状造成的减免
  • OutgoingPhysicalDamageMultiplier:造成物理伤害的乘法
  • OutgoingConditionDamageMultiplier:造成症状造成的乘法

Attribute.calculate

Attribute.calculategw2-itemstats 中最关键的计算函数,它接收一个 Array 类型的参数,参数中包含了基础属性、加成、乘法和吸收等所有需要计算的属性,帮助我们计算出最终的结果。例如下面这个例子:

-- -------------------- ---- -------
----- ------ - ---------------------
  ---------
  ----------
  ---------
  ------
  ----------
  --------
  ------
  -----------
---

计算结果将包含各类属性和计算后的值。这些值包括:

  • Health:总生命值
  • CritChance:暴击率
  • CritChanceWithPrecision:灵巧考虑后的暴击率
  • CritPower:暴击伤害
  • ArmorAdjusted:默认的护甲吸收
  • ArmorAdjustedWithToughness:包括韧性的护甲吸收
  • IncomingPhysicalDamageMultiplier:受到物理伤害的乘法
  • IncomingConditionDamageMultiplier:受到症状造成的乘法
  • OutgoingPhysicalDamageMultiplier:造成物理伤害的乘法
  • OutgoingConditionDamageMultiplier:造成症状造成的乘法

示例

下面是一个完整的示例,它演示了如何计算一个具有力量 200、灵巧 100、残暴 50、体力 1000、韧性 500、护甲 2000、免伤 25%、攻击吸收 10 且包含一个症状造成加成的行会崇拜者装备的属性值。

-- -------------------- ---- -------
----- - ---------- --------- --------------- ---------- - - -------------------------

-- ------
----- -------- - --- --------------------- -----
----- --------- - --- ---------------------- -----
----- -------- - --- --------------------- ------

-- ----
----- --------- - --- --------------------- -----
----- -------- - --- -------------------- ----
----- --------------- - --- --------------------------- ----

-- ------
----- ----------------------- - --- ----------------------------------------- -----

-- ----
----- ----- - --- ------------------- ------
----- ---------- - --- ------------------------ ----
----- ---------------- - --- ------------------------------ ----

-- ----
----- ------ - ---------------------
  ---------
  ----------
  ---------
  ----------
  ---------
  ----------------
  ------------------------
  ------
  -----------
  -----------------
---

--------------------

输出结果如下:

-- -------------------- ---- -------
-
  --------- ----
  ---------- ----
  --------- -----
  ---------- ----
  --------- ---
  ---------------- ---
  ------------------------ --------------------
  ------ -----
  ----------- ---
  ----------------- ---
  ------- ------
  ----------- --------------------
  ---------- -------
  -------------- -----
  --------------------------- -----
  --------------------------------- -------------------
  ---------------------------------- -------------------
  --------------------------------- --
  ---------------------------------- ------------------
-

可以看到,这个角色的总生命值为 27685,暴击率为 9.47%,暴击伤害为 1562.5,护甲吸收为 2000,护甲吸收加上韧性属性共 2795,表示玩家总的伤害减免为 51.28%。另外,这个角色受到的症状造成伤害乘以 1.15,造成的症状造成伤害乘以 1.16(因为有行会崇拜者套装加成)。

总结

gw2-itemstats 是一个非常强大的 npm 包,可以帮助我们轻松计算 Guild Wars 2 中各种复杂的属性和加成。本文中我们介绍了 AttributeAdditiveMultiplicativeAbsorption 等各类概念和属性,及其使用方法。希望本文能够帮助大家更好的学习和应用 gw2-itemstats 包。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005680581e8991b448e428d

纠错
反馈