【スキルについて】
スキルについては、すでに解析値をまとめたスプレッドシートなどを公開している方がいますので、そちらをご存じの方も多いかもしれません (ここでは紹介しませんが、ローカルファイルを探すと特に暗号化もされていない状態でデータベースが保存されています) 。
まずこの表の読み方について、"float_ability_time" (基準持続時間) や "float_ability_value" (効果量) は「10000」で割った値が基準となります。

<例>
ハヤテ一文字: float_ability_time = 9000 → 基準持続時間 = 0.9[s]、float_ability_value = 3500 → 効果量 = 0.35[m/s]
実際の持続時間は、(基準持続時間 × コース距離[m] / 1000) [s] となります。

また、(多くの公開されているまとめでは省略されてしまっていますが) "activate_lot" が 0 のスキルは条件を満たすと確定で発動しますが、"activate_lot" が 1 のスキルは賢さに応じて定まる確率で発動します。
スキルの発動率は以下の通りです:

スキル発動率 (個々のスキル毎に判定) = max(100 - 9000 / 賢さ値, 20) [%]
なお、「円弧のマエストロ」などのスキルの発動位置は次のように定まります:

1. 前述の発動率計算を行い、スキルが発動するかしないかを決める
2. 1. で発動するとなった場合、発動可能な位置のうち、一様ランダムで発動位置を決める (この処理に賢さ値は影響しない)
<スキル発動率の例>
賢さ値300 → 70.0[%]
賢さ値600 → 85.0[%]
賢さ値900 → 90.0[%]
賢さ値1200 → 92.5[%]
<技術解説>
基準持続時間や効果量が10000で割られているというのは、SkillBase::SetupDetail() や SkillData::ProcessDetail() が Math::MasterInt2Float() (値を 1/10000 にする関数) を呼び出していることから分かります。
基準時間に コース距離 / 1000 を掛ける処理は SkillDetail::ctor() です。
スキルの確率発動判定は、SkillBase::LotActivate() で行われています。発動率の計算は RaceUtil::CalcActivatePer() を呼び出して行っています。
「円弧のマエストロ」といったスキルの発動位置の計算については、class SkillTriggerDistanceBase などを参照ください。
スキルの発動率について補足。
この発動率に関する計算は、レースが始まる *前* にすでに行われています。
「円弧のマエストロ」に限らず、すべてのスキルは「発動条件を満たす → 乱数を振って発動判定」 *ではなく* 、「乱数を振って発動判定 → 発動条件を満たす → 発動」のプロセスとなります。

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with ウマ娘 ゲーム仕様解析垢

ウマ娘 ゲーム仕様解析垢 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @umamusu_reveng

6 Apr
【スキルの複数回発動について】
【「円弧のマエストロ」などコーナーランダム発動スキルの発動位置について訂正】

現状では一部のコーナーランダム発動系のスキルのみ、同一レース中に複数回発動する可能性があります。
該当するスキルは以下の9つです:
・「弧線のプロフェッサー」「コーナー巧者○」「コーナー巧者× (未実装?)」
・「曲線のソムリエ」「コーナー加速○」「コーナー加速× (未実装?)」
・「円弧のマエストロ」「コーナー回復○」「コーナー回復× (未実装?)」
コーナーランダム発動スキルの発動メカニズムは次のようになります:
・第1コーナー、第2コーナー、第3コーナー、第4コーナーのそれぞれについて、発動トリガーを1つずつ生成する。
・このとき、同一レース中に同一コーナーを複数回通過する場合は、最後以外の通過ではトリガーは発火しない。
Read 9 tweets
5 Apr
【ステータス補正について】
各ステータスにはいくつかの条件による補正が入り、それぞれ次のようになります:

補正スピード値 = 生スピード値 × やる気係数 × コース係数 + バ場補正 + 育成補正 + スキル補正
補正スタミナ値 = 生スタミナ値 × やる気係数 + 育成補正 + スキル補正
補正パワー値 = 生パワー値 × やる気係数 + バ場補正 + 育成補正 + スキル補正
補正根性値 = 生根性値 × やる気係数 + 育成補正 + スキル補正
補正賢さ値 = 生賢さ値 × やる気係数 × 脚質補正 + 育成補正 + スキル補正
[やる気係数]
絶好調 → 1.04、好調 → 1.02、普通 → 1.0、不調 → 0.98、絶不調 → 0.96
(ゲーム中の説明や公式動画などではそれぞれ 1.1、1.05、1.0、0.98、0.95 とされていますが、これらの値を見つけることができませんでした)

