通天岭(TTL)综合游戏社区
Would you like to react to this message? Create an account in a few clicks or log in to continue.
通天岭(TTL)综合游戏社区

综合游戏社区,为玩家游戏交流,互动提供最佳的平台
 
首页Latest images搜索注册登录

 

 《英雄之城》攻防公式解析

向下 
作者留言
薄荷之心
通天岭论坛管理员
通天岭论坛管理员
薄荷之心


帖子数 : 115
注册日期 : 10-01-25

《英雄之城》攻防公式解析 Empty
帖子主题: 《英雄之城》攻防公式解析   《英雄之城》攻防公式解析 Icon_minitime周一 一月 25, 2010 11:35 pm

《英雄之城》攻防公式解析


话说上回研究了下攻击公式,这次我以攻击公式为基础,研究了下防御公式。

主要是英雄防御对部队的影响。

首先,在英雄部队攻击野怪的情况

下 总伤害=攻击兵种攻击力*攻击兵种攻击力/(攻击兵种攻击力+防御兵种防御力)*(1+英雄攻击力%)

这个公式应该是正确的。下面的讨论都基于上述公式。

对于防御公式的研究,我仍然采用了攻击野怪来研究的方式。

具体的方法是,带一队矮人出去让野怪随便打。(矮人:为啥是我们,55555)

英雄防御 50 ,取个整数,比较好计算。

所以,那个,帕梅拉,你脱光衣服带个项链到野外晃荡去。(帕梅拉:人家好歹是mm呢。虽说是亡灵。)

然后实验方式是矮人被僵尸攻击。为什么是僵尸呢? 因为这两个兵种攻防相等,都是24,这样基础伤害就是24*24/(24+24)=12 是一个整数,可以避免小数误差带来的研究误差。

结果如下:

僵尸数目 矮人受到的伤害

1 9

2 18

3 27

很显然,每个僵尸造成的伤害在9~9.33333之间。(哎,野外要找更多僵尸实在很难啊……)

把英雄的防御降低10点,再来一次,结果如下:

僵尸数目 伤害

1 9

2 19

3 28

显然,这次每个僵尸的平均伤害在 9.5-9.63333之间 ,把基础伤害12看做1的话, 防御50的情况下,伤害是0.7777-0.75,防御40的情况下,伤害是0.7916-0.8027 ,这个数据看的人头痛啊。误差太大了。 僵尸多点就好了。(矮人:多了我就挂了。) 没办法了,猜呗。

首先英雄防御加成应该是怎么样的呢?比较常用的是 伤害*(1-英雄加成)这类公式。比如说英雄无敌三里面就是这样,那么英雄之城里面呢? 我觉得可以套进去试试看,试过多次以后发现:假设防御40的情况下,伤害是9,防御50的情况下伤害是9.6 ,那么9:9.6:12=75:80:100=0.75:0.8:1

显然,10点防御减少了5%的伤害,每点防御减少了0.5%的伤害。 而40点防御就减少了20%的伤害,50点防御减少25%的伤害。 这样与结果是吻合的。 所以猜测 防御公式为: 实际伤害 = 攻击伤害*(1-0.5%*英雄防御)。

我又用其他的兵种做实验: 英雄防御50,无加其他属性装备,

疾风狼(攻击38)攻击树人(防御45)

疾风狼数量 伤害

1 13

2 26

幽灵(攻击33)攻击树人(防御)

幽灵数量 伤害

2 20

4 41

疾风狼平均伤害 = 38*38/(38+45)*(1-50*0.5%) = 13.0482

幽灵平均伤害 = 33*33/(33+45)*(1-50*0.5%) = 10.4712

英雄防御75,对兵种无其他加成。

兵力为精灵弓手(防御22) 被野外飞斧(攻击20)攻击

数据如下:

飞斧数目 伤害

19 113

21 125

参照公式:

113=20*20/(20+22)*(1+0)*(1-75*0.5%)*19=113.0952

125=20*20/(20+22)*(1+0)*(1-75*0.5%)*21=125

与上面的结果很完美的符合了 哈哈。于是野外怪物攻击英雄造成伤害的公式为:

总伤害=攻击兵种攻击力*攻击兵种攻击力/(攻击兵种攻击力+防御兵种防御力)*(1-0.5%*英雄防御)

我又在竞技场里约好朋友做了测试,具体参见下表:

50僵尸打矮人(基础伤害=24*24/(24+24)=12)

进攻方英雄攻击 防御方英雄防御 实际结果,/

50 52 594

50 54 588

50 56 582

50 58 576

50 60 570

从上面的数据 可以看到,防御英雄每加2点防御,伤害刚好减少基础伤害(12*50=600)的0.5% ,从侧面验证了(1-0.5%*英雄防御)这个公式因子的正确性。 根据上面的数据,可以推导出的伤害公式为:

伤害=基础伤害*(24*24/(24+24))*(1-0.5%*(防御英雄防御-50))*兵种数量

我转念一想,这50不就是攻击方英雄攻击么,于是公式变为:

总伤害=攻击兵种攻击力*攻击兵种攻击力/(攻击兵种攻击力+防御兵种防御力)*(1-0.5%*(防御方英雄防御-攻击方英雄攻击))*兵种数量

这样的公式可以满足上面的测试结果,但是不满足打野时的伤害数据。

前面我们已经知道,英雄部队攻击野怪的公式为:总伤害=攻击兵种攻击力*攻击兵种攻击力/(攻击兵种攻击力+防御兵种防御力)*(1+英雄攻击力%)

由于野怪相当于防御英雄防御为0,所以前式可以变化一下: 总伤害=攻击兵种攻击力*攻击兵种攻击力/(攻击兵种攻击力+防御兵种防御力)*(1+(攻击英雄攻击力-防御英雄防御力)%)

很显然,两个公式在不同的条件下都是正确的,那么,问题是,这个条件是什么呢?

经过仔细的观察,可以发现,打野怪的时候,相当于防御英雄防御 = 0,于是有 攻击英雄攻击>防御英雄防御,而上述竞技场内测试的情况下,防御英雄的防御>攻击英雄的攻击,当然还有 攻击英雄攻击=防御英雄防御,这种情况下,上面两个公式结果相同,所以,猜测以英雄攻防的高低划分,伤害公式应该如下,分两种情况:

攻击英雄攻击 A 防御英雄防御 D 攻击兵种攻击力 AT 防御兵种防御力 DE 兵种数量 NUM

当A>=D 时

DAMAGE = AT*AT/(AT+DE)*(1+(A-D)%)*NUM

当A< D 时

DAMAGE = AT*AT/(AT+DE)*(1-0.5(D-A)%)*NUM

结果去尾处理。
返回页首 向下
http://tllyx.cool5site.biz
 
《英雄之城》攻防公式解析
返回页首 
1页/共1

您在这个论坛的权限:不能在这个论坛回复主题
通天岭(TTL)综合游戏社区 :: 网页游戏 :: 英雄之城-
转跳到: