状态异常设定(参考)
面板状态抗性上下限为-100、100,超出则强制为-100、100。
状态咒术
单睡石 30 + [ ( lv - 1 ) / 2 ] * 5 []取整
单毒醉混忘 35 + [ ( lv - 1 ) / 2 ] * 5 []取整
强睡石 15+ [ ( lv - 1 ) / 2 ] * 5 []取整
强毒醉混忘 20 + [ ( lv - 1 ) / 2 ] * 5 []取整
超睡石 15 + [ ( lv - 1 ) / 2 ] * 3 []取整
超毒醉混忘 20 + [ ( lv - 1 ) / 2 ] * 3 []取整
状态咒术异常行动次数 [ lv / 2 ] + 2 []取整
状态咒攻
睡石咒攻 20 + ( lv - 1 ) * 10
毒醉混忘咒攻 30 + ( lv - 1 ) * 10
状态咒攻异常行动次数 2
混乱攻击(格斗版)
睡醉混忘无 30 + ( lv - 1 ) * 5 + [ lv / 10 ] * 5 []取整
混乱攻击异常行动次数 3
混乱攻击在自身剩余魔量有使用技能相对应的魔量才能施咒成功。例:混乱攻击lv9需要45耗魔,释放45魔完毕后必需自身还再留45魔才能进入中状态概率运算。
混乱攻击的异常并不是4个、而是5个,毒睡醉忘无,包括无,所以就算100%中状态,依然有1/5的概率不中状态。
毒击(人物版)
毒击且装备小刀折扣 81%
毒击且装备回力折扣 75%
毒击且必杀时强制70%
物理咒攻皆先进行物理命中闪避计算,命中对方后才进行中状态与否的运算。
状态抗性
技能状态抗性 lv * 4
技能抗性行动次数折扣 lv * 6
中状态概率 = 技能状态异常概率 - [ 技能状态异常概率 * 面板抗性 / 100 ] - 技能状态抗性 []取整
状态解除行动数 = [ 技能状态异常行动次数 * ( 100 - 技能抗性行动次数折扣 ) ] []取整
中毒损血公式
人
中毒损血基值 = [ 受掉魂影响体BP + 受掉魂影响力BP + 受掉魂影响强BP + 受掉魂影响速BP + 受掉魂影响法BP - 30 ] []取整
宠
中毒损血基值 = [ 宠体BP + 宠力BP + 宠强BP + 宠速BP + 宠法BP - 30 ] []取整
怪
中毒损血基值 = [ 怪体BP + 怪力BP + 怪强BP + 怪速BP + 怪法BP - 30 ] []取整
骑宠(宠+人)
中毒损血基值 = [ 宠体BP + 宠力BP + 宠强BP + 宠速BP + 宠法BP - 30 ] + [ 受掉魂影响体BP + 受掉魂影响力BP + 受掉魂影响强BP + 受掉魂影响速BP + 受掉魂影响法BP - 30 ] []取整
BP包括2位小数点
非精灵变身
中毒损血量 = 2 * { rand(9,11) * 0.1 * 中毒损血基值 * 0.2 } {}结果取整,最小值为1
精灵变身
中毒损血量 = ( 2 * { rand(9,11) * 0.1 * 中毒损血基值 * 0.2 } * 变身减成 + 50 ) / 100 {}结果取整,最小值为1
非骑宠
if 中毒损血量 >= 当前血量{
中毒损血量 = 当前血量 - 1
}
骑宠
if 中毒损血量 >= 当前血量 - 2{
中毒损血量 = 当前血量 - 2
}
骑宠状态中毒损血时人宠分配
若人当前血量 > 宠当前血量,则若中毒损血量为奇数时,人中毒损血量 = 宠中毒损血量 + 1,其他情况皆人宠均分。
若人宠任意一方当前血量下限为1时,率先扣完的一方其他损血会扣到另一方,总之会保证 骑宠当前血量 = 宠当前血量 + 人当前血量
石化伤害折扣公式
影响物理魔法伤害
新伤害 = [ 原伤害 * rand(30,50) / 100 ] []结果取整
酒醉耗魔公式
非精灵变身
[ { 魔量上限 * 0.05 } ] []结果取整
精灵变身
[ ( { 魔量上限 * 0.05 } * 变身减成 + 50 ) /100 ] []结果取整
混乱行为概率
原行动 | 什么也不做 | 换位 | 防御 | 攻击原选定对象所在队伍的随机单体 |
|---|---|---|---|---|
20% | 10% | 10% | 10% | 50% |
遗忘概率
技能位置序号 = 0 //人物位置序号上限14;宠物位置序号上限9
;怪物位置序号上限9;
非怪物:
主动技能遗忘数量 = 0
主动技能数量的一半 = [ 主动技能数量 / 2 ] []结果取整,最少为1
for ( i = 0; i<=300; ++i ){
if ( 技能位置序号有技能 ){
if ( 技能位置序号的技能非主动技能 且 技能位置序号的技能未遗忘 ){
if ( rand(1,100) <= 5 ){
技能位置序号的技能遗忘
主动技能遗忘数量 = 主动技能遗忘数量 + 1
}
}
if ( 主动技能遗忘数量 >= 主动技能数量的一半 ){
break
}
}
技能位置序号 = 技能位置序号 + 1
if ( 技能位置序号 > 人物\宠物位置序号上限 ){
技能位置序号 = 0
}
}
怪物:
for ( i = 0, ii = rand(0,19); i <= 200; ++i, --i ){
if ( ii <=0 ){
技能位置序号的技能遗忘
break
}
技能位置序号 = 技能位置序号 + 1
if ( 技能位置序号 > 怪物位置序号上限 ){
技能位置序号 = 0
}
}

评论0