#============================================================================== # 物理と魔法で違うSE v1.01 #  # 物理ダメージと魔法ダメージで異なるSEを流します。 # また、必中のダメージも異なるものを流すことが可能です。 # 物理ダメージの音に関してはデータベースにて設定してください。 # # 更新履歴 #  1.01 #   魔法及び、必中スキルの命中時に点滅しないバグを修正。 # # 利用規約 #  連絡不要 #  商用可 # 改造可 # 再配布可(無改造の場合はクレジットを消さないでください) # アダルト可 #  利用された際、クレジットはあると喜びます  # GYM # http://gymaterials.jp/ # #============================================================================== # ■ 設定項目 #  SEのファイル名を指定してください。拡張子は必要ありません。 #============================================================================== module GYM_DAMAGE_TYPE_SE MAGICAL = 'Thunder1' # 魔法ダメージの際に流すSE CERTAIN = 'Earth5' # 必中ダメージの際に流すSE end #============================================================================== # ■ Game_Actor #------------------------------------------------------------------------------ #  アクターを扱うクラスです。このクラスは Game_Actors クラス($game_actors) # の内部で使用され、Game_Party クラス($game_party)からも参照されます。 #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● ダメージ効果の実行 #-------------------------------------------------------------------------- def perform_damage_effect $game_troop.screen.start_shake(5, 5, 10) @sprite_effect_type = :blink Sound.play_actor_damage end #-------------------------------------------------------------------------- # ● 魔法ダメージの場合のエフェクト #-------------------------------------------------------------------------- def perform_magical_damage_effect $game_troop.screen.start_shake(5, 5, 10) @sprite_effect_type = :blink Audio.se_play('Audio/SE/'+GYM_DAMAGE_TYPE_SE::MAGICAL, 100, 0) end #-------------------------------------------------------------------------- # ● 必中ダメージの場合のエフェクト #-------------------------------------------------------------------------- def perform_certain_damage_effect $game_troop.screen.start_shake(5, 5, 10) @sprite_effect_type = :blink Audio.se_play('Audio/SE/'+GYM_DAMAGE_TYPE_SE::CERTAIN, 100, 0) end end #============================================================================== # ■ Game_Enemy #------------------------------------------------------------------------------ #  敵キャラを扱うクラスです。このクラスは Game_Troop クラス($game_troop)の # 内部で使用されます。 #============================================================================== class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # ● ダメージ効果の実行 #-------------------------------------------------------------------------- def perform_damage_effect @sprite_effect_type = :blink Sound.play_enemy_damage end #-------------------------------------------------------------------------- # ● 魔法ダメージの場合のエフェクト #-------------------------------------------------------------------------- def perform_magical_damage_effect @sprite_effect_type = :blink Audio.se_play('Audio/SE/'+GYM_DAMAGE_TYPE_SE::MAGICAL, 100, 0) end #-------------------------------------------------------------------------- # ● 必中ダメージの場合のエフェクト #-------------------------------------------------------------------------- def perform_certain_damage_effect @sprite_effect_type = :blink Audio.se_play('Audio/SE/'+GYM_DAMAGE_TYPE_SE::CERTAIN, 100, 0) end end #============================================================================== # ■ Window_BattleLog #------------------------------------------------------------------------------ #  戦闘の進行を実況表示するウィンドウです。枠は表示しませんが、便宜上ウィンド # ウとして扱います。 #============================================================================== class Window_BattleLog < Window_Selectable #-------------------------------------------------------------------------- # ● HP ダメージ表示 #  魔法ダメージと物理ダメージでSEを変更する。 #-------------------------------------------------------------------------- def display_hp_damage(target, item) return if target.result.hp_damage == 0 && item && !item.damage.to_hp? if target.result.hp_damage > 0 && target.result.hp_drain == 0 if item.physical? target.perform_damage_effect elsif item.magical? target.perform_magical_damage_effect elsif item.certain? target.perform_certain_damage_effect end end Sound.play_recovery if target.result.hp_damage < 0 add_text(target.result.hp_damage_text) wait end end