「経験値を手動で算出する」の編集履歴(バックアップ)一覧はこちら
「経験値を手動で算出する」(2006/10/16 (月) 13:03:22) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*経験値を手動で算出するサブルーチン
※未完成品。そのうち修正します。
以下はSRC内部での処理をそのままトレースしたものです。
以下のサブルーチンに「素質」や「遅成長」や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
*経験値を手動で算出するサブルーチン
ここに書くと見難くなるのでファイルをアップしました。
経験値算出サブルーチン [[GetExp>http://www16.atwiki.jp/inclurithm?cmd=upload&act=open&pageid=47&file=GetExp.eve]]
SP名称がわからないと、SPがかかっているのか判定できないので、
SP効果の取得は強引に行っています。
ついでにレベル差の経験値修正が短く纏められたので纏めておきました。
----
※未完成品。そのうち修正します。
以下はSRC内部での処理をそのままトレースしたものです。
以下のサブルーチンに「素質」や「遅成長」や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
表示オプション
横に並べて表示:
変化行の前後のみ表示: