ディバイド隊列処理 妄想
(あくまで抽象概念なのでしっくりこない言い回しがあります)


・隊列にはb3、b2、b1(前列)、a3、a2、a1(後列)と「枠」が用意されている
(BURSTスキルはa1からb3に向けて実行順が進む)

・b0枠は前列・a0枠は後列に優先して何度でも被弾する特性 (前衛ダメージ)
・00枠はすべてに優先して何度でも被弾する特性 (前衛ダメージ)

・キャラは枠に対応した「背番号」を振られるが、ターン中でも「キャラの死」で動的に変化する
→ひとつの行動(貫通・拡散・列・全体攻撃)中には変化しない (が、ランダム攻撃はそれぞれがひとつの行動扱い)
→例外的に、こちらの前衛全滅で隊列変更が起こる処理はターンの最後のみ
(動的変化の理由は、ターン中のダメージ処理に矛盾を生じさせないため)
(→ターン中に後列が全滅した時に、貫通対象がいるままの処理だと死体にダメージが入る等)

※枠と背番号は同じ記号を使うが違う概念


ラインディバイドは背番号の数字部を0にするための n を割り出し、アルファベット部でライン指定、
そしてその枠にキャラの背番号を格納する処理
(背番号a2のキャラが後列ディバイドなら、n==-2 に、後列指定のbで b0 に)
n はターン中には変化せず、ターン中の処理には随時参照される
※0枠特性発動中に自分の背番号が来た場合は二重被弾しないように処理
※(ダメージ処理は0枠にキャラがいるか判定→処理の順で常に行われる)

しかし(右側のキャラが死んで)背番号が右側にずれる(a2→a1)ことで、
ディバイド計算で n を適用したキャラの格納先が「マイナス」になり、0枠特性が適用されなくなる
→つまり、右にズレるとディバイド無効
※右端にいる限り、他キャラ死亡による背番号変更は起こり得ない

0枠は本来スタン・腕縛り等で追い出されるが、計算でズレて保持できなくなるのは「想定外」

ディバイド処理以降、 n を動的に変化させられないことが原因



・・・BURSTの右下優先仕様から考えたけど、わかりにくい上に不毛な妄想だった
そもそも不具合にむりくり説明をつけるようなプログラミングなんて誰が本採用するんだ

なんか前提も狂ってきたしわからんわ〜