ZHAOYUN.png (94.14 KB, 下载次数: 16)
def update_phase4_step3 ####普通攻击的场合############################################################ if @active_battler.current_action.basic == 0 and @active_battler.current_action.kind == 0 #开始执行移动 if not @active_battler.element_rate(UNMOVE)>100# 如果属性“不移动”不大于100 @active_battler.startactive = "移动" @oldxy = [@active_battler.screen_x,@active_battler.screen_y] ox,oy = @active_battler.screen_x,@active_battler.screen_y if @active_battler.element_rate(HOMOVE)>100# 如果属性“半距离”大于100 @_move_duration = Move_Duration/2 while @_move_duration > 0 Graphics.update Input.update @spriteset.update if @target_battlers[0].is_a?(Game_Actor) tag = [@target_battlers[0].screen_x-@target_battlers[0].width-(@target_battlers[0].screen_x-ox).abs/2.abs,@target_battlers[0].screen_y+1] else tag = [(@target_battlers[0].screen_x+@target_battlers[0].width/1.5)+(@target_battlers[0].screen_x-ox).abs/2,@target_battlers[0].screen_y+2] end move(@active_battler, tag, ox, oy) @_move_duration -= 1 end else @_move_duration = Move_Duration while @_move_duration > 0 Graphics.update Input.update @spriteset.update if @target_battlers[0].is_a?(Game_Actor) tag = [@target_battlers[0].screen_x-@target_battlers[0].width/2,@target_battlers[0].screen_y+1] else tag = [@target_battlers[0].screen_x+@target_battlers[0].width/1.5,@target_battlers[0].screen_y+2] end move(@active_battler, tag, ox, oy) @_move_duration -= 1 end end end ####普通攻击的场合############################################################ elsif @active_battler.current_action.kind == 1 ####使用特技的场合############################################################ if not @skill.element_set.include?(UNMOVE)# 如果技能不包含“不移动属性” @active_battler.startactive = "移动" @oldxy = [@active_battler.screen_x,@active_battler.screen_y] ox,oy = @active_battler.screen_x,@active_battler.screen_y if @skill.element_set.include?(HOMOVE)#如果技能不包含“半距离”属性 @_move_duration = Move_Duration/2 while @_move_duration > 0 Graphics.update Input.update @spriteset.update if @target_battlers[0].is_a?(Game_Actor) tag = [@target_battlers[0].screen_x-@target_battlers[0].width-(@target_battlers[0].screen_x-ox).abs/2.abs,@target_battlers[0].screen_y+1] else tag = [(@target_battlers[0].screen_x+@target_battlers[0].width/1.5)+(@target_battlers[0].screen_x-ox).abs/2,@target_battlers[0].screen_y+2] end move(@active_battler, tag, ox, oy) @_move_duration -= 1 end else @_move_duration = Move_Duration while @_move_duration > 0 Graphics.update Input.update @spriteset.update if @target_battlers[0].is_a?(Game_Actor) tag = [@target_battlers[0].screen_x-@target_battlers[0].width,@target_battlers[0].screen_y+1] else tag = [@target_battlers[0].screen_x+@target_battlers[0].width/1.5,@target_battlers[0].screen_y+2] end move(@active_battler, tag, ox, oy) @_move_duration -= 1 end end end #####使用特技的场合############################################################## end if @active_battler.startactive != "防御" @active_battler.startactive = "待机" end # 行动方动画 (ID 为 0 的情况下是白色闪烁) if @animation1_id == 0 @active_battler.white_flash = true else @active_battler.animation_id = @animation1_id @active_battler.animation_hit = true end for target in @target_battlers if target.guarding? and target.damage.is_a?(Numeric) target.startactive = "防御" if target.damage > 0 end target.animation_id = @animation2_id target.animation_hit = (target.damage != "Miss") end # 移至步骤 4 @phase4_step = 4 end ############################################################################## def update_phase4_step4 ###########################万兽熊最高######################################## # 对像方动画 for target in @target_battlers if target.damage != nil target.damage_pop = true end end # 限制动画长度、最低 8 帧 # @wait_count = 8 ############################################################################## # 移至步骤 5 @phase4_step = 5 end ####################万兽熊最高############################ def update_phase4_step5 # 隐藏帮助窗口 @help_window.visible = false if @active_battler.current_action.basic == 0 and @active_battler.current_action.kind == 0 ####普通攻击的场合############################################################ #执行返回 if not @active_battler.element_rate(UNMOVE)>100# 如果属性“不移动”不大于100 @active_battler.startactive = "返回" if @active_battler.element_rate(HOMOVE)>100# 如果属性“半距离”大于100 @_move_duration = Move_Duration/2 else @_move_duration = Move_Duration end ox,oy = @active_battler.screen_x - @active_battler.movex,\ @active_battler.screen_y - @active_battler.movey while @_move_duration > 0 Graphics.update Input.update @spriteset.update move(@active_battler, @oldxy, ox, oy, true) @_move_duration -= 1 end end ####普通攻击的场合############################################################ elsif @active_battler.current_action.kind == 1 if not @skill.element_set.include?(UNMOVE)#如果技能不包含“不移动”属性 @active_battler.startactive = "返回" if @skill.element_set.include?(HOMOVE)#如果技能包含“半距离”属性 @_move_duration = Move_Duration/2 else @_move_duration = Move_Duration end ox,oy = @active_battler.screen_x - @active_battler.movex,\ @active_battler.screen_y - @active_battler.movey while @_move_duration > 0 Graphics.update Input.update @spriteset.update move(@active_battler, @oldxy, ox, oy, true) @_move_duration -= 1 end end ####使用特技的场合############################################################ end if @active_battler.startactive != "防御" @active_battler.startactive = "待机" end # 刷新状态窗口 @status_window.refresh # 显示伤害 for target in @target_battlers target.startactive = "待机" if target.damage != nil target.damage_pop = true end end # 移至步骤 6 @phase4_step = 6 end def update_phase4_step6 # 清除强制行动对像的战斗者 $game_temp.forcing_battler = nil @active_battler.movex = 0 @active_battler.movey = 0 @active_battler.startactive = "待机" if @active_battler.startactive != "死亡" # 公共事件 ID 有效的情况下 if @common_event_id > 0 # 设置事件 common_event = $data_common_events[@common_event_id] $game_system.battle_interpreter.setup(common_event.list, 0) end # 移至步骤 1 @phase4_step = 1 end end
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |