Project1

标题: [已解决][visu]如何创建基于剩余回合数影响角色属性的状态? [打印本页]

作者: catxiaolang    时间: 2024-2-9 03:21
标题: [已解决][visu]如何创建基于剩余回合数影响角色属性的状态?
本帖最后由 catxiaolang 于 2024-2-13 11:33 编辑

2024年2月13日编辑:
找到了,在核心引擎里,之前一直在技能状态核心和从第一层往下找,没想到就在最上面

相关功能:

=== JavaScript备注标签:基础、X和S参数 ===

以下是为具有JavaScript知识的用户制作的备注标签。这些
备注标签主要针对基础、X和S参数。

---

<JS param Plus: code>

- 用于:角色、职业、武器、防具、敌人、状态备注标签
- 运行'code'以更改'param'的加值。
- 将'param'替换为'MaxHP'、'MaxMP'、'ATK'、'DEF'、'MAT'、'MDF'、'AGI'、
  或'LUK'来确定要修改哪个参数。
- 将'code'替换为JavaScript代码,以确定如何更改参数总计算中的
  加值部分。
- 用于计算参数设置=> 基础参数 => 公式中的'plus'部分。

---

<JS param Rate: code>

- 用于:角色、职业、武器、防具、敌人、状态备注标签
- 运行'code'以更改'param'的比率值。
- 将'param'替换为'MaxHP'、'MaxMP'、'ATK'、'DEF'、'MAT'、'MDF'、'AGI'、
  或'LUK'来确定要修改哪个参数。
- 将'code'替换为JavaScript代码,以确定如何更改参数比率部分的
  总计算。
- 用于计算参数设置=> 基础参数 => 公式中的'paramRate'部分。

---

<JS param Flat: code>

- 用于:角色、职业、武器、防具、敌人、状态备注标签
- 运行'code'以更改'param'的平坦值。
- 将'param'替换为'MaxHP'、'MaxMP'、'ATK'、'DEF'、'MAT'、'MDF'、'AGI'、
  或'LUK'来确定要修改哪个参数。
- 将'code'替换为JavaScript代码,以确定如何更改参数总计算中的
  平坦奖金部分。
- 用于计算参数设置=> 基础参数 => 公式中的'flatBonus'部分。

---

<JS param Max: code>

- 用于:角色、职业、武器、防具、敌人、状态备注标签
- 运行'code'以确定'param'的最大上限应该是什么。如果单位有
  多个最大上限,则选择最高的一个。
- 将'param'替换为'MaxHP'、'MaxMP'、'ATK'、'DEF'、'MAT'、'MDF'、'AGI'、
  或'LUK'来确定要修改哪个参数。
- 将'code'替换为JavaScript代码,以确定所需参数的最大上限。

---

<JS xparam Plus: code>

- 用于:角色、职业、武器、防具、敌人、状态备注标签
- 运行'code'以更改'xparam'的加值。
- 将'xparam'替换为'HIT'、'EVA'、'CRI'、'CEV'、'MEV'、'MRF'、'CNT'、
  'HRG'、'MRG'、'TRG'来确定要修改哪个X参数。
- 将'code'替换为JavaScript代码,以确定如何更改X参数总计算中的
  加值部分。
- 用于计算参数设置=> X参数 => 公式中的'plus'部分。

---

<JS xparam Rate: code>

- 用于:角色、职业、武器、防具、敌人、状态备注标签
- 运行'code'以更改'xparam'的比率值。
- 将'xparam'替换为'HIT'、'EVA'、'CRI'、'CEV'、'MEV'、'MRF'、'CNT'、
  'HRG'、'MRG'、'TRG'来确定要修改哪个X参数。
- 将'code'替换为JavaScript代码,以确定如何更改X参数比率部分的
  总计算。
- 用于计算参数设置=> X参数 => 公式中的'paramRate'部分。

---

