NEO風包囲システムの作り方

インクル力が欠けてきたので。


1.攻撃側ユニットと防御側ユニットの座標を取得。


2.防御側ユニットのサイズから包囲可能範囲を取得。
※範囲内に攻撃側と同じ陣営のユニットがいると包囲効果発生。
※※SS=半径1マス、S=半径2マス、以下1マスずつ増加で良いかと。


3.対象範囲を1マスずつ攻撃側ユニットと同じ陣営のユニットが存在するか調べる。


4.存在していた場合、攻撃補正に+10


5.防御側ユニットを中心とした時の、攻撃側ユニットと包囲ユニットの角度を調べる。
※Atn関数を使えば調べられると思いますが、汎用戦闘アニメに関数が用意されてるような気がするので、よく分からない人はそちらを調べてみることをお勧めします。


6.角度に応じてフラグをセット。
※-45〜45:前方、45〜135:右側、135〜225:挟撃、225〜315:左側、といった感じ。


7:挟撃がセットされていたら攻撃補正+30命中補正+20、全フラグがセットされていたら攻撃補正+60命中補正+50
※挟撃と全方位で同時に修正がかかるわけではないので注意。


8:攻撃補正が+100を越えていたら+100に下げる。


9:防御側ユニットが特殊能力「無頼」を持ってたら補正を0にする。
※おまけ的なので最後に書きましたが、処理的には最初に行って即刻0を返した方が軽いので良いです。


10:攻撃補正と命中補正をReturnで返す。
※バトコンで使うことを考えるとどちらか一つを返すほうがいいかもしれません。


ここまで考えたので誰か作ってくれ。