SRC質問掲示板Mk2
(現在 過去ログ125 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■21765 / inTopicNo.1)  バトルコンフィグ使用時の予測ダメージ
  
□投稿者/ 鉄也 -(2009/11/01(Sun) 17:38:43) [ID:IHiHHFDm]
    2009/11/01(Sun) 20:44:06 編集(投稿者)
    2009/11/01(Sun) 20:22:32 編集(投稿者)

    バトルコンフィグのダメージ周りの式をかなり変更したんですが、その結果、予測ダメージが実際のダメージと全然違うようになってしまいました。
    予測では10や0ばかりなんですが、実際には500や1000くらいのダメージになったりなど。
    実際に使うときは予測ダメージなどは非表示にしようと思ってるんですが、予測ダメージが正常に計算されないことで敵の動きなどに影響しないかと危惧しています。
    どこか予測ダメージを狂わせてる表記などがあれば指摘していただきたいです。

    追記1:パイロット能力が攻撃力に影響しない武器の場合、正常に表示されていました。
    追記2:別のユニットで続けて同じ名称の武器を使った場合も正常に表示された。
    「ユニット1」で「武器1」を使用してすぐに「ユニット2」で「武器1」を使用した場合正常に表示される。という具合。


    ここから今使ってるコンフィグデータ
    最終ダメージ
    最終値 + Call(ダメージ記憶, 最終値)

    ダメージ
    ( 攻撃側補正 - 防御側補正 ) * 地形適応 + Call(倍返し)

    命中補正
    ( 100 + 命中 + 反応 + 運動性 + 攻撃値 ) * ( ( ( 現在HP / 最大HP ) * 0.2 ) + 0.8 ) * ( ( ( 現在EN / 最大EN ) * 0.2 ) + 0.8 )

    回避補正
    ( 回避 + 反応 + 運動性 ) * ( ( ( 現在HP / 最大HP ) * 0.2 ) + 0.8 ) * ( ( ( 現在EN / 最大EN ) * 0.2 ) + 0.8 )

    最終命中率
    Min(Call(命中上限), Max( 最終値, Call(命中下限)) )

    攻撃補正
    ( 武器威力 + Call(攻撃力) * Call(ダメージバランス) * 気力 / 100 ) * Call(クリティカル補正)

    防御補正
    装甲値 + Call(防御力) * 気力 / 100 * 地形適応

    ここからコンフィグに使っているサブルーチンなど
    #バトルコンフィグ用データ

    ダメージバランス:

    バランス武器補正 = Info(ユニット, 対象ユニットID,武器, 対象ユニット使用武器, 属性レベル, バ)
    #Talk
    #バランス武器補正$(バランス武器補正)
    #End
    バランスEN補正 = 現在EN / 最大EN
    #Talk
    #バランスEN補正$(バランスEN補正)
    #End
    バランス技量補正 = ( Min( 技量 , 200 ) - 100 ) / 2
    #Talk
    #バランス技量補正$(バランス技量補正)
    #End
    バランス値 = ( バランス武器補正 + バランス技量補正 ) * バランスEN補正
    #Talk
    #バランス値$(バランス値)
    #End
    バランス補正 = 120 - Min( バランス値 , 99)
    #Talk
    #バランス補正$(バランス補正)
    #End
    ダメージ乱数 = ( ( Min(Random(バランス補正), Random(バランス補正)) + ( 120 - バランス補正) ) / 100 )
    #Talk
    #ダメージ乱数$(ダメージ乱数)
    #End

    Return ダメージ乱数



    倍返し:

    If Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性所有, 倍) = 1 Then


    If Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 必要技能) = 当て身技 Then

    倍返し倍率 = Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性レベル, 倍)
    倍返し補正 = 前ダメージ * 倍返し倍率

    Else

    倍返し補正 = 0

    EndIf


    Else

    倍返し補正 = 0

    EndIf

    Return 倍返し補正

    ダメージ記憶:

    前ダメージ = Args(1)

    Return 0

    命中上限:

    If 相手ユニット使用武器 = "回避" Then

    命中上限値 = 95 * 2

    Else

    命中上限値 = 95

    EndIf

    Return 命中上限値

    命中下限:

    If 相手ユニット使用武器 = "回避" Then

    命中下限値 = 5 * 2

    Else

    命中下限値 = 5

    EndIf

    Return 命中下限値

    攻撃力:

    攻撃力値 = 0

    If Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性所有, 格) = 1 Then

    攻撃力値 = 攻撃力値 + 格闘 * Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性レベル, 格)

    EndIf

    If Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性所有, 射) = 1 Then

    攻撃力値 = 攻撃力値 + 射撃 * Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性レベル, 射)

    EndIf
    If Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性所有, 中) = 1 Then

    攻撃力値 = 攻撃力値 + 命中 * Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性レベル, 中)

    EndIf
    If Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性所有, 避) = 1 Then

    攻撃力値 = 攻撃力値 + 回避 * Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性レベル, 避)

    EndIf
    If Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性所有, 応) = 1 Then

    攻撃力値 = 攻撃力値 + 反応 * Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性レベル, 応)

    EndIf
    If Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性所有, 量) = 1 Then

    攻撃力値 = 攻撃力値 + 技量 * Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性レベル, 量)

    EndIf

    If Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性所有, 定) = 1 Then

    攻撃力値 = 攻撃力値 + 100 * Info(ユニット,対象ユニットID,武器, 対象ユニット使用武器, 属性レベル, 定)

    EndIf


    Return 攻撃力値

    防御力:

    防御力値 = 耐久

    If 対象ユニット使用武器 = 防御 Then

    If Info(ユニット,相手ユニットID,武器, 相手ユニット使用武器, 属性所有, 格) = 1 Then

    防御力値 = 防御力値 * ( ( 格闘 - 50 ) / 100 )

    EndIf

    If Info(ユニット,相手ユニットID,武器, 相手ユニット使用武器, 属性所有, 射) = 1 Then

    防御力値 = 防御力値 * ( ( 射撃 - 50 ) / 100 )

    EndIf
    If Info(ユニット,相手ユニットID,武器, 相手ユニット使用武器, 属性所有, 中) = 1 Then

    防御力値 = 防御力値 * ( ( 命中 - 50 ) / 100 )

    EndIf
    If Info(ユニット,相手ユニットID,武器, 相手ユニット使用武器, 属性所有, 避) = 1 Then

    防御力値 = 防御力値 * ( ( 回避 - 50 ) / 100 )

    EndIf
    If Info(ユニット,相手ユニットID,武器, 相手ユニット使用武器, 属性所有, 応) = 1 Then

    防御力値 = 防御力値 * ( ( 反応 - 50 ) / 100 )

    EndIf
    If Info(ユニット,相手ユニットID,武器, 相手ユニット使用武器, 属性所有, 量) = 1 Then

    防御力値 = 防御力値 * ( ( 技量 - 50 ) / 100 )

    EndIf

    EndIf

    Return 防御力値

    *攻撃 全 全:
    クリティカル発生 = 0
    SetMessage 対象ユニットID 攻撃(クリティカル) $(Call(クリティカル発生取得))
    Exit

    クリティカル発生取得:
    クリティカル発生 = 1
    Return

    クリティカル補正:
    クリティカル補正値 = 1
    If クリティカル発生 = 1 Then

    クリティカル補正値 = 1.5

    EndIf
    Return クリティカル補正値
引用返信/返信 削除キー/
■21766 / inTopicNo.2)  Re[1]: バトルコンフィグ使用時の予測ダメージ
□投稿者/ 鉄也 -(2009/11/01(Sun) 21:37:49) [ID:IHiHHFDm]
    どうやら、予測段階でCall(攻撃力)部分が計算されないのが原因みたいでした。
    本計算された段階で敵の行動も切り替わってるようなので、特に問題もないようなので、じこ解決ということで。
    失礼しました。
解決済み!
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -