单技能连击脚本

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
    def attack_count
      name = @name.split(/,/)[2]
      return name != nil ? name.to_i.abs : 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
   @attack_count = 0
   sailcat_update_phase4_step1
 end
 def make_skill_action_result
   sailcat_make_skill_action_result
   @attack_count = @skill.attack_count
   @hit_count = @skill.hit_count
   #规定可以法术连击的技能id
   can_use_skill = [67,68,74,75,76,77,78,79,80,81]
   #检测法术连击技能
   if can_use_skill.include?(@skill.id)
     if @active_battler.skill_learn?(93)
       if rand(100) < 40
         @hit_count = 1
       end
     elsif @active_battler.skill_learn?(92)
       if rand(100) < 20
         @hit_count = 1
       end
     end
   end
 end
  def update_phase4_step5
  
    sailcat_update_phase4_step5
    if @common_event_id > 0
      common_event = $data_common_events[@common_event_id]
      $game_system.battle_interpreter.setup(common_event.list, 0)
    end
    if @attack_count > 0
      for target in @target_battlers
        if target.damage != nil
          @phase4_step = 5
          target.damage = nil
          return
        end
        target.errorDead = true
        for i in 0...@attack_count
          target.errorDead = true
          target.skill_effect(@active_battler, @skill)
        end
      end
      @attack_count = 0
    end
    if @hit_count > 0
      for target in @target_battlers.clone
        if target.dead?
          if @target_battlers.size > 1
            @target_battlers.delete(target)
          else
            @target_battlers.delete(target)
            if target.is_a?(Game_Enemy)
              target = $game_troop.smooth_target_enemy(target.index)
            else
              target = $game_party.smooth_target_actor(target.index)
            end
            if target.is_a?(Game_Battler)
              @target_battlers.push(target)
            end
          end
        end
      end
      if @target_battlers.size == 0
        return
      end
      for target in @target_battlers
        if target.damage != nil and false
          @phase4_step = 5
          return
        end
        target.skill_effect(@active_battler, @skill)
      end
      @hit_count -= 1
      @phase4_step = 3
    end
  end
end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值