#============================================================================== # ■ RGSS3 エネミー能力値変更/指定 Ver1.00a by 星潟 #------------------------------------------------------------------------------ # エネミーの能力をデータベースの設定以上に変更出来ます。 # なお、限界値は無視できませんのでご注意ください。 # 限界突破特徴との併用が想定です。 #============================================================================== # エネミーのメモ欄に指定。 # 変更の場合は加算、指定の場合はその値に変更します。 # 両方設定した場合は指定の方が優先されます。 # 最初の数字で能力値を指定(0が最大HP、1が最大MP...7が運) # 次の数字で加算値もしくは指定値を設定します。 #------------------------------------------------------------------------------ # <エネミー能力値変更:0,9000000> # # このエネミーの最大HPを+9000000します。 #------------------------------------------------------------------------------ # <エネミー能力値指定:7,9000> # # データベース上の設定値を無視し、このエネミーの運を9000にします。 #============================================================================== module EnemyParamAddOver999 #エネミー能力値変更の設定用キーワードを指定。 Word1 = "エネミー能力値変更" #エネミー能力値指定の設定用キーワードを指定。 Word2 = "エネミー能力値指定" end class RPG::Enemy < RPG::BaseItem #-------------------------------------------------------------------------- # 能力値の参照 #-------------------------------------------------------------------------- unless method_defined?(:params_add_over999) alias params_add_over999 params def params unless @params_add_over999_flag @params_add_over999_flag = true execute_params_add_over999 end params_add_over999 end end #-------------------------------------------------------------------------- # 能力値の変更処理 #-------------------------------------------------------------------------- def execute_params_add_over999 note.each_line {|l| next unless /#{EnemyParamAddOver999::Word1}[::](\d+),(\S+)/ =~ l k = $1.to_i @params[k] += $2.to_i if k >= 0 && k < 8} note.each_line {|l| next unless /#{EnemyParamAddOver999::Word2}[::](\d+),(\S+)/ =~ l k = $1.to_i @params[k] = $2.to_i if k >= 0 && k < 8} end end