#============================================================================= # # ■ MPを使い果たした!表示 □Ver1.01 □製作者:月紳士 # # ・RPGツクールVX用 RGSS2スクリプト # # ●…書き換えメソッド(競合注意) ◎…メソッドのエイリアス ○…新規メソッド # # ※二次配布禁止!配布元には利用規約があります。必ずそちらを見てください。 #------------------------------------------------------------------------------ # 更新履歴 # Ver1.01 戦闘行動の強制等、MP 0 の際に無理やりスキルを使った際の誤作動を修正。 #------------------------------------------------------------------------------ =begin  エネミーが戦闘中にMPを使い果たした際、その表示します。  ちょうど使い切る、ということは難しいので  最後の一回はコストが足りなくても  スキルを使えるような仕様にしてあります。  もちろん、エネミーだけの仕様です。 =end #============================================================================== # ■ Game_Battler #------------------------------------------------------------------------------ #  バトラーを扱うクラスです。このクラスは Game_Actor クラスと Game_Enemy クラ # スのスーパークラスとして使用されます。 #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ◎ スキルの消費 MP 計算 # skill : スキル #-------------------------------------------------------------------------- alias tig_mpe_calc_mp_cost calc_mp_cost def calc_mp_cost(skill) unless actor? if skill.mp_cost > mp and mp != 0 return mp end end return tig_mpe_calc_mp_cost(skill) end end #============================================================================== # ■ Scene_Battle #------------------------------------------------------------------------------ #  バトル画面の処理を行うクラスです。 #============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ◎ 戦闘行動の実行 : スキル #-------------------------------------------------------------------------- alias tig_mpe_execute_action_skill execute_action_skill def execute_action_skill before_mp = @active_battler.mp tig_mpe_execute_action_skill return if @active_battler.actor? skill = @active_battler.action.skill unless skill == nil if before_mp > 0 and @active_battler.mp == 0 and @active_battler.calc_mp_cost(skill) > 0 @message_window.clear wait(5) text = sprintf("%sは%sを使い果たした!", @active_battler.name, Vocab::mp) @message_window.add_instant_text(text) wait(60) end end end end