class Scene_Battle < Scene_Base =begin ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ★エネミーに関するメッセージを複数設定EX  by_のんびりまったり / ももぺ  改造 ⇒ DEICIDE ALMA / レーネ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ◆概要    エネミー(敵)の ・逃亡時のメッセージ ・待機時(様子見)のメッセージ ・消滅時のメッセージ を変更する。 ◆使い方 敵のメモ欄に 逃走メッセ[a] のように書くと 敵が逃げた場合のメッセがRenne_escapeでa番に設定したものになる 敵のメモ欄に 待機メッセ[b] のように書くと 敵が待機した場合のメッセがRenne_enemy_waitでb番に設定したものになる 敵のメモ欄に 撃破メッセ[c] のように書くと 敵を倒した場合のメッセがRenne_enemy_deadでc番に設定したものになる 敵のメモ欄に メッセ[a,b,c] のように書いてもOK ※個別指定か一気に3個指定しかできません ※個別指定が優先される =end # カスタマイズ項目 # 敵が逃げた場合のメッセージを設定 Renne_escape = { 0 => "%sは恐怖のあまり逃げ出した!", 1 => "%sはどこかへ飛んで行った!", 2 => "%sは3時のおやつを買いに行った!", 3 => "%sは命からがら逃げ出した!", 4 => "%sはこそこそとその場を立ち去った!" , #5 => "%sは…", # 追加するときは #6 => "%sは…", # こんな感じで } # 敵が様子を見ている時のメッセージを設定 Renne_enemy_wait = { 0 => "%sは笑っている!", 1 => "%sはのんびりしている!", 2 => "%sはまったりしている!", 3 => "%sはぼーっとしている!", 4 => "%sは暢気に口笛を吹いている!", #5 => "%sは…", # 追加するときは #6 => "%sは…", # こんな感じで } # 敵を倒した時のメッセージを設定 DEF_M = "%sを倒した!" # メモ欄に設定なしの場合(ここだけ必要) Renne_enemy_dead = { 0 => "%sは力尽きた!", 1 => "%sを追い払った!", 2 => "%sは吹っ飛んだ!", 3 => "%sは戦意を失った!", 4 => "%sはただの石像に戻った!", 5 => "%sは", #6 => "%sは…", # 追加するときは #7 => "%sは…", # こんな感じで } # カスタマイズ終了 #---------------------------------------------------------------------------- # ★メモ欄から文字列取得 # 新しく定義 #---------------------------------------------------------------------------- def ren_eins_enemy_message_note?(enemy_id) enemy = $data_enemies[enemy_id] enemy.note.each_line { |line| if line.include?("逃走メッセ") alma_a = line.split(/\s*\[(\-?\d+)\]/) return alma_a end } return false end def ren_zwei_enemy_message_note?(enemy_id) enemy = $data_enemies[enemy_id] enemy.note.each_line { |line| if line.include?("待機メッセ") alma_b = line.split(/\s*\[(\-?\d+)\]/) return alma_b end } return false end def ren_drei_enemy_message_note?(enemy_id) enemy = $data_enemies[enemy_id] enemy.note.each_line { |line| if line.include?("撃破メッセ") alma_c = line.split(/\s*\[(\-?\d+)\]/) return alma_c end } return false end def ren_enemy_message_note?(enemy_id) enemy = $data_enemies[enemy_id] enemy.note.each_line { |line| if line.include?("メッセ") alma = line.split(/\s*\[(\-?\d+),(\-?\d+),(\-?\d+)\]/) return alma end } return false end #-------------------------------------------------------------------------- # ● 戦闘行動の実行 : 逃走 # 再定義 #-------------------------------------------------------------------------- def execute_action_escape alma_a = ren_eins_enemy_message_note?(@active_battler.enemy_id) alma = ren_enemy_message_note?(@active_battler.enemy_id) if alma_a text = sprintf(Renne_escape[alma_a[1].to_i], @active_battler.name) elsif alma text = sprintf(Renne_escape[alma[1].to_i], @active_battler.name) else text = sprintf(Vocab::DoEscape, @active_battler.name) end @message_window.add_instant_text(text) @active_battler.escape Sound.play_escape wait(45) end #-------------------------------------------------------------------------- # ● 戦闘行動の実行 : 待機 # 再定義 #-------------------------------------------------------------------------- def execute_action_wait alma_b = ren_zwei_enemy_message_note?(@active_battler.enemy_id) alma = ren_enemy_message_note?(@active_battler.enemy_id) if alma_b text = sprintf(Renne_enemy_wait[alma_b[1].to_i], @active_battler.name) elsif alma text = sprintf(Renne_enemy_wait[alma[2].to_i], @active_battler.name) else text = sprintf(Vocab::DoWait, @active_battler.name) end @message_window.add_instant_text(text) wait(45) end #-------------------------------------------------------------------------- # ● ステート変化の表示 / 消滅時の文章パターンを増やす場合はここで # target : 対象者 # obj : スキルまたはアイテム # 再定義 #-------------------------------------------------------------------------- def display_state_changes(target, obj = nil) return if target.missed or target.evaded return unless target.states_active? if @message_window.line_number < 4 @message_window.add_instant_text("") end display_removed_states(target, obj) display_remained_states(target, obj) if @message_window.last_instant_text.empty? @message_window.back_one else wait(10) end for state in target.added_states unless target.actor? alma_c = ren_drei_enemy_message_note?(target.enemy_id) alma = ren_enemy_message_note?(target.enemy_id) if state.id == 1 target.perform_collapse if alma_c message = sprintf(Renne_enemy_dead[alma_c[1].to_i], target.name) elsif alma message = sprintf(Renne_enemy_dead[alma[3].to_i], target.name) else message = sprintf(DEF_M, target.name) end @message_window.add_instant_text(message) else if @message_window.line_number < 4 @message_window.add_instant_text("") end display_added_states(target, obj) end else if @message_window.line_number < 4 @message_window.add_instant_text("") end display_added_states(target, obj) display_removed_states(target, obj) display_remained_states(target, obj) if @message_window.last_instant_text.empty? @message_window.back_one else wait(10) end end end end end