[追い越しモード(目標レーン)]
追い越し対象がいる時、追い越しモードが使われます。
序盤と中盤、最初のコーナー前200mの区間で追い越しモードを使うことはできません。
追い越し対象を全て失うと、追い越しモードを1.5秒続行した後、通常モードに切り替えます。
#ウマ娘解析
追い越しモードでの目標レーンは以下のように決められます:
まず一つの追い越し対象につき、その対象のいる馬群の内と外両端にいるウマを見つけます。
具体的に言うと、その対象から見て、以下の条件をクリアした内側のウマを探します。
0 < abs(横距離) < 2ウマ幅
0 <= 前後距離 <= 3m
該当するウマがある場合、そのウマから更に内側に同じ条件を満たしているのウマを探し、内側に条件を満たすウマが居なくなるまで繰り返します。
最終的に辿り着いたウマを最も内側にいるウマとする。そして同じ手順と条件で最も外側にいるウマも見つけます。
ここまでの判定に視界は絡みません。
そして両端にいるウマから目標レーン候補を計算します。
目標レーン(内) = 内側ウマレーン距離 - 1ウマ幅
目標レーン(外) = 外側ウマレーン距離 + 1ウマ幅
その候補はレーン距離の最小、最大値を超えてない、そして視界に以下の条件を満たすウマがいないなら、候補リストの加えます。
自身距離 <= 距離 <= 内/外側ウマ距離 + 0.5m(ここの距離はスタートからの距離のこと)
目標レーン - 0.8ウマ幅 <= レーン距離 <= 目標レーン + 0.8ウマ幅
追い越し対象と関係なしに、更に一つ目標レーン候補が有ります。
序盤か中盤、かつ内側が空いていて、かつ現在レーン距離 > 1ウマ幅なら、
目標レーン = 現在レーン距離 - 1ウマ幅
それ以外なら
目標レーン = 現在レーン距離
視界に以下の条件を満たすウマがいないなら、この目標レーンが候補に加われます。
自身距離 <= 距離 <= 自身以外最後尾のウマ娘の距離 + 3m
目標レーン - 0.8ウマ幅 <= レーン距離 <= 目標レーン + 0.8ウマ幅
ここにきって開き(Lane Space)の概念が出てきます。
開きとはその側で最も近くにいる、横ブロックの前後距離条件を満たしたウマ(横距離条件を満たしてなくても)との横距離の絶対値です。
該当するウマがいないなら、レーン距離の最大値、最小値から現在レーン距離を引く値の絶対値を使います。
目標レーン候補の中、その側がブロックされている、もしくは開きが移動距離より小さいのを全部破棄します。
残りの候補からスコアを計算し、一番低い(近い)のを採用します。
もし残りの候補がいないなら、現在レーン距離を候補として採用します。
スコア = abs((目標レーン - 現在レーン距離) * フェイズ係数 * スキル係数)
スキル係数は1.5ですが、該当スキルはないため実際発生しません。
フェイズ係数は移動方向によって違います。
序盤:内 = 1.0 外 = 100.0
中盤:内 = 1.0 外 = 1.0
終盤、ラストスパート:内 = 1.0 外 = 1.15
採用された候補が最終直線レーン(通常モードを参照)より内の場合、最終直線レーン側でブロックされていない、かつ開きが移動距離より大きいなら、最終直線レーンが優先され目標レーンに設定されます。
それ以外の状況では採用された候補を目標レーンに設定します
Share this Scrolly Tale with your friends.
A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.