[コース係数]
こちらを参照:
Read 8 tweets
4 Apr
【実際の速度と加速度について】
各ウマ娘の実際の速度は、目標速度を目指して常に調整されています。
現在の速度が目標速度より遅い場合は加速、また逆に目標速度より速い場合は減速を行います。
加速時と減速時では加速度は異なり、それぞれ次のようになります:
<加速時>
加速度 = 0.0006 × sqrt(500.0 × パワー値) × 脚質係数 × バ場適性係数 × 距離適性係数 (+ スキル補正) [m/s^2]
注: 上り坂時は係数「0.0006」が「0.0004」になります

<減速時加速度 [m/s^2]>
フェーズ 0 → -1.2
フェーズ 1 → -0.8
フェーズ 2 ~ → -1.0
HP0以下時 (上書き) → -1.2
[脚質係数 (フェーズ 0, 1, 2 および 3)]
逃げ → [1.0, 1.0, 0.996]
先行 → [0.985, 1.0, 0.996]
差し → [0.975, 1.0, 1.0]
追込 → [0.945, 1.0, 0.997]

[バ場適性係数]
S → 1.05、A → 1.0、B → 0.9、C → 0.8、D → 0.7、E → 0.5、F → 0.3、G → 0.1
Read 8 tweets
3 Apr
【目標速度 (TargetSpeed) について】
各ウマ娘の目標速度は次のように定まります:

目標速度 = 基準目標速度 × ポジションキープ補正 + 内側移動補正 + スキル補正 + 坂補正

基準目標速度 (通常時) について:
基準目標速度 (スパート時) について:
ポジションキープ補正は、セクション 1 ~ 10 (コースはセクション 1 ~ 24 に均等に分割されています) の間に発動しうる補正で、次のようになっています:

ポジションキープなし: 1.0
スピードアップモード: 1.04
追い抜きモード: 1.05
ペースアップモード: 1.04
ペースダウンモード: 0.915
それぞれのポジションキープモードに移行する条件は複雑で、なかなか解析が行えていません。
例えば、脚質が逃げのとき、1位であって、2位との差が 4.5[m] (=1.8[バ身]) 以内のとき、確率 20 × log10(賢さ × 0.1) [%] または掛かり状態のときに、スピードアップモードに移行する、などとなっています。
Read 9 tweets
1 Apr
【コースによるスピード補正について】
中国語の解析記事 (bbs.nga.cn/read.php?tid=2…) およびその翻訳 (note.com/earman178/n/n1…) において、スピード値にレースコースに応じた補正が掛かるとの記述がありますが、その内容に誤りがあると思われるため、ここに私の解析結果を載せます。
スピード値には、コース係数とでも呼ぶべき係数が掛けられる補正処理は確かに行われています。
コース係数の初期値は 1.0 ですが、レースコース (レース場、バ場、距離のセット) に応じて、0~2種類の特定のパラメータを参照し、そのパラメータがある閾値を超えていたら一定値が加算されます。
1点目は、その加算される値に誤りがあり、正確には次ようになります:

パラメータ (0)~300 → 加算値 0.05
パラメータ 301~600 → 加算値 0.1
パラメータ 601~900 → 加算値 0.15
パラメータ 901~(2000) → 加算値 0.2
Read 5 tweets
31 Mar
【HPについて】
各ウマにはHPが設定されており、HPが0になると非常に遅い速度でしか走れなくなります。
まず、初期HPが次の計算式で与えられます:
初期HP = 0.8 × 脚質係数 × スタミナ値 + コース距離[m]
脚質係数: 逃げ = 0.95、先行 = 0.89、差し = 1.0、追込 = 0.995
1秒あたりのHP減少量は次の通りです:
秒間HP減少量 = 20.0 × (現在速度[m/s] - 基準速度[m/s] + 12.0) ^ 2 / 144.0 × ウマ状態係数 × バ場状態係数
ウマ状態係数: 掛かり = 1.6、ポジションキープペースダウン = 0.6、その他 = 1.0 (下り坂加速モード時各0.4倍)
バ場状態係数: 1.00 ~ 1.02
ただし、フェーズ = 2, 3 の場合はこのHP減少量に根性係数が乗算されます:
根性係数 = 1.0 + (200 / sqrt(600.0 × 根性))

<根性係数の具体例>
根性200 → 1.577
根性400 → 1.408
根性600 → 1.333
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!