骑士经理的 数值其实很简单 没有什么复杂的算法 .
基础属性
一级属性
一级属性一般不是不直接参与战斗的, 整体上分成3类:
体能(Body)
感知(Senses)
精神(Mind)
分别代表 红色,绿色,蓝色 的塞子:
二级属性
伤害(最大最小),仇恨,暴击,敏捷,减伤,HP,MP
一级属性会影响到二级属性具体影响如下:
体能 : 提升伤害,仇恨,HP,MP
感知: 提升暴击 敏捷
精神 : 提升 MP HP
人物/职业/种族
一级属性计算
标准人物基础属性为 : 体能2 感知 2 精神2
人物的基础属性计算公式 :
面板属性 = 标准人属性 + 职业属性 + 种族属性 + 人物属性
看下各个属性分类表:
职业属性:
种族属性:
人物属性:
套用上面公式 计算出来属性值:
例子 : 比如选择如下组合 -> 标准人属性 + 战士 + 矮人 + 士兵
体能 = 2 + 3 + 1 + 3 = 9点
感知 = 2 + 2 = 4 点
精神 = 2 +1 = 3 点
其他职业基础属性同理可以算出来
二级属性计算
有了一级属性计算公式 就可以进行二级计算了, 我们给 一级属性计算公式起个名字
比如 体能公式 :bodyTotal (标准人body + 职业body + 种族body + 人物body)
感知公式 sensesTotal , 精神公式 mindTotal
最大最小攻击(AttackMin AttackMax)
1.基础攻击
攻击 = 等级 + bodyTotal;
if(是否是玩家的角色){
攻击 *= 5;
}
else(){
攻击 *= 20;
}
if(是精英怪物){
攻击 *= 1.5
}
这里的5,20 都是一个系数 为了数值好看而已。
2.最小攻击(AttackMin)
攻击 = (1- 0.25) * 基础攻击 ) + 被动增加的攻击
攻击 += 攻击 * 被动增加攻击的百分比
3.最大攻击(AttackMax)
攻击 = (1+ 0.25) * 基础攻击 ) + 被动增加的攻击
攻击 += 攻击 * 被动增加攻击的百分比
仇恨
1点体能 = 1点仇恨
仇恨 = bodyTotal + 被动增加仇恨
防御状态下回清除仇恨 直到下一个回合
暴击
暴击 =(sensesTotal + 被动暴击 ) * 暴击因子
伤害减免
减免 = (伤害减免 + 被动伤害减免 + 额外伤害减免(家具提供等)) * (1+伤害减免百分比)
家具提供伤害减免能力
HP
基础hp = 等级 * bodyTotal - 等级 + bodyTotal + mindTotal;
基础hp = 基础hp * 15
if(是精英怪物){
基础hp *= 1.5
}
hp = (基础hp + 被动hp) * (1 + 提高hp系数)
15这里同样是系数 为了数值好看
MP
基础mp = 等级 * mindTotal - 等级 + bodyTotal + mindTotal;
基础mp = 基础mp * 20
if(是精英怪物){
基础mp *= 1.5
}
mp = (基础mp + 被动mp) * (1 + 提高mp系数)
20这里同样是系数 为了数值好看
敏捷
敏捷 = sensesTotal + 被动提供敏捷加成
战斗公式
攻击顺序
回合制游戏攻击顺序一般会在回合开始前初始化好。
影响攻击顺序的属性值是 敏捷 敏捷越高攻击顺序越靠前 反之相反。
先攻值 = 敏捷 + 随机修正(随机一个 1-13的)
随机修正可以使得敏捷低的职业 在前期也能够先手 完全靠rp.
通过先攻值对当前回合内的怪物和 玩家进行从高到低的排序 能完成战斗顺序排列。
威胁等级
以下未完待续 接下来几章 还会 分析战斗系统