一些策划常识介绍
作者:互联网
恢复血量和增加血量
- 在我看来这两个概念完全一样
- 但其实回复血量需要给恢复的数值乘以一个恢复系数。然后再加上当前血量
Hp+ value*HealingMultiplier
Hp+value
增加最大值比例和恢复最大值比例
- 传进来一个float类型参数
Hp+MaxHp*value
Hp+MaxHp*value*HealingMultiplier
- 依旧只是是否乘kongjiz以恢复系数的区别
- 上面两个论述都没有考虑溢出的情况
计算流程
- 攻击者方面
- 先计算暴击
critMult
- 再计算命中
IsHit
- 如果命中了计算伤害
damage*=critMult
- 受害者方面
- 是否无视防御(无视防御仅仅是无视护甲和抗性)
- 先计算护甲穿透和抗性
dmgReduc = armor-armorPen phyAbs = 1- phyResistance
。 - 再计算易伤
phyAbs+=phyVulner
,dmg = (dmg-dmgReduc)*phyAbs
。 - 再乘以攻击者的伤害系数
dmg = dmg*atkPower
(总感觉伤害系数的位置有点奇怪) - 最后再减去受害者的护盾值
dmg-shield
数值维度
- 命中——闪避
- 暴击率——暴击抵抗率
- 暴击伤害——暴击伤害抵抗
- 护甲——护甲穿透
- 抗性——易伤
护盾和护甲的区别
- 护盾是消耗品。护甲是持续存在的。
易伤和抗性分开计算
int phyAbs = 1; phyAbs -=phyResistance //计算抗性 phyAbs+=phyVulner //计算易伤 (phydmg-dmgReduc)*phyAbs
护甲和护甲穿透
dmgReduc = Math.Max(0, armor-armorPen)
- 直接用dmgReduc作为伤害减免值
- 所以armor是一直持续性存在的
护盾的计算
Shield-=value
记录值和组合值的区别
- 记录值可以被消耗。
- 组合值各个组合部分可以随着buff的移除而消失,但其基础值这些不会发生改变。
易伤与抗性与攻击力系数
- 两者都是百分比数字,都需要乘以dmg
暴击率和抵抗|暴击伤害和暴击伤害抵抗
float critChanceResult = critChance-critChanceReduc
- 直接用攻击者的暴击率减去受击者的抵抗。
- 然后用这个几率去计算是否发生暴击
float critMultResult = critMult -critMultReduc
- 直接用攻击者的暴击伤害减去受击者的抵抗暴击伤害
命中和闪避
float hitChance = accuracy-dodge
- 攻击者的命中率减去受害者的闪避率
- 然后根据结果来计算是否命中
为什么抗性和易伤分开
Strike
- 一次攻击可以触发多次strike,
- 每次strike单独计算伤害
总结
- 可我还是需要知道他们的数值设计思路。
标签:抗性,暴击,phyAbs,常识,介绍,策划,计算,伤害,易伤 来源: https://blog.csdn.net/qq_33574890/article/details/108257159