#============================================================================== # ■ RGSS3 レベル別基礎能力値直接指定 Ver1.01 by 星潟 #------------------------------------------------------------------------------ # 限界突破系のスクリプトを使用した場合でも # データベース上で設定できる職業のレベル別基礎能力値は限界突破出来ませんが # このスクリプト上では自由に基礎能力値を変更出来ます。 # このスクリプト単体では限界突破関連の効果は持たない為 # 限界突破系のスクリプトと併用しないとほぼ意味はありません。 # # ※仕様上、設定が超面倒臭いです。 # かなりの根気を持ち合わせている自信がなければ導入はお勧めしません。 #============================================================================== module DirectSetBaseParam #★★★★★変更不要ゾーンここから #空のハッシュを用意。 C = {} #-------------------------------------------------------------------------- # 職業・レベルに応じた能力値を設定。 #-------------------------------------------------------------------------- def self.set(class_id,level,array) C[class_id] ||= {} C[class_id][level] = array end #★★★★★変更不要ゾーンここまで #以下、職業別設定。 #必ず職業ID、レベル、8能力値の値の配列をセットで設定する。 #指定しないレベルについてはデフォルト値となる。 #例. #set(1,2,[12000,2000,2000,1500,1500,1500,1500,1500]) #この場合、職業ID1はレベル2の時 #最大HP12000、最大MP2000、攻撃力2000、防御力1500...敏捷性1500、運1500となる。 #職業ID1の基礎能力値をレベル別に指定。 set(1,1,[10000,1500,1500,1000,1000,1000,1000,1000]) set(1,2,[12000,2000,2000,1500,1500,1500,1500,1500]) #職業ID2の基礎能力値をレベル別に指定。 set(2,1,[10000,1500,1500,1000,1000,1000,1000,1000]) set(2,2,[12000,2000,2000,1500,1500,1500,1500,1500]) #以上、設定終了。 end class RPG::Class < RPG::BaseItem #-------------------------------------------------------------------------- # レベル別能力値 #-------------------------------------------------------------------------- unless method_defined?(:params_extra_base_param) alias params_extra_base_param params def params if !@extra_base_param_applied @extra_base_param_applied = true h = DirectSetBaseParam::C[self.id] if h h.each {|k,v| 8.times {|i| @params[i,k] = v[i]}} end end params_extra_base_param end end end