=begin ======================================================================= ☆ 命中率の仕様変更 by 白雪レイカ ------------------------------------------------------------------------------- キャラクターの命中率の合計が100%以上であれば、余剰分で相手の 回避率を減算することができるようにします。 また、魔法命中率を定義することができるようになります。 魔法は基本的に必中なので、命中率がプラスだと相手の回避率を減算、 マイナスだと相手の回避率を加算という感じの処理になります。 ------------------------------------------------------------------------------- ◆使い方 ・魔法命中率の定義 アクター/エネミー/ステート/装備/職業のメモ欄に <魔法命中率(またはm_hit) (数値:%)> と記述することで、 そのアクターetcに魔法命中率が数値分だけ加算されます。 数値にはマイナスの値を入れることもできます。 その場合、魔法命中率が減算されることになります。 ◆おことわり 改造・再配布等自由です。 再配布の際には作者の明示をお願いします。 バグを発見したら速やかにご報告ください。 =end class Game_Battler #-------------------------------------------------------------------------- # ● スキル/アイテムの回避率計算(再定義) #-------------------------------------------------------------------------- def item_eva(user, item) if item.physical? return eva if user.hit <= 1 return eva - (user.hit - 1) end return mev - user.magical_hit if item.magical? return 0 end #-------------------------------------------------------------------------- # ● 魔法命中率を計算 #-------------------------------------------------------------------------- def magical_hit hit = 0 self.states.each do |state| hit += state.magical_hit end if self.actor? hit += actor.magical_hit hit += self.class.magical_hit self.equips.each do |equip| next unless equip hit += equip.magical_hit end else hit += enemy.magical_hit end return hit end end class RPG::BaseItem #-------------------------------------------------------------------------- # ● 魔法命中率の取得 #-------------------------------------------------------------------------- def magical_hit @note.each_line do |line| line.scan(/(?:m_hit|魔法命中率)\s*(\-*\d+)/) return $1.to_i * 0.01 if $1 end return 0 end end