#============================================================================== # 装備レート ver1.00 #------------------------------------------------------------------------------ #[特徴] # 装備品による能力増加に補正を掛けます。 # #[つまり] # 攻撃力の補正率を120にすると、攻撃力200の装備品で、攻撃力が240増える。 # #[使用上の注意] # 再定義している箇所があるので、できるだけ上に追加してください。 # # 作成:ぶちょー # ホム:http://nyannyannyan.bake-neko.net/ # 著作:自分で作ったとか言わないで>< # 改造はご自由にどうぞ。 # リードミーとかに私の名前の載せたりするのは任意で。 #============================================================================== #============================================================================== # バージョンアップ情報 # ver1.00 公開 #============================================================================== #============================================================================== # 設定項目 #============================================================================== module Kazari module EQUIP_RATE # アクターIDで判断するかクラスIDで判断するか # 0 : アクターID # 1 : クラスID TYPE = 0 # 装備レートの設定 # 省略すると 100 として計算します。 RATE = { 1 => { # ID => { :atk => 100, # 攻撃力 :def => 100, # 防御力 :spi => 100, # 精神力 :agi => 100, # 敏捷性 :hit => 100, # 命中率 :eva => 100, # 回避率 }, 2 => { :atk => 120, :def => 120, :spi => 80, :agi => 80, }, } end end #============================================================================== # ここまで #============================================================================== #============================================================================== # ■ Game_Actor #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● 基本攻撃力の取得 ※ 再定義 #-------------------------------------------------------------------------- def base_atk n = actor.parameters[2, @level] plus = 0 for item in equips.compact do plus += item.atk end n += calc_equip_rate(plus, :atk) return n end #-------------------------------------------------------------------------- # ● 基本防御力の取得 ※ 再定義 #-------------------------------------------------------------------------- def base_def n = actor.parameters[3, @level] plus = 0 for item in equips.compact do plus += item.def end n += calc_equip_rate(plus, :def) return n end #-------------------------------------------------------------------------- # ● 基本精神力の取得 ※ 再定義 #-------------------------------------------------------------------------- def base_spi n = actor.parameters[4, @level] plus = 0 for item in equips.compact do plus += item.spi end n += calc_equip_rate(plus, :spi) return n end #-------------------------------------------------------------------------- # ● 基本敏捷性の取得 ※ 再定義 #-------------------------------------------------------------------------- def base_agi n = actor.parameters[5, @level] plus = 0 for item in equips.compact do plus += item.agi end n += calc_equip_rate(plus, :agi) return n end #-------------------------------------------------------------------------- # ● 命中率の取得 #-------------------------------------------------------------------------- alias calc_equip_rate_hit hit def hit return calc_equip_rate(calc_equip_rate_hit, :hit) end #-------------------------------------------------------------------------- # ● 回避率の取得 ※ 再定義 #-------------------------------------------------------------------------- def eva n = 5 plus = 0 for item in armors.compact do plus += item.eva end n += calc_equip_rate(plus, :eva) return n end #-------------------------------------------------------------------------- # ● 装備レートの計算 #-------------------------------------------------------------------------- def calc_equip_rate(para, type) id = Kazari::EQUIP_RATE::TYPE == 0 ? @actor_id : @class_id list = Kazari::EQUIP_RATE::RATE[id] if list != nil rate = list[type] para *= rate / 100.0 if rate != nil end return Integer(para) end end