修正回旋攻击应用在怪中不会打后排的问题
转自WELOVESA的小鐵
原文:
狀況:迴旋攻擊(PETSKILL_Gyrate)使用AI掛網時,當前排被高敏人(寵)擊殺後,會變成發呆
主因:在「int BATTLE_Battling」函式中,沒有對於後排攻擊的判定
修正:
battle.c中搜尋「case BATTLE_COM_S_GYRATE:」(約9150行左右)
先宣告j=0;
在if( COM == BATTLE_COM_S_GYRATE )判定內
// 取出戰場上存活的人
for( i=f_num; i<f_num+5; i++ ){
if(BATTLE_TargetCheck(battleindex, i) != FALSE){
temp[j++] = i;
}
}
後方加入以下源碼
#ifdef _GYRATE_AI_FIX //LUN FIX 排技寵AI不會打後排的問題修正
if(j==0)
{
if (f_num == 10){
// 第二次取出前排戰場上存活的人
for( i=f_num+5; i<f_num+10; i++ ){
if(BATTLE_TargetCheck(battleindex, i) != FALSE){
temp[j++] = i;
}
}
}else{
// 第二次取出後排戰場上存活的人
for( i=f_num-5; i<f_num; i++ ){
if(BATTLE_TargetCheck(battleindex, i) != FALSE){
temp[j++] = i;
}
}
}
}
#endif
說明:
此技能在AI期間,預設都是第一排的第一個對象,但第一排所有對像被高敏人(寵)擊殺後,反而沒有辦法自己去打後排
因為AI已經沒有對象可以選擇,所以從server端這裡給予尋找後排的程式,使迴旋攻擊在沒有前排可以選擇的情況下
不會變成發呆,而是往後排攻擊