Project1

标题: 如何让毒基于施毒者法强而不是中毒者生命百分比(已解决 [打印本页]

作者: catxiaolang    时间: 2023-8-9 21:43
标题: 如何让毒基于施毒者法强而不是中毒者生命百分比(已解决
本帖最后由 catxiaolang 于 2024-1-23 18:55 编辑

===2024年1月23日更新===

Visu中的实现方法如下(发帖当时完全不懂脚本,没看明白这一段)

所需插件:

VisuMZ_0_CoreEngine
VisuStella MZ - Skills & States Core


帮助文本中相关段落的汉化:

在 RPG Maker 中,"Slip Damage" 指的是随着时间推移而产生的伤害。以下注释标签允许您执行自定义的持续伤害/持续治疗。

【持续伤害】

<JS type Slip Damage>
code
code
damage = code;
</JS type Slip Damage>

- 用于:状态注释
- 该代码用于确定在每个再生阶段对受影响单位造成多少持续伤害。
- 将'type'替换为'HP'、'MP'或'TP'。
- 将'code'替换为计算持续伤害的具体公式。
- 'user'变量表示状态来源单位。
- 'target'变量表示受到伤害的受影响单位。
- 'state'变量表示当前受影响的状态。
- 'damage'变量是最终要造成的持续伤害值。
- 当这些状态通过行动效果应用时,持续伤害的计算是一次性的,在应用时进行计算,并将伤害缓存以便于未来的再生计算中使用。
- 因此,请勿在此处包含游戏机制,比如添加状态、增益、减益等,因为此注释标签仅用于计算。请使用VisuStella Battle Core的<JS Pre-Regenerate>和<JS Post-Regenerate>注释标签来处理游戏机制。
- 被动状态和带有<JS Slip Refresh>注释标签的状态不受一次性计算的影响,它们在每个再生阶段都会重新计算。

【持续治疗】

<JS type Slip Heal>
代码
代码
heal = code;
</JS type Slip Heal>

- 用于:状态备注标签
- 代码用于确定在每个再生阶段向受影响单位施加多少持续恢复效果。
- 将 'type' 替换为 'HP'、'MP' 或 'TP'。
- 将 'code' 替换为用于确定持续恢复效果的计算代码。
- 'user' 变量指向状态的施加来源。
- 'target' 变量指向接收恢复效果的受影响单位。
- 'state' 变量指当前受到影响的状态。
- 'heal' 变量为最终持续恢复值。
- 当这些状态通过行动效果应用时,持续恢复计算仅进行一次,并将伤害缓存以备将来的再生计算使用。
- 因此,请不要在此处包含游戏机制,例如添加状态、增益、减益等,因为此标签仅用于计算。请改用VisuStella Battle Core插件的 <JS Pre-Regenerate> 和 <JS Post-Regenerate> 标签处理游戏机制。
- 被动状态和带有 <JS Slip Refresh> 标签的状态不受一次性计算的影响,并且会在每个再生阶段重新计算。

【将伤害/治疗值从快照机制转化为动态变化】

<JS Slip Refresh>

- 用于:状态备注标签
- 在每个再生阶段开始时刷新JS Slip伤害/恢复量的计算,以实现动态伤害范围。






===原帖==================

同样待实现的还有HOT治疗,以及基于自身为他人附加攻击力等状态。

这种在现今游戏中常见的设定在MZ中却没有。
而是用了毒伤基于中毒者生命百分比这种设定。

搜索了一些过去的提问,解决这个要么是用MV,要么语焉不详。
翻了visu系列里关于state的一些插件也没有找到结果,不知道是它没有这个功能还是我蠢没找到。

另外楼主很多其它功能的实现都基于Visu系列插件,希望解决方法没有兼容性冲突。
求教大佬们了。


===已解决===

插件已上传至附件
感谢暴走的露露推荐该插件
NRP_StateEX.zip (8.96 KB, 下载次数: 28)

原地址
https://newrpg.seesaa.net/article/488957733.html
作者: 余杭    时间: 2023-8-9 22:04
毒伤是生命值百分比是因为是通过状态的特性,生命回复造成的,既然你在使用visu,自己定义一个回合开始的伤害代码不就行了,状态名字就叫中毒
作者: catxiaolang    时间: 2023-8-9 22:10
余杭 发表于 2023-8-9 22:04
毒伤是生命值百分比是因为是通过状态的特性,生命回复造成的,既然你在使用visu,自己定义一个回合开始的伤 ...

我在visu里没有找到应用于状态的回合开始时触发的代码,而且我自己不懂代码,关于代码的部分就让chatGPT教我,然而这个问题它也没答上来。
作者: 暴走的露露    时间: 2023-8-9 23:11
本帖最后由 暴走的露露 于 2023-8-9 08:13 编辑

NRP插件:NRP官网插件链接

其中一个功能就是让中毒不再是百分比伤害,可以和施法者能力值关联。
生肉,你看看合不合适。

至于简单一点的,让中毒啊恢复啊之类的效果不再是百分比而是指定值,这种插件挺多的。
不过和能力值关联的,目前我就晓得这一个。
作者: catxiaolang    时间: 2023-8-10 01:03
本帖最后由 catxiaolang 于 2023-8-10 01:17 编辑
暴走的露露 发表于 2023-8-9 23:11
NRP插件:NRP官网插件链接


其中一个功能就是让中毒不再是百分比伤害,可以和施法者能力值关联。


谢谢你露露,我的超人!

↓↓↓原回复已编辑↓↓↓原来是是慢性伤害导致死亡没勾选导致的


怎么用它呢?我测试了还是存在问题:
把用于治疗的命令改成负数<HrgExValue:-0.60 * a.mat>制作了一个毒,
这个伤害产生于角色行动前,敌人受到致死的毒伤害时即时血条空了也还是会继续行动,用普攻补一刀才会死。
然后把这个毒对友方也试了一下,受到致死伤害时会强制保留1滴血,敌人看不见血量数字,猜测也是这种情况。
作者: 309988769    时间: 2023-8-23 15:28
catxiaolang 发表于 2023-8-10 01:03
谢谢你露露,我的超人!

↓↓↓原回复已编辑↓↓↓原来是是慢性伤害导致死亡没勾选导致的

可以把插件发上来吗?去日站下载不了
作者: catxiaolang    时间: 2023-8-23 15:37
309988769 发表于 2023-8-23 15:28
可以把插件发上来吗?去日站下载不了

编辑到主楼啦




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