铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 8246|回复: 18

[技巧心得] 苍炎之伤害系统解析

  [复制链接]
发表于 2012-1-29 12:13 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
本帖最后由 btxdex 于 2012-1-30 00:23 编辑

注:这是一个数据贴
SYP大大发布了905源码版,非常感谢!果断拿来分析一下这些迷惑我已久的原理。这里先分析战斗函数,也就是一个伤害计算的公式和流程。说实话用处不大。
以下内容都在hurtlife函数里面。这里就是具体伤害值的落实,防御特效发动判定也在这里,攻击特效的发动判定都在另一个fight_sub函数里面。

1.判断是否护体,蛤蟆功比较特殊这里不解析了。增加气防(都懂)
2.判断防御状态。如果是则增加500点气防,练了八荒增加1000点。这里不做减伤计算。
3.判定风林防御效果的发动(仅仅是判定),和大家猜想的一样
-判断人物id(主角),护体内功代号91,已经触发过华山观武,并且不是特殊人物
    -判断伤害来源为敌人
    -给变量t一个1~4的随机值
    -是仁者并且没拿到六如,则给t赋予随机1~2加上1的值(只要风林护体必发动特效)
    -t等于3发动其徐如林,t等于2发动不动如山(普通主角护体50%发动林山特效)
    -如果t不等于3或者2
        -判定是否仁者,是则必发动如阴(所以有了六如反而不动和如林发动少了)
        -不是仁者40%发动如阴
    总结:普通主角六如护体70%发动六如特效,20%如阴,25%如山,25%如林
               仁者六如护体100%发动六如特效,50%如阴,25%如山,25%如林

4.个别敌人直接增加气防1000点到1500都有
5.判定北冥真气护体,发动则气防增加800点
6.判定斗转的发动,300兵器值就是这里判定的,判断成功就减少挨打方3点体力
7.开始计算伤害,初始值0,先是武功威力
    -第一步是计算武功威力,到极(或者是10级,懒得往回翻了)的情况是伤害等于武功威力/3,如果不是那么/4。
    -判断无名刀法增加伤害,增加其增加的威力/3
    -增加武器搭配武功的伤害,增加附加威力/4
    -判断太极拳是否借力打力的伤害增加,最多增加200点
8.现在引入攻击力防御力的计算
    -首先获取攻击方的攻击力,挨打防的防御力
    -计算夫妻加成
    -计算内力对攻防的加成
9.获取人物内力加成值数,(当前内力值*2+最大内力值)/3
    -判断人物是否在队伍中(NPC光环),否则加成指数为1.5或2(难度因素),并且(伤害*1.2再加30),是则加成指数为1
