=begin ★ks_ランダム複数回攻撃 最終更新日 2011/10/1 □===制作・著作===□ MaidensnowOnline 暴兎 http://maidensnow.blog100.fc2.com/ 使用プロジェクトを公開する場合、readme等に当HP名とそのアドレスを記述してください。 使用報告はしてくれると喜びます。 □===配置場所===□ エリアスのみで構成されているので、 可能な限り"▼ メイン"の上、近くに配置してください。 □===前提スクリプト===□ なし □===説明・使用方法===□ 別に攻撃に限った話ではありません。 スキルやアイテムの効果範囲はそのままに、攻撃回数をランダムあるいは非ランダムに変更します。 1回未満が出た場合は攻撃はターゲット不在で行われます。 なお、敵全体に対して行う攻撃に"ランダム攻撃合計"を設定するとランダムでx体に攻撃と同等になります。 例 <ランダム攻撃 1, 5># 本来のターゲット全てに1〜5回効果を発動 <ランダム攻撃合計 0, 12># 本来のターゲット中の0〜12体に効果を発動。重複あり。 □===エリアスしているメソッド===□ Game_BattleAction make_obj_targets =end class RPG::BaseItem RANDOM_MULTI_ATTACK_COUNT = /<ランダム攻撃(合計)?\s*([-\d]+)\s*,\s*([-\d]+)\s*>/i def random_multi_attack_make unless defined?(@random_multi_attack_min) @random_multi_attack_sum = @random_multi_attack_min = @random_multi_attack_max = false if self.note =~ RANDOM_MULTI_ATTACK_COUNT @random_multi_attack_sum = !$1.nil? @random_multi_attack_min = $2.to_i @random_multi_attack_max = $3.to_i #p name, @random_multi_attack_sum, @random_multi_attack_min, @random_multi_attack_max end end end def random_multi_attack_sum random_multi_attack_make return @random_multi_attack_sum end def random_multi_attack_min random_multi_attack_make return @random_multi_attack_min end def random_multi_attack_max random_multi_attack_make return @random_multi_attack_max end end class Game_BattleAction alias make_obj_targets_for_random_multi_attack make_obj_targets def make_obj_targets(obj) result = make_obj_targets_for_random_multi_attack(obj) if obj.random_multi_attack_min vv = rand(obj.random_multi_attack_max - obj.random_multi_attack_min + 1) + obj.random_multi_attack_min return [] if vv < 1 if obj.random_multi_attack_sum n_result = [] #lista = result.dup vv.times{|i| n_result << result[rand(result.size)]#lista.shift #lista += result if lista.empty? } return n_result else if vv > 1 n_result = result.dup vv.times{|i| n_result += result } return n_result end end end return result end end