设为首页收藏本站 开启辅助访问

《新天龙八部》官方论坛-武林萌主 12月14日 妙趣公测

 找回密码
 注册新账号
查看: 2461|回复: 45
收起左侧

[技术交流] 关于伤害计算的几个函数

[复制链接]

252

主题

287

好友

1万

积分

金元宝
230
金钱
396
在线时间
4702 小时
发表于 2017-9-24 01:09 | 显示全部楼层 |阅读模式

马上登陆,结交更多好友,享用更多功能,让你轻松玩转论坛

您需要 登录 才可以下载或查看,没有帐号?注册新账号

x
本帖最后由 子群 于 2017-9-24 01:21 编辑

真心希望,不要再有什么关于伤害计算这一方面的争论了。对就是对、错就是错,公式和数值明明白白地摆着可供计算验证的事情,没有任何争论的意义。觉得别人说得不对,那就甩他一脸数据,胜过无数口舌。
欢迎纠错,衷心感谢。纠错时请务必带上详细双方面板数据及计算过程。经我粗略检查,问题应该比较少或者没有。(除了精确度的一点小毛病以外)
按照惯例,正文不放一楼。

点评

楼主闲的没事  发表于 2017-10-27 16:14

评分

参与人数 1金钱 +60 积分 +60 收起 理由
__时光 + 60 + 60 赞一个!

查看全部评分


回复

使用道具 举报

252

主题

287

好友

1万

积分

金元宝
230
金钱
396
在线时间
4702 小时
 楼主| 发表于 2017-9-24 01:12 | 显示全部楼层
本帖最后由 子群 于 2017-9-24 01:20 编辑

这是强迫症福利,论如何把伤害精确到个位数(多图长文)
这个帖子的python3版本。能看懂就看,不愿意看或者看不懂就请关帖子走人,我不想在无意义的事情上浪费时间。
这里的数据只是作为示例。
也不用说什么“楼主闲的没事”之类的话,正因为我很忙,我才会选择把时间花在做这些测试和计算上而非去玩游戏。让我去玩游戏,刷副本、打架,我倒是会觉得没意思。
  1. 外攻=28368+630#白字+蓝字,下同
  2. 内攻=62369+6200
  3. 冰=1178;冰减=67;冰下限=0
  4. 火=208;火减=0;火下限=0
  5. 玄=2139;玄减=82;玄下限=17
  6. 毒=8439;毒减=353;毒下限=47
  7. 穿刺=2086;红字暴击修正=2.5;紫字暴击修正=2
  8. 附加直接伤害=0#指技能、状态等的附加伤害,如各门派半怒技能等;标注为增加××点内外攻或××点冰火玄毒攻击的技能,直接在计算时将相应数值相加即可

  9. 外防=5000;内防=5000;穿刺减免=0
  10. 冰抗=60;火抗=60;玄抗=60;毒抗=60#在中冲剑·无助或者战神套的作用之下,抗性可以为负
  11. 怪物修正=5#打怪伤害是打相同数值的人的5倍
  12. 百分比增减伤修正=1#“百分比增减伤修正”指的是武魂克制、伤害减免类技能、重楼效果等
  13. 浮动系数=1#很明显,无论伤害数值的具体分布律如何,它的数学期望都是1

  14. 门派外攻系数=3875;门派内攻系数=71250;门派冰系数=1;门派火系数=1;门派玄系数=1.3;门派毒系数=1.3
  15. #外功门派外攻系数57500,内攻系数15000;内功门派外攻系数3875,内攻系数71250;天龙内外攻系数43750

  16. if 外攻+外防==0:外功伤害=0
  17. else:外功伤害=int(门派外攻系数*外攻*外攻/(外攻+外防)/1000000+0.5)#加0.5再向下取整,是为了起到四舍五入的作用,下同
  18. print(外功伤害)

  19. if 内攻+内防==0:内功伤害=0
  20. else:内功伤害=int(门派内攻系数*内攻*内攻/(内攻+内防)/1000000+0.5)
  21. print(内功伤害)

  22. if 冰抗-冰减>=100:冰伤害系数=0
  23. elif 冰抗>=0 and -冰下限<=冰抗-冰减<=100:冰伤害系数=(100-(冰抗-冰减))/100
  24. elif 冰抗>=0 and 冰减>=冰抗+冰下限:冰伤害系数=1+冰下限/100
  25. elif 冰抗<0:冰伤害系数=1+max(冰下限,-冰抗)/100
  26. 冰伤害=int(冰*门派冰系数*冰伤害系数+0.5);print(冰伤害)

  27. if 火抗-火减>=100:火伤害系数=0
  28. elif 火抗>=0 and -火下限<=火抗-火减<=100:火伤害系数=(100-(火抗-火减))/100
  29. elif 火抗>=0 and 火减>=火抗+火下限:火伤害系数=1+火下限/100
  30. elif 火抗<0:火伤害系数=1+max(火下限,-火抗)/100
  31. 火伤害=int(火*门派火系数*火伤害系数+0.5);print(火伤害)

  32. if 玄抗-玄减>=100:玄伤害系数=0
  33. elif 玄抗>=0 and -玄下限<=玄抗-玄减<=100:玄伤害系数=(100-(玄抗-玄减))/100
  34. elif 玄抗>=0 and 玄减>=玄抗+玄下限:玄伤害系数=1+玄下限/100
  35. elif 玄抗<0:玄伤害系数=1+max(玄下限,-玄抗)/100
  36. 玄伤害=int(玄*门派玄系数*玄伤害系数+0.5);print(玄伤害)

  37. if 毒抗-毒减>=100:毒伤害系数=0
  38. elif 毒抗>=0 and -毒下限<=毒抗-毒减<=100:毒伤害系数=(100-(毒抗-毒减))/100
  39. elif 毒抗>=0 and 毒减>=毒抗+毒下限:毒伤害系数=1+毒下限/100
  40. elif 毒抗<0:毒伤害系数=1+max(毒下限,-毒抗)/100
  41. 毒伤害=int(毒*门派毒系数*毒伤害系数+0.5);print(毒伤害)

  42. 红字伤害=(外功伤害+内功伤害+冰伤害+火伤害+玄伤害+毒伤害+附加直接伤害)*百分比增减伤修正*怪物修正*浮动系数;print(红字伤害)
  43. 紫字伤害=max(穿刺-穿刺减免,0)*百分比增减伤修正*怪物修正*浮动系数;print(紫字伤害)
  44. 红字暴击伤害=(外功伤害+内功伤害+冰伤害+火伤害+玄伤害+毒伤害+附加直接伤害)*百分比增减伤修正*怪物修正*浮动系数*红字暴击修正;print(红字暴击伤害)
  45. 紫字暴击伤害=max(穿刺-穿刺减免,0)*百分比增减伤修正*怪物修正*浮动系数*紫字暴击修正;print(紫字暴击伤害)
