#============================================================================== # ■ RGSS2 戦闘不能ステート付与メッセージ変更 Ver1.00 by 星潟 #------------------------------------------------------------------------------ # スキルやアイテムのダメージではなく # 効果で戦闘不能ステート(ID1のステート)が付与された際 # 本来の設定とは別のメッセージを表示し # ダメージ以外の効果による戦闘不能である事を分かりやすくします。 #============================================================================== module ST1_AN_MES #アイテム/スキル使用時ダメージの適用後に #他の要因で戦闘不能になった際のステートメッセージを設定します。 #(戦闘不能ステートの付与等) #アクターが付与された際のメッセージを指定。 MES1 = 'は命を奪われた!' #エネミーが付与された際のメッセージを指定。 MES2 = 'の命を奪った!' end class Game_Temp attr_accessor :st1_mc_flag #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias initialize_st1mc initialize def initialize #本来の処理を実行。 initialize_st1mc #メッセージ変更フラグを無効にする。 @st1_mc_flag = false end end class Game_Battler #-------------------------------------------------------------------------- # ダメージの処理 #-------------------------------------------------------------------------- alias execute_damage_st1mc execute_damage def execute_damage(user) #本来の処理を実行。 execute_damage_st1mc(user) #現在HPが1以上なら、メッセージ変更フラグを有効にする。 $game_temp.st1_mc_flag = self.hp != 0 end end class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # 影響を受けたステータスの表示 #-------------------------------------------------------------------------- alias display_action_effects_st1mc display_action_effects def display_action_effects(target, obj = nil) #メッセージ変更フラグが有効な場合、ステート1のメッセージを変更する。 $data_states[1].st1_mc_exrcute(0) if $game_temp.st1_mc_flag #本来の処理を実行する。 display_action_effects_st1mc(target, obj) #メッセージ変更フラグが有効な場合、ステート1のメッセージを元に戻す。 $data_states[1].st1_mc_exrcute(1) if $game_temp.st1_mc_flag #メッセージ変更フラグを無効にする。 $game_temp.st1_mc_flag = false end end module RPG class State def st1_mc_exrcute(type) #変更の場合と元に戻す場合で処理を分ける。 case type when 0#変更の場合 #メッセージ1とメッセージ2を保存しておく。 @message_set = [@message1,@message2] #メッセージ1とメッセージ2を変更する。 @message1 = ST1_AN_MES::MES1 @message2 = ST1_AN_MES::MES2 when 1#元に戻す場合 #メッセージセットが存在しない場合、サイズが2でない場合は何もしない。 return if @message_set == nil or @message_set.size != 2 #メッセージ1とメッセージ2を元に戻す。 @message1 = @message_set[0] @message2 = @message_set[1] #メッセージセットを削除しておく。 @message_set = nil end end end end