![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
昨日のスレで「余計な物要らんからサイズ差補正有る奴だけ欲しい」という意見貰ったから作っておく 直撃, ちょくげき 直, 25, 自分, 攻撃, -, -, 直撃 防御能力無効化 回避能力無効化 シールド防御無効化 サポートガード無効化 一度だけ、敵の特殊防御・回避能力とサイズ差補正を無視する 大=解説 サイズ差補正無視 "サイズ差補正による与ダメージと命中率の低下を無効にする。" ################################################################################ ### Alias ###################################################################### サイズ差補正無視 特殊能力サイズ差補正無視=サイズ差補正無視 サイズ差補正無視=解説 "サイズ差補正による与ダメージと命中率の低下を無効にする。" ################################################################################ ### Battle ##################################################################### 最終ダメージ 最終値 * Call("ADJUST_SIZEDAMAGE", 攻撃側ユニットID, 防御側ユニットID, 武器番号) 命中率 (攻撃側補正 - 防御側補正) * 地形適応 _ * Call("ADJUST_UNITSIZE", 防御側ユニットID, 攻撃側ユニットID, 武器番号) ################################################################################ ### Include #################################################################### //――――――――――――――――――――――――――――――――――――――― // 関数名:ADJUST_UNITSIZE // 説 明:ユニットサイズによる回避率補正を算出する // 戻り値: 攻撃側サイズ - 防御側サイズ(1.5〜0.5) // 引 数: Args(1):防御側ユニットID // Args(2):攻撃側ユニットID //――――――――――――――――――――――――――――――――――――――― ADJUST_UNITSIZE: Local i i[XL] = 6 i[LL] = 5 i[L] = 4 i[M] = 3 i[S] = 2 i[SS] = 1 i[Avoid] = 1 + (i[Info(ユニット, Args(1), サイズ)] _ - i[Info(ユニット, Args(2), サイズ)]) / 10 # サイズ差補正無視スキル所持、武器が「大」属性、SP「直撃」がかかっている場合は # 命中率が低下しない If i[Avoid] < 1 Then If Skill(PilotID(Args(2)), 特殊能力サイズ差補正無視) <> 0 Then Return 1 ElseIf Info(ユニット, Args(2), 武器, Args(3), 属性所有, "大") = 1 Then Return 1 ElseIf SpecialPower(PilotID(Args(2)), 直撃) = 1 Then Return 1 EndIf EndIf Return i[Avoid] //――――――――――――――――――――――――――――――――――――――― // 関数名:ADJUST_SIZEDAMAGE // 説 明:ユニットサイズによるダメージ補正を算出する // 戻り値: 0.5〜1.5 // 引 数: Args(1):攻撃側ユニットID // Args(2):防御側ユニットID // Args(3):武器番号 //――――――――――――――――――――――――――――――――――――――― ADJUST_SIZEDAMAGE: Local i i[XL] = 6 i[LL] = 5 i[L] = 4 i[M] = 3 i[S] = 2 i[SS] = 1 # 1 + (攻撃側サイズ - 防御側サイズ) / 10 i[Damage] = 1 + (i[Info(ユニット, Args(1), サイズ)] _ - i[Info(ユニット, Args(2), サイズ)]) / 10 # サイズ差補正無視スキル所持、武器が「大」属性、SP「直撃」がかかっている場合は # サイズ差ダメージ補正を算出しない(ただし、ダメージが低下する場合のみ) If i[Damage] < 1 Then If Skill(PilotID(Args(1)), 特殊能力サイズ差補正無視) <> 0 Then Return 1 ElseIf Info(ユニット, Args(1), 武器, Args(3), 属性所有, "大") = 1 Then Return 1 ElseIf SpecialPower(PilotID(Args(1)), 直撃) = 1 Then Return 1 EndIf EndIf Return i[Damage] [No.95] 2011/10/23(Sun) 10:40:42 |