<JS xparam Flat: code>
- 用于:角色、职业、武器、防具、敌人、状态备注标签
- 运行'code'以更改'xparam'的平坦值。
- 将'xparam'替换为'HIT'、'EVA'、'CRI'、'CEV'、'MEV'、'MRF'、'CNT'、
  'HRG'、'MRG'、'TRG'来确定要修改哪个X参数。
- 将'code'替换为JavaScript代码,以确定如何更改X参数总计算中的
  平坦奖金部分。
- 用于计算参数设置=> X参数 => 公式中的'flatBonus'部分。

---

<JS sparam Plus: code>

- 用于:角色、职业、武器、防具、敌人、状态备注标签
- 运行'code'以更改'sparam'的加值。
- 将'sparam'替换为'TGR'、'GRD'、'REC'、'PHA'、'MCR'、'TCR'、'PDR'、
  'MDR'、'FDR'、'EXR'来确定要修改哪个S参数。
- 将'code'替换为JavaScript代码,以确定如何更改S参数总计算中的
  加值部分。
- 用于计算参数设置=> S参数 => 公式中的'plus'部分。

---

<JS sparam Rate: code>

- 用于:角色、职业、武器、防具、敌人、状态备注标签
- 运行'code'以更改'sparam'的比率值。
- 将'sparam'替换为'TGR'、'GRD'、'REC'、'PHA'、'MCR'、'TCR'、'PDR'、
  'MDR'、'FDR'、'EXR'来确定要修改哪个S参数。
- 将'code'替换为JavaScript代码,以确定如何更改S参数比率部分的
  总计算。
- 用于计算参数设置=> S参数 => 公式中的'paramRate'部分。

---

<JS sparam Flat: code>

- 用于:角色、职业、武器、防具、敌人、状态备注标签
- 运行'code'以更改'sparam'的平坦值。
- 将'sparam'替换为'TGR'、'GRD'、'REC'、'PHA'、'MCR'、'TCR'、'PDR'、
  'MDR'、'FDR'、'EXR'来确定要修改哪个S参数。
- 将'code'替换为JavaScript代码,以确定如何更改S参数总计算中的
  平坦奖金部分。
- 用于计算参数设置=> S参数 => 公式中的'flatBonus'部分。

[line]1[/line]

visu技能状态核心提供的以下功能,能否基于这个功能,创建基于状态回合数改变角色属性的状态?

例如:
增加50%乘以状态持续回合数的攻击力,同时在状态被擦除或过期时移除这些影响。

如果这是可行的,如何用脚本表达它?

[line]1[/line]

visu技能状态核心提供的功能:

使用JavaScript代码,您可以创建在状态被添加、擦除或过期时触发的自定义效果。

---

<JS On Add State>
code
code
</JS On Add State>

- 适用对象:状态备注
- 当状态被添加时,运行此备注标签中添加的代码。
- 'user' 变量指代当前主动的战斗者。
- 'target' 变量指代受到此状态影响的战斗者。
- 'origin' 变量指代应用此状态的源头。
- 'state' 变量指代当前正在受到影响的状态。

---

<JS On Erase State> 代码 代码 </JS On Erase State>

- 用途:状态标签
- 当一个状态被删除时,运行此标签中添加的代码。
- 'user'变量指的是当前正在行动的战斗者。
- 'target'变量指的是受此状态影响的战斗者。
- 'origin'变量指的是施加此状态的人。
- 'state'变量指的是当前受影响的状态。

---

<JS On Expire State>(仅限自然过期)
代码
代码
</JS On Expire State>

- 用于:状态注释标签
- 当状态已过期时,运行此注释标签所添加的代码。
- 'user' 变量指代当前行动的战斗者。
- 'target' 变量指代受到该状态影响的战斗者。
- 'origin' 变量指代施加此状态的来源。
- 'state' 变量指代当前正在受影响的状态。

[line]1[/line]

同时也产生了另一个问题,如果状态A为角色添加了50%攻击力,而在状态被移除前,角色又被新添加了一个状态B,为角色带来了攻击力乘以二的影响。
此时A在消除自身影响时,能否正确处理B带来的那部分数值变化呢?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1