| コウさんの仰る通り、アビリティーで召還されたユニットの取得する経験値 は、召還元ユニットにも加算されます。
が、もし隼人さんがイベントコマンドで召還を再現している場合、やはり 取得経験値算出法は必要になるので、幻魔の公子さんのものを補足させて もらいます。
実際はSRWFの式とは倍率が少し違います。幻魔の公子さんのソースを お借りして修正したものが下のものです。
経験値倍率: Set レベル差 (Level(相手ユニット) - Level(対象ユニット)) Switch レベル差 Case -7 Set 倍率 4.5 Case -6 Set 倍率 4 Case -5 Set 倍率 3.5 Case -4 Set 倍率 3 Case -3 Set 倍率 2.5 Case -2 Set 倍率 2 Case -1 Set 倍率 1.5 Case 1 Set 倍率 0.5 Case 2 Set 倍率 0.25 Case 3 Set 倍率 0.16666 Case 4 Set 倍率 0.125 Case 5 Set 倍率 0.1 Case Else If レベル差 > 0 Then Set 倍率 0.08333 Elseif レベル差 < 0 Then Set 倍率 5 Else Set 倍率 1 Endif EndSw Return 倍率
これを攻撃イベントなどで使う事で取得経験値の算出は可能ですが、 M兵器使用時、経験値に影響を与える特殊能力、精神などの影響を 考えると全体的にかなり複雑になりますので、あまりお勧めはしま せん。それよりも直接任意のパイロット(今回の場合は召還ユニット ですが)の経験値を取得する方が簡単だと思うので、経験値を取得 するCall関数を下に載せておきます。
ExpCheck: P_LEVEL = Level(Args(1)) ExpM[1] = 125 ExpM[2] = 25 ExpM[3] = 5 ExpM[4] = 1 For i = 1 to 4 For j = 1 to 5 ExpUp Args(1) ExpM[i] If Level(Args(1)) > P_LEVEL Then ExpS[i] = (j - 1) ExpUp (Args(1) - ExpM[i]) Break EndIf Next Next Exp_Buf = (125 * ExpS[1] + 25 * ExpS[2] + 5 * ExpS[3] + 1 * ExpS[4]) ExpUp Args(1) (- Exp_Buf) Return (499 - Exp_Buf)
|