#============================================================================== # ■ RGSS3 基本限界設定 Ver1.01 by 星潟 #------------------------------------------------------------------------------ # このスクリプトを導入することで各基本能力値の # 通常値+成長効果の合計値の最大値を設定出来ます。 # 限界突破スクリプトと組み合わせる事で # 装備品やステートの併用があって初めて限界値を超えるようなシステムを作れます。 # # 例.限界突破スクリプトの側で攻撃力9999最大、こちらで999最大にしておけば # いくらドーピングしてもステートや強化、装備なしでは999が最大となり # それらを利用する事ではじめて4桁の能力値になる、等 #============================================================================== # 特徴を有する項目のメモ欄に指定します。 # 行を分けて設定することでいくつでも設定できます。 #============================================================================== # 設定例 # # <基本限界変動:0,15000> # # このキャラクターの最大HPのシステム上の基本限界値は+15000されます。 # # <基本限界変動:1,3000> # # このキャラクターの最大MPのシステム上の基本限界値は+3000されます。 # # <基本限界変動:2,2000> # # このキャラクターの攻撃力のシステム上の基本限界値は+2000されます。 # # <基本限界変動:3,1000> # # このキャラクターの防御力のシステム上の基本限界値は+1000されます。 # # <基本限界変動:4,-50> # # このキャラクターの魔法力のシステム上の基本限界値は-50されます。 # # <基本限界変動:5,-150> # # このキャラクターの魔法防御のシステム上の基本限界値は-150されます。 # # <基本限界変動:6,-25> # # このキャラクターの敏捷性のシステム上の基本限界値は-25されます。 # # <基本限界変動:7,-500> # # このキャラクターの運のシステム上の基本限界値は-500されます。 #============================================================================== module LBB #空のハッシュを2つ用意。 A = {} E = {} #基本限界変動のキーワードを指定。 W = "基本限界変動" #アクターの基本限界を設定します。 #最大HP〜運の順に指定して下さい。 A[0] = 999999 A[1] = 99999 A[2] = 9999 A[3] = 9999 A[4] = 9999 A[5] = 9999 A[6] = 9999 A[7] = 9999 #エネミーの基本限界を設定します。 #最大HP〜運の順に指定して下さい。 E[0] = 9999999 E[1] = 99999 E[2] = 9999 E[3] = 9999 E[4] = 9999 E[5] = 9999 E[6] = 9999 E[7] = 9999 end class Game_BattlerBase #-------------------------------------------------------------------------- # 通常能力値の加算値取得 #-------------------------------------------------------------------------- alias param_plus_ex_limit param_plus def param_plus(param_id) l = ex_base_limit(param_id) - param_base(param_id) m = param_plus_ex_limit(param_id) l > m ? m : l end #-------------------------------------------------------------------------- # 通常能力値の加算値取得 #-------------------------------------------------------------------------- def ex_base_limit(param_id) (self.actor? ? LBB::A : LBB::E)[param_id] + ex_base_limit_f(param_id) end #-------------------------------------------------------------------------- # 通常能力値の加算値取得 #-------------------------------------------------------------------------- def ex_base_limit_f(param_id) feature_objects.inject(0) {|r,f| r += f.f_base_limit_param[param_id]} end end class RPG::BaseItem #-------------------------------------------------------------------------- # 限界突破追加値の取得 #-------------------------------------------------------------------------- def f_base_limit_param @f_base_limit_param ||= f_base_limit_param_make end #-------------------------------------------------------------------------- # 限界突破追加値の取得 #-------------------------------------------------------------------------- def f_base_limit_param_make r = [0] * 8 self.note.each_line {|l| if /<#{LBB::W}[::](\d+),(\S+)>/ =~ l k = $1.to_i r[k] += $2.to_i if k >= 0 && k <= 7 end} r end end