#============================================================================== # 作者:Ru # http://konaxkaga.blog.shinobi.jp/ #------------------------------------------------------------------------------ # 戦闘中のスキル使用時の「2行目に」表示されるメッセージを最大6パターン使えるようにします。 # #メッセージ,パターン1 #メッセージ,パターン2 #… #という感じで、スキルのメモ欄に記入してください。 #Scane_Battleを再定義している為、他のココを再定義している素材と使う時は気をつけてください。 #============================================================================== module RU_MESSAGERAND # 判別用文字列 TEXT1 = "パターン1" TEXT2 = "パターン2" TEXT3 = "パターン3" TEXT4 = "パターン4" TEXT5 = "パターン5" end #============================================================================== # ■ Scene_Battle #============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● パターンランダム作成 #-------------------------------------------------------------------------- def rand_text return rand(5) end #-------------------------------------------------------------------------- # ● 戦闘行動の実行 : スキル(再定義) #-------------------------------------------------------------------------- def execute_action_skill skill = @active_battler.action.skill text = @active_battler.name + skill.message1 @message_window.add_instant_text(text) rand_ok = 0 while rand_ok <= 9 rand_text if rand_text == 0 unless skill.message12.empty? wait(10) @message_window.add_instant_text(skill.message12) rand_ok = 10 end elsif rand_text == 1 unless skill.message22.empty? wait(10) @message_window.add_instant_text(skill.message22) rand_ok = 10 end elsif rand_text == 2 unless skill.message32.empty? wait(10) @message_window.add_instant_text(skill.message32) rand_ok = 10 end elsif rand_text == 3 unless skill.message42.empty? wait(10) @message_window.add_instant_text(skill.message42) rand_ok = 10 end elsif rand_text == 4 unless skill.message52.empty? wait(10) @message_window.add_instant_text(skill.message52) rand_ok = 10 end else unless skill.message2.empty? wait(10) @message_window.add_instant_text(skill.message2) rand_ok = 10 end rand_ok = 10 end end targets = @active_battler.action.make_targets display_animation(targets, skill.animation_id) @active_battler.mp -= @active_battler.calc_mp_cost(skill) $game_temp.common_event_id = skill.common_event_id for target in targets target.skill_effect(@active_battler, skill) display_action_effects(target, skill) end end end #============================================================================== # ■ RPG #============================================================================== module RPG #============================================================================== # ■ Skill #============================================================================== class Skill < UsableItem #-------------------------------------------------------------------------- #-------------------------------------------------------------------------- # ● 1パターンの2行目のメッセージ取得 #-------------------------------------------------------------------------- def message12 self.note.each_line{|line| if line.include?(RU_MESSAGERAND::TEXT1) a = line.split(/\s*,\s*/) return a[0] end } return "" end #-------------------------------------------------------------------------- # ● 2パターンの2行目のメッセージ取得 #-------------------------------------------------------------------------- def message22 self.note.each_line{|line| if line.include?(RU_MESSAGERAND::TEXT2) a = line.split(/\s*,\s*/) return a[0] end } return "" end #-------------------------------------------------------------------------- # ● 3パターンの2行目のメッセージ取得 #-------------------------------------------------------------------------- def message32 self.note.each_line{|line| if line.include?(RU_MESSAGERAND::TEXT3) a = line.split(/\s*,\s*/) return a[0] end } return "" end #-------------------------------------------------------------------------- # ● 4パターンの2行目のメッセージ取得 #-------------------------------------------------------------------------- def message42 self.note.each_line{|line| if line.include?(RU_MESSAGERAND::TEXT4) a = line.split(/\s*,\s*/) return a[0] end } return "" end #-------------------------------------------------------------------------- # ● 5パターンの2行目のメッセージ取得 #-------------------------------------------------------------------------- def message52 self.note.each_line{|line| if line.include?(RU_MESSAGERAND::TEXT5) a = line.split(/\s*,\s*/) return a[0] end } return "" end end end