#============================================================================== # ★ レベル変動ステート&敵レベル設定 ver1.01 by USK #------------------------------------------------------------------------------ # ・ステートが付加されている間、能力値を別のレベルの値にします。 # ・敵にレベルを設定して、レベル変動ステートを有効にすると共に、 #  ダメージ計算式のlevelを敵にも有効にします。 #============================================================================== =begin ・ステートのメモ欄にの様にと記入するとステートが付加されて  いる間レベルが変化量分上がります。(スキルは覚えない)  の様に記入するとレベルが下がります。  複数のステートがかかっている場合、変化量の合計が適用されます。 ・敵キャラのメモ欄にのように設定すると、ダメージ計算式で使うlevelの値が  設定できます。  の様に    と入力するとステートによってレベルが変動したときの各能力値の1レベル当たりの  変化量を小数レベルで設定できます。  メモ欄にの記入がない場合レベル1として扱います。  メモ欄にの記入がない場合、として扱い  ます。 =end #============================================================================== # ■ Game_Enemy #============================================================================== class Game_Enemy #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def level enemy.level + cheat_lv end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def cheat_param(param_id) (cheat_lv * enemy.cheat_param[param_id]).to_i end #-------------------------------------------------------------------------- # ● 通常能力値の基本値取得 #-------------------------------------------------------------------------- alias :usk_lvup_param_base :param_base def param_base(param_id) usk_lvup_param_base(param_id) + cheat_param(param_id) end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def cheat_lv return 0 if @states.empty? ret = @states.inject(0){|ret, state| ret += $data_states[state].cheat_lv} ret = [1 - enemy.level, [ret, 99 - enemy.level].min].max end end #============================================================================== # ■ Game_Actor #============================================================================== class Game_Actor #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- alias :usk_lvup_level :level def level usk_lvup_level + cheat_lv end #-------------------------------------------------------------------------- # ● 通常能力値の基本値取得 #-------------------------------------------------------------------------- alias :usk_lvup_param_base :param_base def param_base(param_id) bk = @level @level += cheat_lv ret = usk_lvup_param_base(param_id) @level = bk ret end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def cheat_lv return 0 if @states.empty? ret = @states.inject(0){|ret, state| ret += $data_states[state].cheat_lv} ret = [1 - @level, [ret, actor.max_level - @level].min].max end end #============================================================================== # ■ RPG::Enemy #============================================================================== class RPG::Enemy #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def level @level ||= note =~ //m ? $1.to_i : 1 end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def cheat_param @cheat_param ||= note =~ //m ? eval("[#{$1}]") : [1] * 20 end end #============================================================================== # ■ RPG::State #============================================================================== class RPG::State #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def cheat_lv @cheat_lv ||= note =~ //m ? $1.to_i : 0 end end