module RPG
#class Skill
# def name
# name = @name.split(/,/)[0]
# return name != nil ? name : ""
# end
# def hit_count
# name = @name.split(/,/)[1]
# return name != nil ? name.to_i.abs : 0
# end
#end
class Skill
Regex_LJ = /%lj\[(\d+)\]/
unless method_defined? :mhy_description_20161012
alias mhy_description_20161012 description
def description
mhy_description_20161012.gsub(Regex_LJ){ "" }
end
end
def hit_count
Regex_LJ =~ @description
return $1.to_i
end
end
class Sprite < ::Sprite
def effect?
@_whiten_duration > 0 or
@_appear_duration > 0 or
@_escape_duration > 0 or
@_animation_duration > 0
end
def damage_effect?
@_damage_duration > 0 or
@_collapse_duration > 0
end
end
end
class Spriteset_Battle
def damage_effect?
for sprite in @enemy_sprites + @actor_sprites
return true if sprite.damage_effect?
end
return false
end
end
class Scene_Battle
alias sailcat_update_phase4_step1 update_phase4_step1
alias sailcat_make_skill_action_result make_skill_action_result
alias sailcat_update_phase4_step5 update_phase4_step5
def update_phase4_step1
@hit_count = 0
$game_variables[51] = 0
sailcat_update_phase4_step1
end
def make_skill_action_result
sailcat_make_skill_action_result
@hit_count = @skill.hit_count
end
def update_phase4_step5
sailcat_update_phase4_step5
if @hit_count > 0
$game_variables[51]+= 1
for target in @target_battlers.clone
if @target_battlers.size > 1
@target_battlers.delete(target)
else
@target_battlers.delete(target)
if @skill.element_set.include?(50)
if target.is_a?(Game_Enemy)
target = $game_troop.random_target_enemy
else
target = $game_party.random_target_actor
end
else
if target.is_a?(Game_Enemy)
target = $game_troop.smooth_target_enemy(target.index)
else
target = $game_party.smooth_target_actor(target.index)
end
end
if target.is_a?(Game_Battler)
@target_battlers.push(target)
end
end
end
if @target_battlers.size == 0
return
end
for target in @target_battlers
if target.damage != nil
@phase4_step = 5
return
end
target.skill_effect(@active_battler, @skill)
end
# 如果你应用了23种战斗特效的公共事件版脚本请去掉下面几行的注释
if @common_event_id > 0
common_event = $data_common_events[@common_event_id]
$game_system.battle_interpreter.setup(common_event.list, 0)
end
@hit_count -= 1
# $game_temp.enemy_hpsp_refresh = false
@phase4_step = 4
end
end
end