Description
概要
https://git.dev.d-es.co.jp/gitbucket/jolly/jr-web/pull/1515
の対応に不安があったのでRazsestさんに確認したところ修正案をいただきました。
お世話になっております。
バトルの回避演出のバグにつきまして、ご提案いただいた内容を確認しました。
「 && dmg == 0」を付けることにより、if文の中で書かれているclearInterval(timer);が処理されない場合が多々あると思われますので、
setIntervalが解除されないことを考えるとこちらの内容での修正はおすすめしません。
演出が二重で起こる問題として、next_battle_statusに0が入っていることがそもそもの問題なのですが、
こちらは一閃【弐式】など多くの範囲攻撃に使われており、
今のところnext_battle_statusに0を用いることによってほかの場所で誤作動は起こしている可能性は少ないと思われます。
ですので、//回避ダメージ0のときに入る前のif文から「next_battle_status > 0 && 」を抜いてしまう方が、簡単で処理としても正しく動作するのではないかと判断いたしました。
つきましては、下記のコードの一番上のみ修正することを提案させていただきます。
ご確認よろしくお願いいたします。
if(next_battle_status > 0 && dmg > 0){ →→→ if(dmg > 0){
S_page_battle_player_diffence_move(atk_team,atk_card_pos,def_team,def_card_pos,dmg,next_battle_status,order,key_count,diecheck,effect_type);
}else{
//回避ダメージ0のとき
var tmp_next_battle_status = 27;
S_page_battle_player_diffence_move(atk_team,atk_card_pos,def_team,def_card_pos,dmg,tmp_next_battle_status,order,key_count,diecheck,effect_type);
var timer = setInterval(function () {
if(battle_status == 27){
clearInterval(timer);
S_page_battle_player_battle_attack_dmg(atk_team,atk_card_pos,def_team,def_card_pos,dmg,next_battle_status,order,key_count,diecheck,effect_type,2);
}
},battle_spd);
}確認方法
味方側:インパクトブローを付けたカードを前列に配置
敵側:中列のカードに回避スキルをセット
インパクトブローを敵側に撃った際に後列へのダメージ演出が1回であればOKです。
修正作業中に、インパクトブローを付けたカードの攻撃力を1にして余波のダメージを0にするとバトルがフリーズするというケースがありました。
こちらは起きないようになっていることを確認していますが合わせて確認していただけますと幸いです。
TODO
確認でき次第修正を反映予定