10.攻击力增加,(内力加成值数/50)*加成指数
11.伤害增加:攻击力/4的值
12.计算武学常识(刚开始就计算了武学常识的数值,大概就是获取队伍内目前生存的人物的最大的大于10的武学常识值,挨打方最少有50点武学常识(不确认)
    -伤害增加:(攻击方武学-挨打方武学)/2的值
13.再次计算加成指数。在队伍内指数为1,不是则为1.5或2
14.防御力增加:(内力加成值数/40)*加成指数+敌人武学常识
15.攻击力增加:攻击方武学常识+杀集气/10 (仅限招式和加力的杀集气,都在另一个函数里面计算的)
16.伤害*(攻击力/(攻击力+防御力)
17.如果攻击方不在队伍中,并且有蛤蟆功附加的伤值,增加伤害。具体不解析
18.武器防具的伤害增加减少:
    -伤害值增加:随机(0.5~1)*武器防具提供的攻击力加成
    -伤害值减少:随机(0.5~1)*武器防具提供的防御力加成
19.伤害减少:防御力/8的值
20.伤害根据内伤体力中毒增加减少
    -减少目前气防/30的伤害(这个就是护体对于伤害的影响)
    -加上攻击挨打方体力差,(攻击方体力/5-挨打方体力/5)
    -加上受伤(内伤)差,(攻击方受伤/3-挨打方受伤/3) 注:后面还会计算一次额外的内伤影响
    -加上中毒差,(攻击方中毒/2-挨打方中毒/2)
21.距离因素。计算xy坐标差。
    -小于10,减少(坐标差-1)*3%的伤害
    -大于10,直接减少1/3伤害
22.一系列的特效伤害集气加成,包括暴击拳刀九阳九阴等等等。。。。。不解析。注:不是直接叠加的
补正:这里还有一个内伤计算漏掉了
    -玩家人物攻击时伤害减少(攻击人内伤*0.002)%
    -玩家人物挨打时伤害增加(挨打人内伤*0.0015)%
23.兵器值减伤(内功随机属性)
    -伤害*(1.2-(挨打方受到的对应武功类型的兵器值/240))  
24.两个人的天赋减伤特效,不解析
25.蓄力附加伤害,无龙象是1.25倍,有是1.4倍
26.防御减少伤害,25%,40%
27.连击减伤30%减杀气30%
28.难度伤害计算

    -难度1玩家挨打到60%伤害,玩家攻击70%伤害,难度值6
    -难度2玩家挨打到100%伤害,玩家攻击65%伤害,难度值5
    -ELSE玩家挨打到110%伤害,玩家攻击60%伤害,难度值4(905貌似木有这个难度?神马情况?)
29.增加伤害再判定
    -攻击方在队内,再判定伤害值=(攻击力/7 + 随机1~5)
    -不在队内,再判定伤害值=(攻击力/(难度值) + 随机1~20) 注:(难度值=[6,5,4])
如果伤害值小于再判定伤害值,则伤害值=再判定伤害
30.若干特效减伤加伤等等等(没有注释都是拼音简写太蛋疼了)
注1:天罡护体原理:WAR.JSTG这个变量储存天罡护体的吸收伤害值(每次发动+多少等我晚点查)。如果伤害小于这个值,WAR.JSTG-伤害值,人物受到伤害固定为(5+随机6),敌人杀集气减半。如果伤害大于这个值,那么伤害-WAR.JSTG,杀集气值不减少。
注2:乾坤的反弹伤害基本上是在最后结算伤害前算的
31.伤害结算1:我方误伤*50%+随机值(3),敌方误伤*20%+随机值(3)
32.伤害结算2:挨打方在队伍内直接扣血,不在伍内扣血50%
注:31,32这两点我不太懂。。
33.储存伤害值以供太极拳借力打力

后面是一系列关于生命内力中毒受伤的特效效果。
最后是杀集气判断,SYP大写过了,有时间我会把杀集气和破防判定先后重新再写出来(刀大招,天地独尊,龙象,八荒等)

如果你认真看完了,那么你一定也头晕了,也蛋疼了。这些数据都是虚的,具体实战效果大家玩这么久差不多也都知道了。只不过我是个数据党,如果还有和我一样的数据党可以参考这个。这里很多特效的前后优先没有列举,因为我太懒。。。一个简单判定发动前后顺序的就是看特效动画,同时发动多个特效的时候看显示的是那个特效动画,显示的那个就是后发动的。代码很容易懂,如果有问题自己去查代码是最好的。里面完美解释了疑惑大家很久的特效发动的问题。

最后打个广告:目前我在武者修罗制作组做mod中(见diy区),当时源码没公布,我们要移植,所以果断移植到苍半上去了。。。所以大家敬请期待武者修罗独立mod!(大家还是先指望龙人版吧。。。)






评分

参与人数 1声望 +8 收起 理由
tsmdsyp + 8 好帖奖励

查看全部评分

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 12:29 | 显示全部楼层
虽然看的晕
还是支持一下

点评

感谢苏少支持  发表于 2012-1-29 12:54
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 12:37 | 显示全部楼层
感谢LZ,让我解决了很多困惑已久的问题

点评

如果还有非常困惑的问题我可以帮你看看。。。  发表于 2012-1-29 12:53
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 12:37 | 显示全部楼层




好資料阿,一定要頂上來!!


也期待閣下大作。



点评

谢谢支持。大作还很遥远。。。  发表于 2012-1-29 12:54
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 12:56 | 显示全部楼层
前排支持下,期待作品更新~

点评

作品还很遥远。  发表于 2012-1-29 13:46
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 13:21 | 显示全部楼层
本帖最后由 xiaoyaojx 于 2012-1-29 13:32 编辑

先顶后看
这东西我想知道很久了,最近有了源码但没时间研究


已经看完
我表示这个战斗函数判定太蛋疼,而且修改起来难以下手

点评

蛋疼是真,但是修改并不复杂  发表于 2012-1-29 13:47
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 13:27 | 显示全部楼层
lz辛苦了,很有价值的东西。我想知道内功加力的优先级问题,同级内功的排序,例如葵花和逆运谁比较靠前~楼主如果没时间查看,可以告诉我大概在什么文件去找~

点评

明白了,解释的非常充分具体,谢谢~  发表于 2012-1-29 14:33
如果葵花判定成功,则赋予内攻加力变量葵花的id,气防=该内功威力。然后继续判定逆运,如果逆运判定成功,则继续判定该内功的威力是否大于现有威力,逆运葵花同为1100,所以判定失败,但如果是易筋经则会判定成功。  发表于 2012-1-29 13:59
有时间我会再解析一下特效发动几率的问题。发动几率是看myrandom和JLSD这两个函数。优先度是按照内功学习的前后判断的在War_Fight_Sub函数里面。比如说第一格葵花第二格逆运。先判定葵花,再判定逆运。如果逆运判定  发表于 2012-1-29 13:55
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 13:59 | 显示全部楼层
本帖最后由 xiaoyaojx 于 2012-1-29 14:06 编辑

回复 btxdex 的帖子

我说的修改是要实现自己的一些想法

如果我做的话
我肯定会全部重写的,按照我的想法弄出一个清晰的数据结构,其他什么的就容易弄了


我最擅长的就是数据了
只是添加特效什么的没意思
我要达到的效果是,我看到一个人物的数据和特效,对这个人物多强心里基本有数
而不是要弄张纸仔细算算,或者把人物弄出来测试一下

点评

实现自己的想法若是只直一些武功效果则比较最简单,可以直接在相应的位置增加内容,比如说龙人版DIY就是在最后结算伤害前给了一个函数接口让玩家去改。全部重写很需要考验制作者对于平衡性的理解。  发表于 2012-1-29 14:04
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 14:43 | 显示全部楼层
好资料, 赞一个.

21.距离因素。计算xy坐标差。 ------ 原来真的和我感觉的一样呀, 以前发现太岳剑攻击时, 剑尖扣血少一点, 靠近对方打会扣血多一点.

4.个别敌人直接增加气防1000点到1500都有   ----- 这个不太明白什么意思, 主角和队友会加气防? 比如打哪些敌人时呢? 还是说有些NPC气防值高?

9.获取人物内力加成值数,(当前内力值*2+最大内力值)/3
    -判断人物是否在队伍中(NPC光环),
17.如果攻击方不在队伍中,并且有蛤蟆功附加的伤值,增加伤害。
29.增加伤害再判定
    -攻击方在队内,再判定伤害值=(攻击力/7 + 随机1~5)
    -不在队内,再判定伤害值=(攻击力/(难度值) + 随机1~20) 注:(难度值=[6,5,4])
-------这几点的攻击方/在队伍中/不在队内 很模糊,具体指什么情况? 在队伍中是指 队友参加实战吗? 攻击方会不在队伍/队内?

点评

尴尬。。。我又看了下,NPC打玩家不会因距离减少伤害。玩家打NPC会。。。  发表于 2012-1-31 07:45
距离伤害早有了,所以我喜欢贴人打,挨打瞎溜。  发表于 2012-1-29 19:46
个别敌人指乔峰那种必擒龙功护体的角色。队内一般来说就是指玩家操控的人物,非队内人物就是不在玩家的队伍里面的NPC角色。攻击方如果不是玩家操控的这一方就会有所提到的不在队内的加成。  发表于 2012-1-29 14:51
距離影響傷害在金庸群俠傳原版就存在了...不過蒼炎的影響好像大了一點!  发表于 2012-1-29 14:45
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 14:47 | 显示全部楼层
回复 老金迷 的帖子

在队伍内就是队友
不在队伍内就是NPC,NPC加成高,就是所谓的NPC特权
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 14:52 | 显示全部楼层
楼主解释的很详细,看看伤害计算流程还好,数据化确实很难了。公式一个套着一个的

点评

看的就是感觉~~  发表于 2012-1-29 15:24
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 15:26 | 显示全部楼层
23.兵器值减伤(内功随机属性)
    -伤害*(1.2-(兵器值之和/240))  

请问下,兵器值之和指的啥?难道不应该是单项的兵器值吗

点评

写错了~感谢提出  发表于 2012-1-29 23:38
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 18:28 | 显示全部楼层
看完了,虽然有点晕。估计得有大侠按照这个说明在写一个更简单的介绍。感谢!
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 19:36 | 显示全部楼层
列表中的31是误伤的取值比例,分别为我方和敌方

32就是你说的不在队内的只扣一半血
强调一点这里是指实际扣血量
这个是什么原因想一下就明白了

点评

难道这个就是敌人的双倍血量?  发表于 2012-1-30 00:06
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 19:43 | 显示全部楼层
回复 xiaoyaojx 的帖子

剑仙最擅长设计数据吗,那太好了
有没有兴趣设定一套新的苍龙R数据呢

【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 20:37 | 显示全部楼层
回复 cbmskl 的帖子

S大如果需要我做苍炎的数据我非常乐意帮忙
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-29 23:37 | 显示全部楼层
算是看明白了。。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-31 10:05 | 显示全部楼层
楼主辛苦了!支持一下!
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2013-12-19 20:46 | 显示全部楼层
liuzheng8428 发表于 2012-1-29 13:27
lz辛苦了,很有价值的东西。我想知道内功加力的优先级问题,同级内功的排序,例如葵花和逆运谁比较靠前~楼 ...

我想知道人物最下面的那个加力概率,护体概率是什么意思?听讲难3会100%加力?是真的吗?
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-5-17 18:16

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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