复制代码






点评

能看懂就看  发表于 2017-10-27 16:17
没点功底还真看不懂,哈哈  发表于 2017-9-28 00:24

评分

参与人数 1金钱 +60 收起 理由
__时光 + 60 赞一个!

查看全部评分


回复 支持 反对

使用道具 举报

252

主题

287

好友

1万

积分

金元宝
230
金钱
396
在线时间
4702 小时
 楼主| 发表于 2017-9-24 01:28 | 显示全部楼层
本帖最后由 子群 于 2017-9-24 01:30 编辑

划重点,重点是这一段
  1. if 冰抗-冰减>=100:冰伤害系数=0
  2. elif 冰抗>=0 and -冰下限<=冰抗-冰减<=100:冰伤害系数=(100-(冰抗-冰减))/100
  3. elif 冰抗>=0 and 冰减>=冰抗+冰下限:冰伤害系数=1+冰下限/100
  4. elif 冰抗<0:冰伤害系数=1+max(冰下限,-冰抗)/100
  5. 冰伤害=int(冰*门派冰系数*冰伤害系数+0.5)
复制代码



回复 支持 反对

使用道具 举报

252

主题

287

好友

1万

积分

金元宝
230
金钱
396
在线时间
4702 小时
 楼主| 发表于 2017-9-24 01:40 | 显示全部楼层
真的很想吐槽,那些天天说着”论坛没有技术贴“的人,到底想看什么样的技术帖?
天天一口一个”大神“的人,真的认真看过”大神“的帖子吗?
天天说着”误导新手“的人,真的有想过,到底是谁在误导吗?
为什么有那么多人愿意为一点无聊的事情吵来吵去,却不愿意坐下来做点踏实的计算?(Yau无故中枪)
gypz-fxzuswq3024852.png
不过看到这张图,也就释然了。吐槽结束,睡觉。

