えーと…サボり気味でした。テヘ
リファクタリングとちっちゃい修正のみ。
※音あり
全体スキルが一度に対象全員にヒットするのではなく、一人ずつ順番にヒットするようにしました。
アトラスゲーが前者なのでそれに準拠していたんですが、属性相性だとか回避だとか、「スキルを受けた時の反応」を分かりやすくしたいと思い、後者の方法を採用することにしました。
でまあ…思いついた当初は、この改良自体は簡単そうだなと思ってたんですよ
なんじゃあこのスパゲッティ・コードは
どこで何をやってるのか全然わかんねえ
同じ処理何度かやってない????
理由はいくつかあって、
・単に私のスキルレベルの問題
_この辺の処理を作り始めたのが去年の秋頃で、今以上にヘタクソだったのもある。
・設計の見通しの甘さ
_これはもうどうしようもない。経験が浅ければ浅いほど設計は拙く乱雑になる。
_それは罪ではない。ただし罰として帰ってくる
・どんどん追加されていった仕様たち
_これもまた、どうしようもない。コードに着手してみないと思いつかない事というのはどうしてもある。
_いきなり頭でっかちに”完璧な全体設計”とやらを作るのは現実的ではない。
_作っている途中にアイデアが出てきてくれただけ僥倖なんですよ…!
よし新しい仕様を思いついた!試しにざっくり作ってみたら動いてるぞ!
分岐?まあ…その時その時でifだのswitchだので分けとけばいいでしょ
あっこの処理重複してる…うーん…でもあんまりユーティリティ関数増やしたくないのよね…実際どれくらい共通処理に出来るか考えるのってめんどいし…
🍝🍝🍝🍝🍝🍝🍝🍝 <で、俺が生まれたってわけ
🤯🤯🤯
うああああああーーーっ!!!
😭😭😭
ということで、自分でも読みたくないグチャグチャコードがいい加減イヤになったので、鞄の中で絡まったイヤホンを解くかのごとき地道なリファクタリングを2週間ちまちまやっていたのでした。

整頓後のスクリプトがたまたま処理順になってたので図解してみた。
手書きで説明すな
基本的には共通処理としつつ、スキルの種類によっては必要になる各処理を関数(exe○○)に分けておく。そして「こういうスキルならこの関数を呼ぶ」という風に分岐させて書けば、後からも操縦しやすいはずです。
例えばアギダインならexeAttackがhitSequenceの間に1回呼ばれるし、
メパトラならexeRecoverがhitSequenceの間に味方の生存人数の分だけ呼ばれるよ!
(アトラスゲーから離れろ)