|
|
发表于 2011-9-5 17:36:00
|
显示全部楼层
Re:系统策划的题目
1. 判断目标隐身状态位。如果隐身,go to end;如果不隐身,进入下一步。
2. 将基础攻击力计为ATK,提取兵种身上全部Buff中值最大的攻击放大系数作为攻击放大系数,提取兵种身上全部Buff中值最大的攻击衰减系数作为攻击衰减系数。对ATK进行属性重算。
ATK = ATK * (1+攻击放大系数)*(1-攻击衰减系数)
3. 查找攻击技能对应的攻防科技,根据攻防科技的等级,对ATK进行属性重算
ATK= ATK * ( 1+ 科技提升系数)----详见附1:攻击升级表
4. 判断目标身上的能量值。如果能量值为 0,跳转到8;如果能量值不为0,跳转到3
5. 计算吸收伤害后的能量盾值,记吸收前能量盾值为Before Shield,吸收后能量盾值为After Shield,提取记录在兵种身上的属性能量反馈系数
则有After Shield = Before Shield ? ATK*能量盾放大系数
6. 将After Shield在0,65535间cap
7. 判断吸收伤害后能量盾值After Shield
如果这个值不为0, 跳转到流程结尾
如果这个值为0, 跳转到7
8. 得到实际伤害值
ATK = ATK- Before Shield/能量盾放大系数
9. 提取目标身上全部Buff中值最大的护甲放大系数作为护甲放大系数,提取目标身上全部Debuff中值最大的护甲衰减系数作为护甲衰减系数。对目标护甲进行属性重算
目标护甲= 目标护甲 * (1+护甲放大系数)*(1-护甲衰减系数)
10. 实际减伤率=500*目标护甲/(100+5*目标护甲)
11. 根据目标的护甲类型和兵种对应的攻击类型,查找攻防相克表获得攻防相克系数
12. 根据9,10得到的实际减伤率和攻防相克系数进行伤害重算
ATK = ATK*(1-实际减伤率)*攻防相克系数
13. 判断普通攻击是否携带被动技能,如果无则进入14,如果有则进入13
14. 进行被动技能结算
15. 计算伤害结算
After Life = Before Life ? ATK(R)
16. Cap Life
将life在0,65535间cap
17. 判断life
如果life = 0,则判定怪物死亡
一个伤害结算流程,给一个类星际游戏做的 |
|