魔法伤害公式(参考)
人物魔法基础值
技能等级 | 单体魔法 | 强力魔法 | 超强魔法 | 吸血魔法 |
1 | 95 | 57 | 38 | 63 |
2 | 171 | 103 | 68 | 114 |
3 | 239 | 143 | 96 | 159 |
4 | 303 | 182 | 121 | 202 |
5 | 368 | 221 | 147 | 245 |
6 | 432 | 259 | 173 | 288 |
7 | 497 | 298 | 199 | 331 |
8 | 570 | 342 | 228 | 380 |
9 | 646 | 388 | 258 | 430 |
10 | 722 | 433 | 289 | 481 |
宠物魔法基础值
技能等级 | 单体魔法 | 强力魔法 | 超强魔法 | 吸血魔法 |
1 | 86 | 51 | -- | -- |
2 | 154 | 93 | -- | -- |
3 | 215 | 129 | -- | -- |
4 | 273 | 164 | -- | -- |
5 | 331 | 199 | -- | -- |
6 | 389 | 233 | -- | -- |
7 | 447 | 268 | -- | -- |
8 | 513 | 307 | -- | -- |
9 | 581 | 349 | -- | -- |
10 | 650 | 390 | -- | -- |
具体怪物(包括BOSS)魔法基础值一般为宠物魔法基础值,但并不排除可能为人物魔法基础值,甚至两者皆不是,而是其他特殊的值
魔法等级相对应基础精神值 = 103 + 20 * lv (非发挥极限伤害的最低精神)
魔法等级相对应基础魔攻值 = 10 + 30 * ( lv - 1 ) (非发挥极限伤害的最低魔攻)
if 攻方精神 <= 0
攻方精神 = 1
if 守方精神 <= 0
守方精神 = 1
精神比值 = [ 攻方精神 / 守方精神 * 100 ] []取整
精神实际可以为负值,但在伤害计算过程中会有下限检测,防止出现数值错误
if 攻方 == 人物 {
if 精神比值 > 119
精神压制系数 = 1.1
elseif 精神比值 > 113
精神压制系数 = 1.0
elseif 精神比值 > 105
精神压制系数 = 0.9
elseif 精神比值 > 97
精神压制系数 = 0.7
elseif 精神比值 > 89
精神压制系数 = 0.6
elseif 精神比值 > 79
精神压制系数 = 0.4
elseif 精神比值 > 69
精神压制系数 = 0.3
else
精神压制系数 = 0.1
}
}else{
if 精神比值 > 119
精神压制系数 = 1.1
elseif 精神比值 > 113
精神压制系数 = 1.1
elseif 精神比值 > 105
精神压制系数 = 1.05
elseif 精神比值 > 97
精神压制系数 = 0.95
elseif 精神比值 > 89
精神压制系数 = 0.9
elseif 精神比值 > 79
精神压制系数 = 0.7
elseif 精神比值 > 69
精神压制系数 = 0.6
else
精神压制系数 = 0.4
}
}
精神压制关系中人物与非人物为不同的值,人物一般要尽量避免被压制太狠
精神发挥伤害系数 = ( 100 * ( 0.8 * 攻方精神 / 魔法等级相对应基础精神值 + 0.005 ) ) / 100 (该公式为实际多少精神能发挥极限伤害,因为0.005系数的存在,在非低级魔法通常为2结尾的精神值便可发挥极限伤害,例如162、182、202......)
if 精神发挥伤害系数 < 0
精神发挥伤害系数 = 0
if 精神发挥伤害系数 > 0.8
精神发挥伤害系数 = 0.8
if 非骑宠状态 {
魔攻发挥伤害系数 = ( 100 * ( 攻方魔攻 - 魔法等级相对应基础魔攻值 ) / 魔法等级 / 10 + 0.005 ) / 100 (该公式为实际多少魔攻能发挥极限伤害)
if 魔攻发挥伤害系数 > 0.4
魔攻发挥伤害系数 = 0.4
}else{
魔攻发挥伤害系数 = ( 100 * ( 人物魔攻 - 魔法等级相对应基础魔攻值 ) / 魔法等级 / 20 + 0.005 ) / 100 (与上一样,只是这里为骑宠状态,魔攻影响为非骑宠的一半,且宠物本身的魔法基础值偏低,所以单发伤害不如人状态,但因为骑宠状态可2动技能,所以可以自行取舍)
if 魔攻发挥伤害系数 > 0.2
魔攻发挥伤害系数 = 0.2
}
if 魔攻发挥伤害系数 < 0
魔攻发挥伤害系数 = 0
基础魔法伤害值 = 魔法基础值 * 精神压制系数 * ( 精神发挥伤害系数 + 魔攻发挥伤害系数 ) (魔攻发挥伤害系数极限为0.4,精神为0.8,从这关系可以看出满伤害状态下魔攻为原的1.5倍,但在精神不满情况下增幅超过1.5倍的原因,因为两者类似占比关系,从这也可以看出只要精神压制状态下,魔攻可以至少提供1/3的伤害,所以从BP加点相比于物理来看,算是较少BP可以获得较不错魔法伤害,例如151精神+满魔攻,压制状态下即可拥有2/3左右满伤害)
魔法属性值 => 相应属性魔法值100 (例如地魔法就是地魔法属性值100但同时水火风则为0)
吸血魔法的魔法属性值 => 装备所提供的水晶属性 (通常来说1格水晶属性=10的值,但精灵之卵的属性值一般为15、30、45)
水晶属性值 => 装备所提供的水晶属性
if 攻方精灵卵属性 == 地 {
攻方地魔法属性值 = 攻方地魔法属性值 * [ ( 200 * rand(95,105) + 50 )% ] / 100 []取整
攻方火魔法属性值 = 攻方火魔法属性值 * 100 / [ ( 200 * rand(95,105) + 50 )% ] []取整
}
if 攻方精灵卵属性 == 水 {
攻方水魔法属性值 = 攻方水魔法属性值 * [ ( 200 * rand(95,105) + 50 )% ] / 100 []取整
攻方风魔法属性值 = 攻方风魔法属性值 * 100 / [ ( 200 * rand(95,105) + 50 )% ] []取整
}
if 攻方精灵卵属性 == 火 {
攻方火魔法属性值 = 攻方火魔法属性值 * [ ( 200 * rand(95,105) + 50 )% ] / 100 []取整
攻方地魔法属性值 = 攻方地魔法属性值 * 100 / [ ( 200 * rand(95,105) + 50 )% ] []取整
}
if 攻方精灵卵属性 == 风 {
攻方风魔法属性值 = 攻方风魔法属性值 * [ ( 200 * rand(95,105) + 50 )% ] / 100 []取整
攻方水魔法属性值 = 攻方水魔法属性值 * 100 / [ ( 200 * rand(95,105) + 50 )% ] []取整
}
if 守方精灵卵属性 == 地
守方地水晶属性值 = 守方地水晶属性值 * [ ( 200 * rand(95,105) + 50 )% ] / 100 []取整
if 守方精灵卵属性 == 水
守方水水晶属性值 = 守方水水晶属性值 * [ ( 200 * rand(95,105) + 50 )% ] / 100 []取整
if 守方精灵卵属性 == 火
守方火水晶属性值 = 守方火水晶属性值 * [ ( 200 * rand(95,105) + 50 )% ] / 100 []取整
if 守方精灵卵属性 == 风
守方风水晶属性值 = 守方风水晶属性值 * [ ( 200 * rand(95,105) + 50 )% ] / 100 []取整
倘若并非精灵之卵,则默认原值不经过以上计算
魔法属性克制系数 = [ 0.35 * { ( 攻方地魔法属性值 * ( 守方水水晶属性值 - 守方风水晶属性值 ) +
攻方地魔法属性值 * ( 守方水水晶属性值 - 守方风水晶属性值 ) +
攻方地魔法属性值 * ( 守方水水晶属性值 - 守方风水晶属性值 ) +
攻方地魔法属性值 * ( 守方水水晶属性值 - 守方风水晶属性值 ) )% +
攻方地魔法属性值 + 攻方水魔法属性值 + 攻方火魔法属性值 + 攻方风魔法属性值 -
守方地水晶属性值 - 守方水水晶属性值 - 守方火水晶属性值 - 守方风水晶属性值 +
0.5 } ]
水晶属性克制系数 = 见链接
种族克制系数 = 见链接
浮动带克制系统的魔法伤害值 = 基础魔法伤害值 * rand(95,105)% * ( 100 + 种族克制系数 + 魔法属性克制系数 )% * ( 100 + 水晶属性克制系数 )% (这里种族克制与魔法属性克制为相加关系,后整个与属性为相乘关系,这与物理伤害不同,物理魔法是种族克制+属性克制,魔法的这种克制计算也是对多属性敌人伤害不佳的重要根源。其中魔法克制与属性克制皆用到了守方的水晶属性,且这两个计算是互相独立运算,并非只计算一次,所以有类似卵水晶时的浮动比较奇怪)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
1 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2 17 18 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3 15 16 17 18 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4 13 14 15 16 17 18 19 20 20 20 20 20 20 20 20 20 20 20 20 20
5 11 12 13 14 15 16 17 18 19 20 20 20 20 20 20 20 20 20 20 20
6 9 10 11 12 13 14 15 16 17 18 19 20 20 20 20 20 20 20 20 20
7 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20 20 20 20 20 20
8 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20 20 20 20
9 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20 20
10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
竖排为魔法技能等级
横排为抗魔区间,公式为[ X * 2^4 + 1, ( X + 1 ) * 2^4 ],例如X为最后一个19,那么就是[305,320],也就是305~320这个范围内,其中最后一个数字19特殊,超过320依旧为320算
根据横排竖排选择一个数字,该数字为抗魔减伤模组序号
180 450 930 1510 3860 1510 930 450 180
1 0 0 1 5 9 13 17 21 25
2 0 0 2 6 10 14 18 22 26
3 0 0 3 7 11 15 19 23 27
4 0 0 4 8 12 16 20 24 28
5 0 1 5 9 13 17 21 25 29
6 0 2 6 10 14 18 22 26 30
7 0 3 7 11 15 19 23 27 31
8 0 4 8 12 16 20 24 28 32
9 1 5 9 13 17 21 25 29 33
10 2 6 10 14 18 22 26 30 34
11 3 7 11 15 19 23 27 31 35
12 4 8 12 16 20 24 28 32 36
13 5 9 13 17 21 25 29 33 37
14 6 10 14 18 22 26 30 34 38
15 7 11 15 19 23 27 31 35 39
16 8 12 16 20 24 28 32 36 40
17 9 13 17 21 25 29 33 37 41
18 10 14 18 22 26 30 34 38 42
19 11 15 19 23 27 31 35 39 43
20 12 16 20 24 28 32 36 40 44
竖排数字为前一个抗魔减伤模组序号,从中选取一行,而每一列为随机抽取的值,概率加起来正好万分制,比如第一列180/10000,第二列为450/10000,而抽取的数字便是魔法伤害的抗魔削减系数,比如竖排20,概率抽中最右180,那么44为抗魔削减系数,而 抗魔伤害折扣 = ( 100 - 抗魔削减系数 )%
最终魔法伤害值 = 浮动带克制系统的魔法伤害值 * PvE倍率 * 祈祷伤害折扣 * 抗魔伤害折扣 * 攻击魔法防御折扣 * 石化状态折扣 * 跳舞伤害倍率 * 圣盾折扣 * 制御魔法伤害倍率 * 攻方变身状态伤害倍率 * 守方变身状态伤害折扣

评论0