回复 支持 反对

使用道具 举报

252

主题

287

好友

1万

积分

金元宝
230
金钱
396
在线时间
4702 小时
 楼主| 发表于 2017-9-24 01:41 | 显示全部楼层
对了,还有这一张。突然感觉很欣慰。
FV9N-fxzvcvf8316938.png

点评

伤害有浮动而已。  回复 发表于 2017-9-25 23:55
打同一怪的刺穿伤害不算暴击,为什么有高有低?难到是每一击都不是全部装备在工作?还有偷奸耍滑的?  发表于 2017-9-24 11:56
工资为0,学历技校。满意否?  回复 发表于 2017-9-24 08:12
请问您的年收入多少,学历就算了,  发表于 2017-9-24 02:56

回复 支持 反对

使用道具 举报

0

主题

1

好友

376

积分

金元宝
21
金钱
1712
在线时间
101 小时
发表于 2017-9-24 05:29  来自畅游+ | 显示全部楼层
从你贴的图来看,这个贴子又废了。

点评

无所谓。其实我希望这个帖子没人看,没人回。  回复 发表于 2017-9-24 08:02
回复 支持 反对

使用道具 举报

91

主题

33

好友

4831

积分

金元宝
53
金钱
4111
在线时间
494 小时
发表于 2017-9-24 07:22  来自畅游+ | 显示全部楼层
哈哈
回复 支持 反对

使用道具 举报

44

主题

11

好友

3664

积分

金元宝
49
金钱
4752
在线时间
488 小时
发表于 2017-9-24 07:34  来自畅游+ | 显示全部楼层
版主厉害,我看过多次你的伤害计算帖子了,还没研究透,还得慢慢研究啊

点评

回复 “子群”: 让他们争吧,不争真怕论坛死了,游戏就够死了,论坛好歹活跃点吧,你就喝茶看看就好,毕竟数据公式摆在那里  发表于 2017-9-24 08:44
谢谢支持。我就是想一次性把这个问题解决掉。围绕伤害计算,发生过太多无意义的争论了。  回复 发表于 2017-9-24 08:11
回复 支持 反对

使用道具 举报

150

主题

43

好友

5664

积分

金元宝
78
金钱
5134
在线时间
1817 小时
发表于 2017-9-24 08:12 | 显示全部楼层
人与人的差异不仅仅是学历见识的差异,更重要的是思维方式的差异。
西方文明发源于两希文化,也就是希伯来文化和希腊文化,以分析性思维为特征。
而以古印度和古中国为代表的东方文明,则以综合性思维见长。
这是两种截然不同的思维方式,也是导致我们科技落后的一个重要原因。

举个例子,天龙寺伤害其实是很低,但是很多人不愿意相信。你如果用分析性的思维方式去告诉他中冲的机制,去告诉他1.15的超低系数,去告诉他内外功的超低加成,那他会说你是个古板的呆子,说你是闲的蛋疼,他不会觉得你渊博,不会觉得你有道理。那么,我可以用东方的思维方式告诉他,用举例子的方式告诉他:你天龙打怪伤害高不高?打人的伤害是打怪的五分之一,打怪伤害不高,凭什么打人伤害就高?这么一解释,兴许他还能理解。
回复 支持 反对

使用道具 举报

41

主题

12

好友

2338

积分

金元宝
35
金钱
5868
在线时间
529 小时
发表于 2017-9-24 08:22  来自畅游+ | 显示全部楼层
顶子群 我是你的粉丝 我觉得 把你贴子看懂 游戏也就终结了 接下来无非两个问题 大神的元宝 和年轻人的键盘流 手速 对于我来说 这都挺难的 所以还是觉得你贴子最有价值

点评

谢谢。虽然我应该还算是年轻人,但是真心感觉反应速度和手速跟不上节奏。所以只能玩玩数据了。  回复 发表于 2017-9-24 08:35
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册新账号

本版积分规则

小黑屋|新天龙八部|客服专区|《新天龙八部》官方论坛    

GMT+8, 2018-1-22 21:54 , Processed in 0.331865 second(s), Total 21, Slave 15 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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