赞 | 274 |
VIP | 0 |
好人卡 | 0 |
积分 | 158 |
经验 | 515 |
最后登录 | 2024-11-8 |
在线时间 | 2106 小时 |
Lv4.逐梦者
- 梦石
- 1
- 星屑
- 14790
- 在线时间
- 2106 小时
- 注册时间
- 2017-9-28
- 帖子
- 662
|
- #==============================================================================
- # +++ MOG - 战斗语音 (V1.4) +++
- #==============================================================================
- # By Moghunter
- # https://atelierrgss.wordpress.com/
- #==============================================================================
- # 战斗时角色/敌人行动、受伤等会播放的语音
- #==============================================================================
- # ● Histórico (Version History)
- #==============================================================================
- # v1.4 - Melhoria na compatibilidade.
- #==============================================================================
- $imported = {} if $imported.nil?
- $imported[:mog_battle_cry] = true
- module MOG_BATTLE_CRY
-
- # ☢注意!!☢ 以下勿动.^_^
- ACTOR_SKILL = []
- ACTOR_ITEM = []
- ACTOR_GENERAL_ACTION = []
- ACTOR_DAMAGE = []
- ACTOR_RECOVER = []
- ACTOR_DEFEATED = []
- ACTOR_BATTLE_START = []
- ACTOR_BATTLE_END = []
- ACTOR_BATTLE_ESCAPE = []
- ACTOR_TURN_ACTIVE = []
- ACTOR_LEVEL_UP = []
- ENEMY_SKILL = []
- ENEMY_GENERAL_ACTION = []
- ENEMY_DAMAGE = []
- ENEMY_RECOVER = []
- ENEMY_DEFEATED = []
-
- # ----------------------------------------------------------------------------
- # 音量设定.
- # ----------------------------------------------------------------------------
-
- VOLUME = 130
- #===============================================================================
- #
- # 格式:
- # 类型[角色id] = ["文件名1","文件名2"……]
- #
- #----------------------------------------------------------------------------
- # 战斗开始
- #----------------------------------------------------------------------------
- ACTOR_BATTLE_START[1] = ["V_ACT1_START_1","V_ACT1_START_2"]
- ACTOR_BATTLE_START[2] = ["V_ACT2_START_1","V_ACT2_START_2","V_ACT2_START_3"]
- ACTOR_BATTLE_START[3] = ["V_ACT3_START_1","V_ACT3_START_2"]
- ACTOR_BATTLE_START[4] = ["V_ACT4_START_1","V_ACT4_START_2","V_ACT4_START_3"]
-
- #----------------------------------------------------------------------------
- # 战斗结束
- #----------------------------------------------------------------------------
- ACTOR_BATTLE_END[1] = ["V_ACT1_WIN_1","V_ACT1_WIN_2"]
- ACTOR_BATTLE_END[2] = ["V_ACT2_WIN_1","V_ACT2_WIN_2","V_ACT2_WIN_3"]
- ACTOR_BATTLE_END[3] = ["V_ACT3_WIN_1","V_ACT3_WIN_2","V_ACT3_WIN_3"]
- ACTOR_BATTLE_END[4] = ["V_ACT4_WIN_1","V_ACT4_WIN_2"]
-
- #----------------------------------------------------------------------------
- # 撤退
- #----------------------------------------------------------------------------
- ACTOR_BATTLE_ESCAPE[1] = ["V_ACT1_SKILL_9"]
- ACTOR_BATTLE_ESCAPE[2] = ["V_ACT2_SKILL_4"]
- ACTOR_BATTLE_ESCAPE[3] = ["V_ACT3_SKILL_4"]
- ACTOR_BATTLE_ESCAPE[4] = ["V_ACT4_SKILL_7"]
-
- #----------------------------------------------------------------------------
- # 轮到该角色行动时
- #----------------------------------------------------------------------------
- # Funciona apenas com script MOG AT SYSTEM.
- ACTOR_TURN_ACTIVE[1] = ["V_ACT1_TURN_1","V_ACT1_TURN_2","V_ACT1_TURN_3"]
- ACTOR_TURN_ACTIVE[2] = ["V_ACT2_TURN_1","V_ACT2_TURN_2","V_ACT2_TURN_3"]
- ACTOR_TURN_ACTIVE[3] = ["V_ACT3_TURN_1","V_ACT3_TURN_2","V_ACT3_TURN_3"]
- ACTOR_TURN_ACTIVE[4] = ["V_ACT4_TURN_1","V_ACT4_TURN_2","V_ACT4_TURN_3"]
-
- #----------------------------------------------------------------------------
- # 升级
- #----------------------------------------------------------------------------
- ACTOR_LEVEL_UP[1] = ["V_ACT1_TURN_1"]
- ACTOR_LEVEL_UP[2] = ["V_ACT2_TURN_1"]
- ACTOR_LEVEL_UP[3] = ["V_ACT3_TURN_1"]
- ACTOR_LEVEL_UP[4] = ["V_ACT4_TURN_1"]
-
- #----------------------------------------------------------------------------
- # 角色使用技能
- #----------------------------------------------------------------------------
-
- # 通用设定格式:
- #
- # ACTOR_SKILL[ A ] = { B=>["C","C","C"],
- #
- # A - 角色ID.
- # B - 技能ID.
- # C - 语音文件名.
-
- ACTOR_SKILL[1] = {
- 1=>["V_ACT1_ATTACK_1","V_ACT1_ATTACK_2","V_ACT1_ATTACK_3"],
- 2=>["V_ACT1_WIN_1","V_ACT1_WIN_2"]
- }
-
- ACTOR_SKILL[2] = {
- 1=>["V_ACT2_ATTACK_1","V_ACT2_ATTACK_2","V_ACT2_ATTACK_3"],
- 2=>["V_ACT2_WIN_1","V_ACT2_WIN_2","V_ACT2_WIN_3"],
- 26=>["V_ACT2_SKILL_6","V_ACT2_SKILL_7","V_ACT2_SKILL_8"],
- 29=>["V_ACT2_SKILL_6","V_ACT2_SKILL_7","V_ACT2_SKILL_8"],
- 32=>["V_ACT2_SKILL_6","V_ACT2_SKILL_7","V_ACT2_SKILL_8"],
- 33=>["V_ACT2_SKILL_6","V_ACT2_SKILL_7","V_ACT2_SKILL_8"],
- }
-
- ACTOR_SKILL[3] = {
- 1=>["V_ACT3_ATTACK_1","V_ACT3_ATTACK_2","V_ACT3_ATTACK_3"],
- 2=>["V_ACT3_SKILL_4"],
- 26=>["V_ACT3_SKILL_3","V_ACT3_SKILL_6","V_ACT3_SKILL_7"],
- 76=>["V_ACT3_SKILL_3","V_ACT3_SKILL_6","V_ACT3_SKILL_7"],
- 77=>["V_ACT3_SKILL_3","V_ACT3_SKILL_6","V_ACT3_SKILL_7"],
- 78=>["V_ACT3_SKILL_3","V_ACT3_SKILL_6","V_ACT3_SKILL_7"]
- }
-
- ACTOR_SKILL[4] = {
- 1=>["V_ACT4_ATTACK_1","V_ACT4_ATTACK_2","V_ACT4_ATTACK_3"],
- 2=>["V_ACT4_SKILL_3","V_ACT4_SKILL_8"],
- 51=>["V_ACT4_SKILL_1","V_ACT4_SKILL_4","V_ACT4_SKILL_6","V_ACT4_SKILL_9"],
- 53=>["V_ACT4_SKILL_1","V_ACT4_SKILL_4","V_ACT4_SKILL_6","V_ACT4_SKILL_9"],
- 61=>["V_ACT4_SKILL_1","V_ACT4_SKILL_4","V_ACT4_SKILL_6","V_ACT4_SKILL_9"],
- 66=>["V_ACT4_SKILL_1","V_ACT4_SKILL_4","V_ACT4_SKILL_6","V_ACT4_SKILL_9"],
- 74=>["V_ACT4_SKILL_1","V_ACT4_SKILL_4","V_ACT4_SKILL_6","V_ACT4_SKILL_9"]
- }
-
- #----------------------------------------------------------------------------
- # 角色使用物品
- #----------------------------------------------------------------------------
- ACTOR_ITEM[1] = {
- 1=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"], 2=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"],
- 3=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"], 4=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"],
- 5=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"], 6=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"],
- 7=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"], 8=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"],
- 17=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"]
- }
-
- ACTOR_ITEM[2] = {
- 1=>["V_ACT2_RECOVER_2"], 2=>["V_ACT2_RECOVER_2"], 3=>["V_ACT2_RECOVER_2"],
- 4=>["V_ACT2_RECOVER_2"], 5=>["V_ACT2_RECOVER_2"], 6=>["V_ACT2_RECOVER_2"],
- 7=>["V_ACT2_RECOVER_2"], 8=>["V_ACT2_RECOVER_2"], 17=>["V_ACT2_RECOVER_2"]
- }
-
- ACTOR_ITEM[3] = {
- 1=>["V_ACT3_WIN_2"], 2=>["V_ACT3_WIN_2"], 3=>["V_ACT3_WIN_2"],
- 4=>["V_ACT3_WIN_2"], 5=>["V_ACT3_WIN_2"], 6=>["V_ACT3_WIN_2"],
- 7=>["V_ACT3_WIN_2"], 8=>["V_ACT3_WIN_2"], 17=>["V_ACT3_WIN_2"]
- }
-
- ACTOR_ITEM[4] = {
- 1=>["V_ACT4_START_3"], 2=>["V_ACT4_START_3"], 3=>["V_ACT4_START_3"],
- 4=>["V_ACT4_START_3"], 5=>["V_ACT4_START_3"], 6=>["V_ACT4_START_3"],
- 7=>["V_ACT4_START_3"], 8=>["V_ACT4_START_3"], 17=>["V_ACT4_START_3"]
- }
-
- #----------------------------------------------------------------------------
- # 角色通用行动语音 *( 基础 / 应用于全部技能 / 物品)
- #----------------------------------------------------------------------------
- # 设定在未特殊指定(默认)情况下角色的技能/物品语音,
- #----------------------------------------------------------------------------
- ACTOR_GENERAL_ACTION[1] = ["V_ACT1_ATTACK_1","V_ACT1_ATTACK_2","V_ACT1_ATTACK_3"]
- ACTOR_GENERAL_ACTION[2] = ["V_ACT2_ATTACK_1","V_ACT2_ATTACK_2","V_ACT2_ATTACK_3"]
- ACTOR_GENERAL_ACTION[3] = ["V_ACT3_ATTACK_1","V_ACT3_ATTACK_2","V_ACT3_ATTACK_3"]
- ACTOR_GENERAL_ACTION[4] = ["V_ACT4_ATTACK_1","V_ACT4_ATTACK_2","V_ACT4_ATTACK_3"]
-
- #----------------------------------------------------------------------------
- # 受到伤害
- #----------------------------------------------------------------------------
- ACTOR_DAMAGE[1] = ["V_ACT1_DAMAGE_1","V_ACT1_DAMAGE_2"]
- ACTOR_DAMAGE[2] = ["V_ACT2_DAMAGE_1","V_ACT2_DAMAGE_2","V_ACT2_DAMAGE_3"]
- ACTOR_DAMAGE[3] = ["V_ACT3_DAMAGE_1","V_ACT3_DAMAGE_2","V_ACT3_DAMAGE_3"]
- ACTOR_DAMAGE[4] = ["V_ACT4_DAMAGE_1","V_ACT4_DAMAGE_2","V_ACT4_DAMAGE_3"]
-
- #----------------------------------------------------------------------------
- # 受到治疗
- #----------------------------------------------------------------------------
- ACTOR_RECOVER[1] = ["V_ACT1_RECOVER_1","V_ACT1_RECOVER_2"]
- ACTOR_RECOVER[2] = ["V_ACT2_RECOVER_1","V_ACT2_RECOVER_2"]
- ACTOR_RECOVER[3] = ["V_ACT3_RECOVER_1","V_ACT3_RECOVER_2"]
- ACTOR_RECOVER[4] = ["V_ACT4_RECOVER_1","V_ACT4_RECOVER_2"]
-
- #----------------------------------------------------------------------------
- # 死亡
- #----------------------------------------------------------------------------
- ACTOR_DEFEATED[1] = ["V_ACT1_DEFEAT_1"]
- ACTOR_DEFEATED[2] = ["V_ACT2_DEFEAT_1"]
- ACTOR_DEFEATED[3] = ["V_ACT3_DEFEAT_1"]
- ACTOR_DEFEATED[4] = ["V_ACT4_DEFEAT_1","V_ACT4_DEFEAT_2"]
-
- #----------------------------------------------------------------------------
- # 敌人技能
- #----------------------------------------------------------------------------
- ENEMY_SKILL[7] = {
- 135=>["V_ENE1_SKILL_3"]
- }
- ENEMY_SKILL[9] = {
- 137=>["Cel_Attack_01","Cel_Attack_02","Cel_Attack_03","Cel_Attack_04"]
- }
-
-
- #----------------------------------------------------------------------------
- # 敌人通用技能
- #----------------------------------------------------------------------------
- ENEMY_GENERAL_ACTION[7] = ["V_ENE1_ATTACK_1","V_ENE1_ATTACK_2","V_ENE1_ATTACK_3"]
- ENEMY_GENERAL_ACTION[11] = ["Reimu_A1","Reimu_A2"]
- ENEMY_GENERAL_ACTION[12] = ["Satori_A1","Satori_A2"]
-
- #----------------------------------------------------------------------------
- # 敌人受到伤害
- #----------------------------------------------------------------------------
- ENEMY_DAMAGE[7] = ["V_ENE1_DAMAGE_1","V_ENE1_DAMAGE_2","V_ENE1_DAMAGE_3"]
- ENEMY_DAMAGE[11] = ["Reimu_D1","Reimu_D2"]
- ENEMY_DAMAGE[9] = ["Cel_Damage1","Cel_Damage2"]
- ENEMY_DAMAGE[12] = ["Satori_D1","Satori_D2"]
-
- #----------------------------------------------------------------------------
- # 敌人受到治疗
- #----------------------------------------------------------------------------
- ENEMY_RECOVER[7] = []
-
- #----------------------------------------------------------------------------
- # 敌人死亡
- #----------------------------------------------------------------------------
- ENEMY_DEFEATED[7] = ["V_ENE1_DEFEAT_1"]
- ENEMY_DEFEATED[11] = ["Reimu_DF"]
- ENEMY_DEFEATED[12] = ["Satori_DF"]
-
- end
- #===============================================================================
- # ■ Battle Cry
- #===============================================================================
- module BATTLE_CRY
-
- include MOG_BATTLE_CRY
-
- #--------------------------------------------------------------------------
- # ● Execute Battle Cry
- #--------------------------------------------------------------------------
- def execute_battle_cry(type = 0, skill_id = nil, battler = nil)
- @type = type ; @skill_id = skill_id ; @battler = battler
- case @type
- when 0 # START #
- check_members_alive
- voice_list = ACTOR_BATTLE_START[@battler.id] rescue nil
- when 1 # END #
- check_members_alive
- voice_list = ACTOR_BATTLE_END[@battler.id] rescue nil
- when 2 # SKILL #
- if @battler.is_a?(Game_Actor)
- voice = ACTOR_SKILL[@battler.id] rescue nil
- else
- voice = ENEMY_SKILL[@battler.enemy_id] rescue nil
- end
- voice_list = voice[@skill_id] rescue nil
- if voice_list == nil # GENERAL ACTION
- if @battler.is_a?(Game_Actor)
- voice_list = ACTOR_GENERAL_ACTION[@battler.id] rescue nil
- else
- voice_list = ENEMY_GENERAL_ACTION[@battler.enemy_id] rescue nil
- end
- end
- when 3 # DAMAGE #
- if @battler.hp > 0
- if @battler.is_a?(Game_Actor)
- voice_list = ACTOR_DAMAGE[@battler.id] rescue nil
- else
- voice_list = ENEMY_DAMAGE[@battler.enemy_id] rescue nil
- end
- else # DEFEATED #
- if @battler.is_a?(Game_Actor)
- voice_list = ACTOR_DEFEATED[@battler.id] rescue nil
- else
- voice_list = ENEMY_DEFEATED[@battler.enemy_id] rescue nil
- end
- end
- when 4 # RECOVER #
- if @battler.is_a?(Game_Actor)
- voice_list = ACTOR_RECOVER[@battler.id] rescue nil
- else
- voice_list = ENEMY_RECOVER[@battler.enemy_id] rescue nil
- end
- when 5 # ITEM #
- voice = ACTOR_ITEM[@battler.id] rescue nil
- voice_list = voice[@skill_id] rescue nil
- if voice_list == nil # GENERAL SKILLS
- voice_list = ACTOR_GENERAL_ACTION[@battler.id] rescue nil
- end
- when 6 # START #
- check_members_alive
- voice_list = ACTOR_BATTLE_ESCAPE[@battler.id] rescue nil
- when 7 # TURN #
- voice_list = ACTOR_TURN_ACTIVE[@battler.id] rescue nil
- end
- play_battle_cry(voice_list) ; check_battle_addons
- end
-
- #--------------------------------------------------------------------------
- # ● Play Battle Cry
- #--------------------------------------------------------------------------
- def play_battle_cry(voice_list)
- return if voice_list == nil
- voice_id = voice_list[rand(voice_list.size)]
- Audio.se_play("Audio/SE/" + voice_id.to_s,VOLUME,100) rescue nil
- end
-
- #--------------------------------------------------------------------------
- # ● Check Members Alive
- #--------------------------------------------------------------------------
- def check_members_alive
- alive_members = []
- for i in $game_party.battle_members
- alive_members.push(i) if i.hp > 0
- end
- members_id = rand(alive_members.size)
- alive_members.each_with_index do |i, index|
- if members_id == index
- @battler = i
- break
- end
- end
- @battler = alive_members[members_id]
- end
-
- #--------------------------------------------------------------------------
- # ● Check Battle Addons
- #--------------------------------------------------------------------------
- def check_battle_addons
- if $imported[:mog_battle_hud_ex] and SceneManager.face_battler? and
- @battler != nil and @battler.is_a?(Game_Actor)
- if @type == 0 or @type == 1 or @type == 6
- @battler.face_animation = [50,1,50] unless @battler.low_hp? or @battler.restriction >= 4
- elsif @type == 7
- @battler.face_animation = [50,1,50] unless @battler.low_hp? or @battler.restriction >= 4
- end
- end
- end
-
- end
- #==============================================================================
- # ■ BattleManager
- #==============================================================================
- class << BattleManager
- include BATTLE_CRY
-
- #--------------------------------------------------------------------------
- # ● Process Victory
- #--------------------------------------------------------------------------
- alias mog_battle_cry_process_victory process_victory
- def process_victory
- execute_battle_cry(1, nil, nil)
- mog_battle_cry_process_victory
- end
-
- #--------------------------------------------------------------------------
- # ● Process Abort
- #--------------------------------------------------------------------------
- alias mog_battle_cry_process_abort process_abort
- def process_abort
- execute_battle_cry(6, nil, nil)
- mog_battle_cry_process_abort
- end
-
- end
- #==============================================================================
- # ■ Game Battler
- #==============================================================================
- class Game_Battler < Game_BattlerBase
- include BATTLE_CRY
-
- #--------------------------------------------------------------------------
- # ● Execute Damage
- #--------------------------------------------------------------------------
- alias mog_battle_cry_execute_damage execute_damage
- def execute_damage(user)
- mog_battle_cry_execute_damage(user)
- execute_battle_cry_damage
- end
- #--------------------------------------------------------------------------
- # ● Execute Battle Cry Damage
- #--------------------------------------------------------------------------
- def execute_battle_cry_damage
- if @result.hp_damage > 0
- execute_battle_cry(3, nil, self)
- elsif @result.hp_damage < 0
- execute_battle_cry(4, nil, self)
- else
- if @result.hp_damage == 0
- if @result.mp_damage > 0
- execute_battle_cry(3, nil, self)
- elsif @result.mp_damage < 0
- execute_battle_cry(4, nil, self)
- end
- end
- end
- end
-
- #--------------------------------------------------------------------------
- # ● Item Effect Recover HP
- #--------------------------------------------------------------------------
- alias mog_battle_cry_item_effect_recover_hp item_effect_recover_hp
- def item_effect_recover_hp(user, item, effect)
- chp = self.hp
- mog_battle_cry_item_effect_recover_hp(user, item, effect)
- if self.hp > chp
- execute_battle_cry(4, nil, self)
- elsif self.hp < chp
- execute_battle_cry(3, nil, self)
- end
- end
-
- #--------------------------------------------------------------------------
- # ● Item Effect Reover MP
- #--------------------------------------------------------------------------
- alias mog_battle_cry_item_effect_recover_mp item_effect_recover_mp
- def item_effect_recover_mp(user, item, effect)
- cmp = self.mp
- mog_battle_cry_item_effect_recover_mp(user, item, effect)
- if self.mp > cmp
- execute_battle_cry(4, nil, self)
- elsif self.mp < cmp
- execute_battle_cry(3, nil, self)
- end
- end
-
- end
- #==============================================================================
- # ■ Game Action
- #==============================================================================
- class Scene_Battle < Scene_Base
- include BATTLE_CRY
-
- #--------------------------------------------------------------------------
- # ● Show Animations
- #--------------------------------------------------------------------------
- alias mog_battle_cry_show_animation show_animation
- def show_animation(targets, animation_id)
- battle_cry(targets, animation_id)
- mog_battle_cry_show_animation(targets, animation_id)
- end
-
- #--------------------------------------------------------------------------
- # ● Battle Cry
- #--------------------------------------------------------------------------
- def battle_cry(targets, animation_id)
- return if @subject == nil
- return if @subject.current_action == nil
- return if @subject.current_action.item == nil
- if @subject.is_a?(Game_Actor) and @subject.current_action.item.is_a?(RPG::Item)
- execute_battle_cry(5, @subject.current_action.item.id, @subject)
- else
- execute_battle_cry(2, @subject.current_action.item.id, @subject)
- end
- end
-
-
- #--------------------------------------------------------------------------
- # ● Process Actor Command
- #--------------------------------------------------------------------------
- if $imported[:mog_atb_system]
- alias mog_battle_cry_process_actor_command process_actor_command
- def process_actor_command
- mog_battle_cry_process_actor_command
- execute_battle_cry(7, nil, BattleManager.actor) if BattleManager.actor
- end
- end
-
- #--------------------------------------------------------------------------
- # ● Battle Start
- #--------------------------------------------------------------------------
- alias mog_battle_cry_update_battle update
- def update
- mog_battle_cry_update_battle
- execute_battle_cry_start
- end
-
- #--------------------------------------------------------------------------
- # ● Execite Battle Cry Start
- #--------------------------------------------------------------------------
- def execute_battle_cry_start
- return if @battle_cry_start != nil
- @battle_cry_start = true ; execute_battle_cry(0, nil, nil)
- end
- end
复制代码 |
评分
-
查看全部评分
|