本帖最后由 是开碧落 于 2016-7-1 09:10 编辑
0. 单招命中分析
一个单招, 首先要判断命中, 也就是攻击方的ap, 防御方的dp.
ap 通常是由攻击武功算得. 比如说 六脉神剑的绝招gz的
ap = (六脉神剑的等级 + 基本指法的等级/4+ 武学修养的等级/4) * 六脉神剑的combat命中数字/60 * (1+绝招命中stats)
60为终极武功的系数, 超级武功是80, 高级是90, 普通是100
dp 通常是三防的某一项, 两项, 三项混合相加而来.
比如说gz只判断parry, 而 tian 就是force, parry, dodge 3项都判断
dp=(特殊招架的等级 + 基本招架的等级/4 + 武学修养的等级/4)*特殊招架的combat招架数字/武功类型系数 * (1+绝招防御stats)
force对应 combat内功数字, parry对应 combat招架数字, dodge对应 combat躲闪数字
转世之前绝招的dp基本是单项型, 转世之后绝招都是混合型
最终, ap, dp 转世加成一下, 被虚弱/毒 削减一下
一般武功的判断是 ap/2 + random(ap) > dp 命中, 否则就miss, 这就是所谓的命中普通
当然转世武功的命中较好就比这种概率高
命中后, 才有可能产生伤害...
1. 基础伤害
武功的combat系数, pfm是几个外功伤害单位, <绝招伤害>状态追加
一份外功伤害(伤气)= (特殊输出武功等级+基本等级/4+武学修养/4 + 9j专用剑道/4)* combat伤害/combat系数{12,16,18,20} * 2
【绝招伤害】提升伤害数值, 毒/虚弱降低伤害数值至2/3
2. 视pfm攻击类型不同 追加damage
3. 有10%的概率跳过特殊防御直接进入步骤6. 否则引发对手特殊parry防御, 对非remote攻击类型有效, 防御成功伤害为0, 结束本pfm判断. 如果攻击方有【无视招架】增加parry破防的可能.
4. 有10%的概率跳过特殊防御直接进入步骤6. 否则引发对手特殊dodge防御, 对非special攻击类型有效, 防御成功伤害为0, 结束本pfm判断 如果攻击方有【无视躲闪】增加dodge破防的可能.
5. 引发对手的盔甲, 衣服的特殊防御, 如果有的话
6. 如果到这一步, 还有伤害, 那么会打断对手忙乱, 引发兵器的特殊攻击(如10兵特效), 或者我的特殊攻击(比如说涂抹衣服的毒, 空手10兵特效), 增加伤害值
7. 如果我有jiali, 那么总伤害中增加 内功伤害, <绝招伤害>状态追加
一份内功伤害(伤气) = 加力值 * 2 * combat内功/combat系数{12,16,18,20} * 2
【绝招伤害】提升伤害数值, 毒/虚弱降低伤害数值至2/3
如果攻击方式为remote或者special, 引发对手特殊force防御, 如果防御成功, 内功伤害归0
总伤害 = 外功伤害 + 内功伤害
如果攻击方有【无视内功】增加force破防的可能.
8. 后天属性对伤害的影响. (攻击方的后天臂力 vs 防御方的后天身法)
最高总伤害可加成3次至原来的1.331倍(1.1*1.1*1.1)
def= 对方后天dex; att= 自己后天str; n= 0
while (random(def) < att && n < 3)
{
damage += damage/10; // 自己的伤害值增加
att /= 2; //att除以2再去循环判断
n += 1; //最多循环判断3次
}
如果是直接伤害类型的绝招, 他的伤害计算只取 第1步 的基础伤害, 后面的判断统统跳过
---- 上面是伤害数字
1. 调用绝招中特殊状态发出
--- 再说到受伤(receive_damage)时候的判断
1. 如果你被虚弱 或 被超级毒, 则对方受到的实际伤害数值减少1/3
2. 如果伤害你的人有<追加伤害>状态, 则你受到的伤害被随机增加
3. 如果你有<化解伤害>状态, 则你受到的伤害被随机减少
4. 如果你有<虚弱对手>状态, 可能给对方增加虚弱时间
5. 如果是pvp 则伤害数值变为1/5
|
|