# まとめて表示するパラメータの数 STUP_NUM = 3 #============================================================================== # ■ Vocab #============================================================================== module Vocab # ステータスアップ時のメッセージ StatusUp = "%s + %s" end #============================================================================== # ■ Game_Actor #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● 経験値の変更 #-------------------------------------------------------------------------- def change_exp(exp, show) @exp[@class_id] = [exp, 0].max @last_level = @level # ☆ last_skills = skills level_up while !max_level? && self.exp >= next_level_exp level_down while self.exp < current_level_exp display_level_up(skills - last_skills) if show && @level > @last_level # ☆ refresh end #-------------------------------------------------------------------------- # ● レベルアップメッセージの表示 #-------------------------------------------------------------------------- def display_level_up(new_skills) $game_message.new_page $game_message.add(sprintf(Vocab::LevelUp, @name, Vocab::level, @level)) text = "" (0..7).each{|i| text += sprintf(Vocab::StatusUp, Vocab::param(i), param_dif(i)) if ((i+1) % STUP_NUM).zero? || i == 7 $game_message.add(text); text = "" else text += " " end } new_skills.each do |skill| $game_message.add(sprintf(Vocab::ObtainSkill, skill.name)) end end #-------------------------------------------------------------------------- # ● なんか #-------------------------------------------------------------------------- def param_dif(param_id) self.class.params[param_id,@level]-self.class.params[param_id,@last_level] end end