58 lines
No EOL
2 KiB
Ruby
58 lines
No EOL
2 KiB
Ruby
#==============================================================================
|
|
# ■ RGSS3 通常攻撃時の攻撃追加回数強制適用 Ver1.00 by 星潟
|
|
#------------------------------------------------------------------------------
|
|
# 通常攻撃時、攻撃範囲がランダム、もしくは全体になっている場合は
|
|
# 攻撃回数が追加されず、1回しか攻撃しない不具合を修正します。
|
|
#==============================================================================
|
|
class Game_Action
|
|
#--------------------------------------------------------------------------
|
|
# ● 敵に対するターゲット
|
|
#--------------------------------------------------------------------------
|
|
alias targets_for_opponents_attack_change targets_for_opponents
|
|
def targets_for_opponents
|
|
|
|
#本来の処理を行い、ターゲット配列を取得する。
|
|
|
|
array_data = targets_for_opponents_attack_change
|
|
|
|
#行動が通常攻撃の場合は分岐する。
|
|
|
|
if attack?
|
|
|
|
#行動者の攻撃追加回数を取得する。
|
|
|
|
number = @subject.atk_times_add.to_i
|
|
|
|
#行動者の攻撃追加回数が0以下の場合は既存の配列を返す。
|
|
|
|
return array_data if number <= 0
|
|
|
|
if item.for_random?#行動がランダムターゲットの場合
|
|
|
|
#攻撃追加回数分だけ、ランダムターゲットを配列に加える。
|
|
|
|
number.times do
|
|
array_data += Array.new(item.number_of_targets) { opponents_unit.random_target }
|
|
end
|
|
|
|
elsif item.for_one?#行動が単体の場合
|
|
|
|
#何もしない
|
|
|
|
else#行動が全体の場合
|
|
|
|
#攻撃追加回数分だけ、敵全体を配列に加える。
|
|
|
|
number.times do
|
|
array_data += opponents_unit.alive_members
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
#配列を返す。
|
|
|
|
return array_data
|
|
end
|
|
end |