#============================================================================== # ■ 一撃死ステート作成 Ver1.1                     By むー #------------------------------------------------------------------------------ # 戦闘不能ステートは、基本スクリプト内でステート番号1に限られています。 # しかし、一撃死の種類が複数あり、それぞれ戦闘不能になった場合のセリフを # 違うものにしたい場合もあります。そんな時はこのスクリプトです。 # (ドラクエでも、倒した、息の根を止めた、砕け散った、急所を突いた、などあります) # # 使い方: ステートのメモ欄に「一撃死」と入れてください。「」は不要です。 # 蘇生時、念のため解除対象にこのステートも含めてください(未テスト)。 #============================================================================== module MOO_DEATH_STATE #-------------------------------------------------------------------------- # 以下、設定箇所です。 #-------------------------------------------------------------------------- # 下記のキーワードをステートのメモ欄に記述します。 WORD = "一撃死" # 他のスクリプトと重複する場合は変更してください。 #-------------------------------------------------------------------------- # ここまで。 #-------------------------------------------------------------------------- end #============================================================================== # ■ Game_Battler #------------------------------------------------------------------------------ #  スプライトや行動に関するメソッドを追加したバトラーのクラスです。このクラス # は Game_Actor クラスと Game_Enemy クラスのスーパークラスとして使用されます。 #============================================================================== class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ● 新しいステートの付加 #-------------------------------------------------------------------------- alias moo_add_new_state add_new_state def add_new_state(state_id) die if state_id == death_state_id die if $data_states[state_id].note.include?(MOO_DEATH_STATE::WORD) moo_add_new_state(state_id) end end #============================================================================== # ■ Window_BattleLog #------------------------------------------------------------------------------ #  戦闘の進行を実況表示するウィンドウです。枠は表示しませんが、便宜上ウィンド # ウとして扱います。 #============================================================================== class Window_BattleLog < Window_Selectable #-------------------------------------------------------------------------- # ● ステート付加の表示 #-------------------------------------------------------------------------- def display_added_states(target) flg = false target.result.added_state_objects.each do |state| if $data_states[state.id].note.include?(MOO_DEATH_STATE::WORD) flg = true @sid = state.id break end end target.result.added_state_objects.each do |state| state_msg = target.actor? ? state.message1 : state.message2 target.perform_collapse_effect if state.id == target.death_state_id next if state_msg.empty? if flg if state.id == @sid replace_text(target.name + state_msg) wait wait_for_effect end else replace_text(target.name + state_msg) wait wait_for_effect end end end end