#============================================================================== # ■ RGSS3 行動回数仕様変更 Ver1.00 by 星潟 #------------------------------------------------------------------------------ # 特徴による過剰な複数回行動を防止し、2回行動までに限定します。 # この効果はアクターとエネミーはそれぞれ別に設定が可能です。 # (このスクリプトのデフォルトでは # アクターのみ制限し、敵は通常通りの行動を行います) # # なお、制限を行った場合は、行動回数増加率を個別に計算せず合算します。 #------------------------------------------------------------------------------ # 例1. # 行動回数増加率20%の装備を3つ付けた場合 # # 制限しない場合 => 20%で3回判定し、最大4回行動を行う。 # # 制限する場合 => 20%を3回分合算し、60%の確率で2回行動を行う。 #------------------------------------------------------------------------------ # 例2. # 行動回数増加率60%の装備を2つ付けた場合 # # 制限しない場合 => 60%で2回判定し、最大3回行動を行う。 # # 制限する場合 => 60%を2回分合算し、120%の確率で2回行動を行う。 # (100%を超えても確実になるだけで、3回行動にはならない) #------------------------------------------------------------------------------ # 当方の「XPスタイルバトル拡張スクリプト 再行動」を導入されている場合 # 必ず、該当スクリプトよりもこのスクリプトを上側に配置して下さい。 #============================================================================== module ACTT_C #アクターの行動回数を2回までに制限し、計算方法を変えるか? ACTOR = true #エネミーの行動回数を2回までに制限し、計算方法を変えるか? ENEMY = false end class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # 行動回数の決定 #-------------------------------------------------------------------------- alias make_action_times_calc_change make_action_times def make_action_times #アクターかエネミーかで条件分岐し #それぞれの場合で更に計算を分岐させる。 if self.actor? ACTT_C::ACTOR ? total_type_action_times : make_action_times_calc_change else ACTT_C::ENEMY ? total_type_action_times : make_action_times_calc_change end end #-------------------------------------------------------------------------- # 行動回数増加確率の総和を以て1回行動か2回行動かの決定 #-------------------------------------------------------------------------- def total_type_action_times #0.0に確率を足していく。 data = action_plus_set.inject(0.0) {|r, i| r + i} #乱数が確率の総和より低い場合に2回行動。 rand < data ? 2 : 1 end end