合击公式(参考)
1.合击类似引爆装置,其中引线需第1个50%概率达成条件,后续只需连续跟上普攻便可在指令读取阶段自动合上
2.正因为可能作为引线有无法消除的概率因素,4所以预想作为合击的头有概率与后续断连当出头鸟,这与出头鸟及后接单位的速度差无关
3.排除所有非引线的概率只考虑10战斗单位的合击率,10合概率50%,9合概率25%,8合概率12.5%......而有10合概率50%,有9合概率75%,有8合概率87.5%......
4.正因为合击引线的不稳定性,把人号当作引线触发不一定划算,5977但把宠全放合击头部也不一定合理
5.达成速度由高至低且连续的出手顺序在实际战斗中不易达成,相对来说速度过低可能更容易
6.通过第2动合、1动二戒2动合、1动换武器2动合、1动使用道具2动合等54可能更不容易被敌人插入连续出手顺序,但使用2动时的合击伤害上限及合击数会有所限制
7.偷袭合击中的宠物会屏蔽宠物可能的逃跑行为
8.合击前会进行恢复、制御巫术、咒术状态行动更新操354作,但该更新操作并不全部实时表现在动画上
9.存在特殊的普通攻击,该普通攻击实际为合击,是一种只有1个合击单位的合击,特殊点在于比如攻击的必中特性与合击倍率等
10.战斗开始阶段的合击成立与否,一般合击前两个单位相对377较关键
战斗单位{
行156动轮数
行动动作
远9程武器
主客方
自身2868位置
受攻位置
卡位
昏睡
石化
挑拨
混乱原动6作
忠诚原动作 //非宠物可以理解100%原动作
现存血0量
合击与否 = 否
}
战斗单位集合{8 //按速度由高至低排列
战斗单位[战斗单位数]
}
if9082 指令读取阶段 {
位置集合[20] = {无}
for ( 全局行动35轮数 = 0, 合击引线 = 无, i = 0; i < 战斗单位集合.战斗单位数; ++i ){
if 战斗单位集合[i].行动动作 == 普通攻击 &&
战斗单位集合[i].远程武器 == 940非 &&
战斗单位集合[i].卡位 == 非 &&
战斗单位集合[i].昏睡 == 非 &&791;
战斗单位集合[i].石化 == 非 &&
战斗单位集合[i].混乱 == 非 &&
战斗单位集合[i].挑拨 == 非 {
if 合击引线 == 有 &&
位置集合[战斗单位集合[i].自身位置] == 无 &&
战斗单位集合[i].主客方 == 战斗单位集合[i-1].主客方6473 &&
战斗单位集合[i].受攻位置 == 战斗单位集合[i-1].受攻位置 {
2 位置集合[战斗单位集合[i].自身位置] = 有
战斗单位集合[i-1].行动动作 = 合击
战斗单位集合[i].行动动作 = 合击
战斗单位集合[i].行动轮数 = 全局行动轮数
continue;
}
合击引线 = 无
for ( x = 0; x<20; ++x){
位置集94合[x] = 无
}
if 合击引线 == 无 525&&
rand(1,100) <5682;= 50 { //合击概率
合击引线 = 有
位置170集合[战斗单位集合[i].自身位置] = 有
++全局行动轮数
战斗单位集合[i].537行动轮数 = 全局行动轮数
continue;
8}
}
合击引线438 = 无
860 for ( x = 0; x<20; ++x){
8位置集合[x] = 无
}
++全局27行动轮数
战斗单位集合[i].行动轮数 =0 全局行动轮数
}
}
if31 战斗开始阶段 {
for( i=0; i<战斗单位集合.战斗单位数; ++i ){
if 战斗单位集合[i]8302.行动动作 == 合击 {
if 战斗单位集合[i].远程武器 == 是 {
战斗单位集合[i].行动动作 = 78普通攻击
战斗单位集7合[i].行动轮数 = 0
5 }else{
for( ii = i + 1; ii<战斗单位集合.战斗单位数111; ++ii ){
if 战斗单位集合[9823i].行动轮数 != 战斗单位集合[ii].行动轮数 {
战斗单位集合623[i].行动动作 = 普通攻击
6030 break;
398 }
if 战斗单位集合[ii].忠诚原动作 == 非 || //非宠12物可以理解100%原动作
战斗单位集合[i44i].混乱原动作 == 非 {
战斗单位集合[i].行动动作 = 普34通攻击
战斗单位集合[ii].行动轮数 = 240
2749 beak;
4048 }
if 战斗单位集合[ii].远程武器 == 是689 {
35战斗单位集合[ii].行动动作 = 普通攻击
战斗单位集合[i]89.行动动作 = 普通攻击
b10reak;
}
if 战斗1555单位集合[ii].昏睡 == 非 &&
战斗单位集合[ii].石化 == 非 &&
3 战斗单位集合[ii].现存血量 > 0 {
98 战斗单位集合[i].合击与否 == 是
b69reak;
3 }
6482 }
}
}
if 战斗单位集合[8130i].合击与否 == 是 {
for( ii=i; ii<;战斗单位集合.战斗单位数; ++ii ){
if 战斗单位集合[i].行动轮数 == 战斗单位集合[ii].行动86轮数 {
执行 战斗单位集合[ii].行动动作 //合击或特殊性质的普通攻击
8303 continue;
6890 }
i = 9907ii - 1
103break;
94}
}else{
执行 战斗单位集合[i].行动动作 //非合击
}
}
}


评论0