#============================================================================== # ■ RGSS3 EXP指定クラス Ver1.00 by 星潟 #------------------------------------------------------------------------------ # 通常、アクターの次のレベルまでのEXPは現在の職業によって変化しますが # EXP指定クラスを設定する事で、参照先を特定の職業に固定化します。 # なお、指定しない場合は通常通り、現在の職業依存となります。 # 転職システムを有するゲーム等にはいいかもしれません。 #------------------------------------------------------------------------------ # ★設定例 #------------------------------------------------------------------------------ # アクターのメモ欄にとする事で # このアクターの次のレベルまでのEXPは # 現在職業に関係なく職業ID1の物として扱われます。 #============================================================================== module ACTOR_EXP_CLASS WORD = "EXP指定クラス" end class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # 指定レベルに上がるのに必要な累計経験値の取得 #-------------------------------------------------------------------------- alias exp_for_level_true_self_class exp_for_level def exp_for_level(level) #EXP指定クラスIDが0の場合は通常通りの処理を行い #そうでない場合は該当IDのデータを用いる。 exp_class == 0 ? exp_for_level_true_self_class(level) : $data_classes[exp_class].exp_for_level(level) end #-------------------------------------------------------------------------- # EXP指定クラスIDを取得 #-------------------------------------------------------------------------- def exp_class #アクターのEXP指定クラスを取得。 actor.exp_class end end class RPG::Actor < RPG::BaseItem #-------------------------------------------------------------------------- # EXP指定クラス #-------------------------------------------------------------------------- def exp_class #キャッシュがある場合はキャッシュを返す。 return @exp_class if @exp_class != nil #データを取得。 data = self.note.scan(/<#{ACTOR_EXP_CLASS::WORD}[::](\S+)>/).flatten #データが存在しない場合は常に0を返す。 @exp_class = data[0] != nil && !data[0].empty? ? data[0].to_i : 0 #データを返す。 @exp_class end end