找回密码
 点一下
查看: 1023|回复: 6

限制减伤,暴击,闪避等不超过100%比较高效的办法。

[复制链接]
发表于 2020-9-12 04:05:13 | 显示全部楼层 |阅读模式
本帖最后由 Nostalie 于 2020-9-18 21:52 编辑

众所周知,rpg里闪避。减伤。暴击率这些 一般不要超过100%。特别前两者。
目前已知的方法。


第一种是  数据编辑器

减伤属性有几点就叠加几个修改系数0.99伤害响应增益行为。多个伤害响应之前的修改系数是连乘(为了区分把那种初值为0的百分比加成系数啥的叫累乘。虽然数学上累乘也是。)。0.99*n……永远大于0。n是可以超过100的减伤属性。
闪避也是同理。0.01的几率闪避。总有0.99^n的概率闪避失败。
某制作精良但是万年没有人气的moba图(AOS)就是这个做法。


暴击的话也是用伤害响应做。几率0.01。修改系数就是暴击倍数。记得设置位置在攻击者身上。要注意的是暴击响应成功之后。后面的暴击响应就必须失败。为了实现不重复暴击修正,还要稍微用到一点触发器。暴击伤害响应成功的同时要给被攻击者添加一个正在被暴击行为(在被控制的哪里填上应用行为效果)。然后暴击行为响应的。验证器里再进行验证该单位是不是正在被暴击。之后再通过触发器单位受伤事件删掉该正在被暴击行为。原理类似头目演示过的暴击飘字。由于是单核游戏。。所以会处理玩这个伤害的所有事情。再去处理其他伤害的事情。应该不会有问题。

第二种  触发器+数据编辑器

新建一个提供-0.01伤害承受百分的减伤率属性。而原来的减伤属性留空(不造成实际影响)。当减伤属性发生变动时。通过触发器计算数学公式把超过100的值调到100内。同时保证单调递增。有很多这种函数。然后给单位设置n个真正有功能的减伤率属性。

优点是计算伤害时应该会流畅。如果公式不复杂。属性变动时也不会很卡。

但有一个严重的问题是。。。伤害承受百分比不能只能根据伤害种类响应(就是近战、远程、法术这些)。不能像伤害响应那样特定伤害类型。(暗影突袭、冰冻、防御性)甚至具体几个伤害响应。

如果修改系数有也能使用累加器就好了。。。我们可以还是通过伤害响应做,只不过这次只需要的是1层。而在修改系数里加入累加器。使用算术累加器嵌套公式为100/100+护甲。就可以了。
感觉这是目前最高效简单的办法了。






 楼主| 发表于 2020-9-13 21:20:11 | 显示全部楼层
说一句题外话,
两种减伤公式
0.99^n
100/100+n
更加推荐第二种。
简单更加好用。
而第一种的话。不但累加器不能直接实现。要实现就得靠触发器。或者叠加n层行为。还会导致攻防失衡。攻击要以1.01^n成长。
这在开放游戏数值环境下(就是各种属性能成长的非常高)会很麻烦。仅仅适用像moba那样的单局游戏。而且即使是moba那样也容易经济碾压防御过高。
回复

使用道具 举报

发表于 2022-8-22 17:13:04 | 显示全部楼层
Nostalie 发表于 2020-9-13 21:20
说一句题外话,
两种减伤公式
0.99^n

其实第一种也能实现,算术里操作有个叫能量的,英文是power,当了,缺点很明显,消耗太大,肯定不如第二种简单粗暴,还方便控制,甚至可以根据某些参数(boss等级,游戏难度等)来选择n的大小,达到类似魔兽世界里面不同阶段的副本需要不同数值的护甲才能达到相同减伤的效果
回复

使用道具 举报

 楼主| 发表于 2022-8-23 15:33:01 | 显示全部楼层
本帖最后由 Nostalie 于 2022-8-23 15:38 编辑
滚筒洗衣机 发表于 2022-8-22 17:13
其实第一种也能实现,算术里操作有个叫能量的,英文是power,当了,缺点很明显,消耗太大,肯定不如第二 ...

现在回头看,所有此类问题都没意义了想要自定义比较复杂的伤害修正系统
Dummy增益伤害响应系数0+触发器行为吸收伤害事件,进行修正之后给出最终伤害是最方便的
回复

使用道具 举报

发表于 2022-9-2 00:02:23 | 显示全部楼层
最近想做技能暴击,暴击倍率倒是很容易,修改用户数据效果+累加器就行。

暴击率的话,还没想好。通过修改玩家效果调整触发几率貌似可以,但是一个技能链下来好像还得恢复触发几率,还是触发器方便点。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-12-4 01:52 , Processed in 0.196854 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表