#============================================================================== # ■ RGSS3 能力値レベル強化特徴 Ver1.00 by 星潟 #------------------------------------------------------------------------------ # 指定した能力を指定レベル分高いレベルの値にする特徴を作成できます。 # ただし、最低レベル(1)の能力を下回ったり # 最高レベルの値を上回る事はありません。 # # なお、アクター側にしか効果は無いのでご注意ください。 #============================================================================== # 特徴を有する項目(装備品やステート等)のメモ欄に指定します。 # 最初の値はそれぞれ下記の対応になります。 # # 0:最大HP # 1:最大MP # 2:攻撃力 # 3:防御力 # 4:魔法力 # 5:魔法防御 # 6:敏捷性 # 7:運 #============================================================================== # <能力値レベル強化:0,5> # # 最大HPをそのアクターの5レベル分高い状態にします。 #============================================================================== # <能力値レベル強化:1,4> # # 最大MPをそのアクターの4レベル分高い状態にします。 #============================================================================== # <能力値レベル強化:6,self.level> # # 敏捷性をそのアクターの2倍のレベルの状態、 # つまりアクターの現在レベル分、レベルが高い状態にします。 #============================================================================== # <能力値レベル強化:7,$game_variables[1]> # # 運を変数ID1の値分高い状態にします。 #============================================================================== module LevelChangeFeature #能力値レベル強化特徴設定用キーワードを指定します。 W = "能力値レベル強化" end class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # 通常能力値の基本値取得 #-------------------------------------------------------------------------- alias param_base_lvc param_base def param_base(param_id) llv = @level @level = [[@level + eval(f_level_change_data(param_id)),1].max,max_level].min d = param_base_lvc(param_id) @level = llv d end def f_level_change_data(param_id) feature_objects.inject("0") {|r,f| r += f.level_change_data[param_id]} end end class RPG::BaseItem def level_change_data @level_change_data ||= level_change_data_make end def level_change_data_make hash = {} 8.times {|i| hash[i] = " + " + (/<#{LevelChangeFeature::W}[::]#{i.to_s},(\S+)>/ =~ note ? $1.to_s : "0")} hash end end