MP消費改造 in VX Ace


スキルのMP消費を改造します。 スキルのメモに [MP割合消費] / [HP消費] / [HP割合消費] を記載するだけで適応されます。 変更点 まだなし
#==============================================================================
# ■ MP消費改造 in VX Ace By 貪藻矢射妥←
#------------------------------------------------------------------------------
# スキルのMP消費を改造します。
# 
# スキルのメモに [MP割合消費] / [HP消費] / [HP割合消費] を記載するだけで
# 適応されます。
# 
#==============================================================================
# 更新っぽいもの
# まだなし

#==============================================================================
# ■ Game_BattlerBase
#------------------------------------------------------------------------------
#  バトラーを扱う基本のクラスです。主に能力値計算のメソッドを含んでいます。こ
# のクラスは Game_Battler クラスのスーパークラスとして使用されます。
#==============================================================================

class Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● スキルの消費 MP 計算
  #--------------------------------------------------------------------------
  def skill_mp_cost(skill)
    text = skill.note.clone
    if text =~ /\[MP割合消費\]/
      (skill.mp_cost * mmp / 100.0 * mcr).to_i
    elsif text =~ /\[HP割合消費\]/
      (skill.mp_cost * mhp / 100.0 * mcr).to_i
    else
      (skill.mp_cost * mcr).to_i
    end
  end
  #--------------------------------------------------------------------------
  # ● スキル使用コストの支払い可能判定
  #--------------------------------------------------------------------------
  def skill_cost_payable?(skill)
    if skill.note.clone =~ /\[(H|M)P\S+\]/
      tp >= skill_tp_cost(skill) && 
        ((mp >= skill_mp_cost(skill) && skill.note.clone =~ /\[MP\S+\]/) || 
         (hp >= skill_mp_cost(skill) && skill.note.clone =~ /\[HP\S+\]/))
    else
      tp >= skill_tp_cost(skill) && mp >= skill_mp_cost(skill)
    end     
  end
  #--------------------------------------------------------------------------
  # ● スキル使用コストの支払い
  #--------------------------------------------------------------------------
  def pay_skill_cost(skill)
    self.mp -= skill_mp_cost(skill) if skill.note.clone =~ /\[MP\S+\]/
    self.hp -= skill_mp_cost(skill) if skill.note.clone =~ /\[HP\S+\]/
    self.tp -= skill_tp_cost(skill)
  end
end

戻る