正在加载,请耐心等待

文章攻略详情合击公式(参考)
1140

合击公式(参考)

创建于2025-10-25 02:29:30|修改于2025-10-25 15:22:08|原创禁止转载或摘编

1.合击类似引爆装置,其中引线需第1个50%概率达成条件,后续只需连续跟上普攻便可在指令读取阶段自动合上

2.正因为可能作为引线有无法消除的概率因素,所以预想作为合击的头有概率与后续断连当出头鸟,这与出头鸟及后接单位的速度差无关

3.排除所有非引线的概率只考虑10战斗单位的合击率,10合概率50%,9合概率25%,8合概率12.5%......而有10合概率50%,有9合概率75%,有8合概率87.5%......

4.正因为合击引线的不稳定性,把人号当作引线触发不一定划算,但把宠全放合击头部也不一定合理

5.达成速度由高至低且连续的出手顺序在实际战斗中不易达成,相对来说速度过低可能更容易

6.通过第2动合、1动二戒2动合、1动换武器2动合、1动使用道具2动合等可能更不容易被敌人插入连续出手顺序,但使用2动时的合击伤害上限及合击数会有所限制

7.偷袭合击中的宠物会屏蔽宠物可能的逃跑行为

8.合击前会进行恢复、制御巫术、咒术状态行动更新操作,但该更新操作并不全部实时表现在动画上

9.存在特殊的普通攻击,该普通攻击实际为合击,是一种只有1个合击单位的合击,特殊点在于比如攻击的必中特性与合击倍率等

10.战斗开始阶段的合击成立与否,一般合击前两个单位相对较关键

战斗单位{

行动轮数

行动动作

远程武器

主客方

自身位置

受攻位置

卡位

昏睡

石化

挑拨

混乱原动作

忠诚原动作 //非宠物可以理解100%原动作

现存血量

合击与否 = 否

}

战斗单位集合{ //按速度由高至低排列

战斗单位[战斗单位数]

}

if 指令读取阶段 {

位置集合[20] = {无}

for ( 全局行动轮数 = 0, 合击引线 = 无, i = 0; i < 战斗单位集合.战斗单位数; ++i ){

if 战斗单位集合[i].行动动作 == 普通攻击 && 

战斗单位集合[i].远程武器 == 非 && 

战斗单位集合[i].卡位 == 非 && 

战斗单位集合[i].昏睡 == 非 && 

战斗单位集合[i].石化 == 非 && 

战斗单位集合[i].混乱 == 非 && 

战斗单位集合[i].挑拨 == 非 {

if 合击引线 == 有 && 

位置集合[战斗单位集合[i].自身位置] == 无 && 

战斗单位集合[i].主客方 == 战斗单位集合[i-1].主客方 && 

战斗单位集合[i].受攻位置 == 战斗单位集合[i-1].受攻位置 {

位置集合[战斗单位集合[i].自身位置] = 有

战斗单位集合[i-1].行动动作 = 合击

战斗单位集合[i].行动动作 = 合击

战斗单位集合[i].行动轮数 = 全局行动轮数

continue;

}

合击引线 = 无

for ( x = 0; x<20; ++x){

位置集合[x] = 无

}

if 合击引线 == 无 && 

rand(1,100) <= 50 { //合击概率

合击引线 = 有

位置集合[战斗单位集合[i].自身位置] = 有

++全局行动轮数

战斗单位集合[i].行动轮数 = 全局行动轮数

continue;

}

}

合击引线 = 无

for ( x = 0; x<20; ++x){

位置集合[x] = 无

}

++全局行动轮数

战斗单位集合[i].行动轮数 = 全局行动轮数

}

}

if 战斗开始阶段 {

for( i=0; i<战斗单位集合.战斗单位数; ++i ){

if 战斗单位集合[i].行动动作 == 合击 {

if 战斗单位集合[i].远程武器 == 是 {

战斗单位集合[i].行动动作 = 普通攻击

战斗单位集合[i].行动轮数 = 0

}else{

for( ii = i + 1; ii<战斗单位集合.战斗单位数; ++ii ){

if 战斗单位集合[i].行动轮数 != 战斗单位集合[ii].行动轮数 {

战斗单位集合[i].行动动作 = 普通攻击

break;

}

if 战斗单位集合[ii].忠诚原动作 == 非 ||  //非宠物可以理解100%原动作

战斗单位集合[ii].混乱原动作 == 非 {

战斗单位集合[i].行动动作 = 普通攻击

战斗单位集合[ii].行动轮数 = 0

beak;

}

if 战斗单位集合[ii].远程武器 == 是 {

战斗单位集合[ii].行动动作 = 普通攻击

战斗单位集合[i].行动动作 = 普通攻击

break;

}

if 战斗单位集合[ii].昏睡 == 非 && 

战斗单位集合[ii].石化 == 非 && 

战斗单位集合[ii].现存血量 > 0 {

战斗单位集合[i].合击与否 == 是

break;

}

}

}

}

if 战斗单位集合[i].合击与否 == 是 {

for( ii=i; ii<战斗单位集合.战斗单位数; ++ii ){

if 战斗单位集合[i].行动轮数 == 战斗单位集合[ii].行动轮数 {

执行 战斗单位集合[ii].行动动作 //合击或特殊性质的普通攻击

continue;

}

i = ii - 1

break;

}

}else{

执行 战斗单位集合[i].行动动作 //非合击

}

}

}

评论0

暂无评论
前往页共 0 条