経験値を手動で算出するサブルーチン
ここに書くと見難くなるのでファイルをアップしました。
経験値算出サブルーチン GetExp
経験値算出サブルーチン GetExp
SP名称がわからないと、SPがかかっているのか判定できないので、
SP効果の取得は強引に行っています。
SP効果の取得は強引に行っています。
ついでにレベル差の経験値修正が短く纏められたので纏めておきました。
※未完成品。そのうち修正します。
以下はSRC内部での処理をそのままトレースしたものです。
以下のサブルーチンに「素質」や「遅成長」やSPなどの効果を絡める処理を加えれば完成です。
以下のサブルーチンに「素質」や「遅成長」やSPなどの効果を絡める処理を加えれば完成です。
// 引数:PlayerUnitID EnemyUnitID 経験値算出: Local _Exp _LevelDiff // 素経験値を取得 _Exp = Info(Pilot(Args(2)), "経験値") + Info(Args(2), "経験 値") _LevelDiff = Level(Pilot(Args(2))) - Level(Pilot(Args(1))) Switch LevelDiff Case 7 _Exp = _Exp * 4.5 Case 6 _Exp = _Exp * 4 Case 5 _Exp = _Exp * 3.5 Case 4 _Exp = _Exp * 3 Case 3 _Exp = _Exp * 2.5 Case 2 _Exp = _Exp * 2 Case 1 _Exp = _Exp * 1.5 Case 0 _Exp = _Exp * 1 Case -1 _Exp = _Exp \ 2 Case -2 _Exp = _Exp \ 4 Case -3 _Exp = _Exp \ 6 Case -4 _Exp = _Exp \ 8 Case -5 _Exp = _Exp \ 10 Case Else If LevelDiff > 7 Then] _Exp = _Exp * 5 ElseIf LevelDiff < -5 Then _Exp = _Exp \ 12 Endif EndSw Return
添付ファイル