sacred-ritual-academy/Scripts/_.21.rb
2025-03-18 19:45:34 -05:00

185 lines
8 KiB
Ruby
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#==============================================================================
# □ パラメータ最大値拡張for VX Ace
#------------------------------------------------------------------------------
# Version : 1_20120105
# by サリサ・タイクーン
# http://www.tycoon812.com/rgss/
#==============================================================================
#==============================================================================
# □ 素材スイッチ
#==============================================================================
$rgsslab = {} if $rgsslab == nil
$rgsslab["パラメータ最大値拡張"] = true
if $rgsslab["パラメータ最大値拡張"]
#==============================================================================
# □ カスタマイズポイント
#==============================================================================
module RGSSLAB end
module RGSSLAB::Parameter_Max_Value_Extension
#--------------------------------------------------------------------------
# ○ 用語のロード
# データベースで定めた用語をロードします。
#
# この値は絶対に変えないで下さい。
#--------------------------------------------------------------------------
system = load_data("Data/System.rvdata2")
#--------------------------------------------------------------------------
# ○ 最大値設定
# 各パラメータの最大値の設定です。
#
# 尚、パラメータの追加と併用している場合に限り
# LIMITの中に、追加したパラメータの名称を追加記述する事で
# 追加したパラメータにもこの素材の機能をご利用する事ができます。
#
# パラメータ名は""で囲んだ上で、直接記述して下さい。
#--------------------------------------------------------------------------
LIMIT = {
system::terms::params[0] => 9999, # 最大HP
system::terms::params[1] => 9999, # 最大MP
system::terms::params[2] => 99999, # 攻撃力
system::terms::params[3] => 99999, # 防御力
system::terms::params[4] => 99999, # 魔法力
system::terms::params[5] => 99999, # 魔法防御
system::terms::params[6] => 99999, # 敏捷性
system::terms::params[7] => 99999, # 運
}
end
# カスタマイズポイントは、ここまで
#==============================================================================
# □ RGSSLAB::Parameter_Max_Value_Extension [module]
#==============================================================================
module RGSSLAB::Parameter_Max_Value_Extension
#--------------------------------------------------------------------------
# ○ 素材設定用の定数定義
#--------------------------------------------------------------------------
MATERIAL_NAME = "パラメータ最大値拡張"
VERSION = 1
RELEASE = 20120105
#--------------------------------------------------------------------------
# ○ 操作エラー
# error_number : エラー番号
#--------------------------------------------------------------------------
def self.operate_error(error_number)
text = "【RGSS研究所#{MATERIAL_NAME}"
case error_number
when 1
msgbox_p text,
"存在しないパラメータを指定しています。"
when 2
msgbox_p text,
"value[1]の値が設定されてない為、実行できません。"
when 3
msgbox_p text,
"マイナスの値はできません。"
end
end
end
#==============================================================================
# ■ Game_BattlerBase [class]
#==============================================================================
class Game_BattlerBase
#--------------------------------------------------------------------------
# ○ モジュールの設定
#--------------------------------------------------------------------------
RGSSLAB_004 = RGSSLAB::Parameter_Max_Value_Extension
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :abolition
#--------------------------------------------------------------------------
# ● オブジェクト初期化 [エイリアス]
#--------------------------------------------------------------------------
alias parameter_max_value_extension_initialize initialize
def initialize
parameter_max_value_extension_initialize
@limit = {}
@abolition = false
for l in RGSSLAB_004::LIMIT do @limit[l[0]] = l[1] end
end
#--------------------------------------------------------------------------
# ○ 限界値の参照
# kind : パラメータの種類
#--------------------------------------------------------------------------
def limit(kind = "")
return @limit if kind == "" or kind == "全部"
return RGSSLAB_004.operate_error(1) if @limit[kind] == nil
return @limit[kind]
end
#--------------------------------------------------------------------------
# ○ 限界値の代入
# value : フラグと操作するパラメータの種類(配列格納)
# value[0] : 操作するパラメータ
# value[1] : 変更する限界の値
#--------------------------------------------------------------------------
def limit=(value)
return RGSSLAB_004.operate_error(2) if value[1] == nil
return RGSSLAB_004.operate_error(3) if value[1] < 0
return RGSSLAB_004.operate_error(1) if @limit[value[0]] == nil unless value[0] == "" or value[0] == "全部"
if value[0] == "" or value[0] == "全部"
for a in @limit.keys do @limit[a] = value[1] end
else
@limit[value[0]] = value[1]
end
end
#--------------------------------------------------------------------------
# ● 通常能力値の最大値取得 [再定義]
# param_id : パラメータID
#--------------------------------------------------------------------------
def param_max(param_id)
if param_id < 8
return @limit[parameter_string(param_id)]
else
return @limit[@limit.keys[param_id]]
end
end
#--------------------------------------------------------------------------
# ● 通常能力値の取得 [再定義]
# param_id : パラメータID
#--------------------------------------------------------------------------
def param(param_id)
value = param_base(param_id) + param_plus(param_id)
value *= param_rate(param_id) * param_buff_rate(param_id)
if @abolition
return [value, param_min(param_id)].max.to_i
else
return [[value, param_max(param_id)].min, param_min(param_id)].max.to_i
end
end
#--------------------------------------------------------------------------
# ○ パラメータ文字列
# param_id : パラメータID
#--------------------------------------------------------------------------
def parameter_string(param_id)
system = $data_system
case param_id
when 0 ; return system.terms.params[0]
when 1 ; return system.terms.params[1]
when 2 ; return system.terms.params[2]
when 3 ; return system.terms.params[3]
when 4 ; return system.terms.params[4]
when 5 ; return system.terms.params[5]
when 6 ; return system.terms.params[6]
when 7 ; return system.terms.params[7]
end
end
end
#==============================================================================
# ■ Game_Actor [class]
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● 通常能力値の最大値取得 [再定義][オーバーライド]
#--------------------------------------------------------------------------
def param_max(param_id)
return super
end
end
end