ツクールXPで2000の機能を実現
先制攻撃/全体攻撃/回避無視/必殺防止 改



ツクールXPで2000の機能を実現

改造内容:
・変更点
一度に2回攻撃 は 連続攻撃 を採用しているため未使用
SP消費量半分 は 特殊消費スキル を採用しているため未使用
(製作者の都合などでテストプレイの)途中から仕様変更が入ってもいいように
システム-属性から定義値を自動的に算出している部分を固定値に変更

・ついでに以下も実装
ターンの一番最後に攻撃、防御無視を実装

ツクールXPで2000の機能を実現 準備スクリプト 改 が別途必要です

※このスクリプトの原作者はするめ様です。
 また、本スクリプトの無断転載を禁止します

変更点
2024:02:01
・靴装備対応

2024:04:01
・他スクリプト併用時のアップデート反映

#----------------------------------------------------------------------------
# ツクールXPで2000の機能を実現 先制攻撃/全体攻撃/
#                                回避無視/必殺防止 改 by 貪藻矢射妥←
#----------------------------------------------------------------------------
# 原作:     ◆ ツクールXPで2000の機能を実現 先制攻撃/全体攻撃/
#                                            回避無視/必殺防止 ◆
#           ◇ Last update : 2004/08/03 ◇
# 原作者:   するめ様
# HP:       チームするめ
# アドレス: http://surume.s140.xrea.com/
# 
# ※ツクールXPで2000の機能を実現 準備スクリプト 改 が別途必要です
# 
# 改造内容:
# ・変更点
#  一度に2回攻撃 は 連続攻撃 を採用しているため未使用
#  SP消費量半分 は 特殊消費スキル を採用しているため未使用
#  (製作者の都合などでテストプレイの)途中から仕様変更が入ってもいいように
#  システム-属性から定義値を自動的に算出している部分を固定値に変更
# 
# ・ついでに以下も実装
#  ターンの一番最後に攻撃、防御無視
# 
#==============================================================================
# 更新っぽいもの
# 2024:02:01
# ・靴装備対応
# 
# 2024:04:01
# ・他スクリプト併用時のアップデート反映

module KGC
  # SP Damage用属性
  SP_DAMAGE  = 50
end

class Game_Battler
  include KGC
  include DIAMOND
  include BM
  
  #--------------------------------------------------------------------------
  # ● スキルの効果適用
  #     user  : スキルの使用者 (バトラー)
  #     skill : スキル
  #--------------------------------------------------------------------------
  def skill_effect(user, skill)
    
    @sp_damage_flg = false
    
    # 他サイトのスクリプトとの競合を考えて(武器の全体攻撃とか)
    # スキルがnilの場合は処理を行わない
if $imported["SPDamage"]
    if @skill != nil && skill.element_set.include?(KGC::SP_DAMAGE)
      @sp_damage_flg = true
    end
end # $imported["SPDamage"]
    
    # クリティカルフラグをクリア
    self.critical = false
    
    # 隊列乱しフラグの初期化
    break_position = false
    
if $imported["RankConception"]
    # 射程外の場合
    if KGC::RC_OUT_RANGE_MODE== 0 && !self.within_range?(user, skill) && 
      !self.over_range?(skill)
      # ダメージに "Miss" を設定
      self.damage = Vocab::MISS_WORD
      # 偽を返す
      return false
    end
    
    # 隊列乱し判定
    break_position = self.range_break?(skill)
    
    # 隊列移動属性判定
    for element in skill.element_set.compact
      element_name = $data_system.elements[element]
      # 射程属性を持っている場合
      if $game_special_elements["move_rank"] =~ element_name
        move_position = $1
        break
      end
    end
end # $imported["RankConception"]
    
    # スキルの効果範囲が HP 1 以上の味方で、自分の HP が 0、
    # またはスキルの効果範囲が HP 0 の味方で、自分の HP が 1 以上の場合
    if ((skill.scope == 3 or skill.scope == 4) and self.hp == 0) or
       ((skill.scope == 5 or skill.scope == 6) and self.hp >= 1)
       
if $OuterFlgs["Recover_Dead_or_Alive"]
      # 上記の状態で生死問わず回復スキルでない場合
      if !skill.element_set.include?(DIAMOND::RECV_HYPER)
        # メソッド終了
        return false
      end
else # 元の処理
      # メソッド終了
      return false
end # $OuterFlgs["Recover_Dead_or_Alive"]
      
    end
    
    # 有効フラグをクリア
    effective = false
    # コモンイベント ID が有効の場合は有効フラグをセット
    effective |= skill.common_event_id > 0
    # 第一命中判定
    hit = skill.hit
    if skill.atk_f > 0
      hit *= user.hit / 100
    end
    
    # 基本命中率の設定
    base_hitrate = 100
    
if $OuterFlgs["Weapon_HitRate"]
    # 命中精度から命中率を再設定
    base_hitrate = get_hitrate_base(user)
end # $OuterFlgs["Weapon_HitRate"]
    
    hit_result = (rand(base_hitrate) < hit)
    
    # 不確実なスキルの場合は有効フラグをセット
    effective |= hit < 100
    
if $OuterFlgs["Decoy_De_Koi"]
    if $game_system.act_tgt != nil
      # アクターとターゲットが違う場合(同じだとデコイ作った瞬間に砕け散ります)
      if ($game_system.act_tgt.is_a?(Game_Actor) && user.is_a?(Game_Enemy)) ||
        ($game_system.act_tgt.is_a?(Game_Enemy) && user.is_a?(Game_Actor))
        # ターゲットがデコイ状態の場合
        if $game_system.act_tgt.states.include?(DIAMOND::DECOY_ID)
          effective |= states_minus([DIAMOND::DECOY_ID])
          hit_result = false
          #if DIAMOND::CSE_USE_FLG
          #  $game_system.se_play(DIAMOND::CRASH_SE)
          #end
        end
      end
    end
end # $OuterFlgs["Decoy_De_Koi"]
    
    # Ex-命中フラグ初期化
    ex_hit_flg = true
    
if $imported["RankConception"]
    # 隊列移動属性を持っている場合、Ex-命中フラグを落とす
    if move_position == nil && break_position == false
      # 何もしない
    else
      ex_hit_flg = false
    end
end # $imported["RankConception"]
    
    # 命中の場合 part1
    if hit_result == true && ex_hit_flg == true
      # 威力を計算
      power = skill.power + user.atk * skill.atk_f / 100
      if power > 0
        # 防御無視フラグ初期化
        pdef_ignore_flg = false
        mdef_ignore_flg = false
if $OuterFlgs["Tkl_2K_2_XP"]
        # 防御無視判定
        pdef_ignore_flg = user.element_set.include?(Tkl2K_2_XP::PDEF_IGNORE)
        mdef_ignore_flg = user.element_set.include?(Tkl2K_2_XP::MDEF_IGNORE)
end # $OuterFlgs["Tkl_2K_2_XP"]
        if !pdef_ignore_flg
          power -= self.pdef * skill.pdef_f / 200
        end
        if !mdef_ignore_flg
          power -= self.mdef * skill.mdef_f / 200
        end
        if skill.str_f != 0
          power = [power, 0].max
        end
      end
      # 倍率を計算
      rate = 20
      rate += (user.str * skill.str_f / 100)
      rate += (user.dex * skill.dex_f / 100)
      rate += (user.agi * skill.agi_f / 100)
      rate += (user.int * skill.int_f / 100)
      
      # 基本ダメージを計算
      tmp_damage = power * rate / 20
      
if $OuterFlgs["Skill_Specialite"]
      # ★ モードによる威力の増減
      tmp_damage *= user.actor_pow_rate / 100
      tmp_damage = tmp_damage.to_i
end # $OuterFlgs["Skill_Specialite"]
      
      # 属性修正
      ec_skill = elements_correct(skill.element_set)
      ec_self  = elements_correct(self.element_set)
      
      #エネミー補正
      if user.is_a?(Game_Enemy)
        ec_skill = 40 if ec_skill == 0
        ec_self  = 40 if ec_self  == 0
      end
      
      tmp_damage *= ec_skill # elements_correct(skill.element_set)
      tmp_damage /= 100
      tmp_damage *= ec_self # elements_correct(self.element_set)
      tmp_damage /= 100
      
      guard_flg = false
      
      # ダメージの符号が正の場合
      if tmp_damage > 0
        # 防御修正
        if self.guarding?
          
if $OuterFlgs["VX_2_XP"]
          # 強力防御
          for st_id in VX_TO_XP::SUPER_GUARD
            if self.states.include?(st_id)
              tmp_damage /= VX_TO_XP::GUARD_RATE[st_id]
              guard_flg = true
            end
          end
end # $OuterFlgs["VX_2_XP"]
          
          # 二重計上防止
          if !guard_flg
            tmp_damage /= 2
          end
        end
      end
      # 分散
      if skill.variance > 0 and tmp_damage.abs > 0
        amp = [tmp_damage.abs * skill.variance / 100, 1].max
        tmp_damage += rand(amp+1) + rand(amp+1) - amp
      end
      
      # 第二命中判定
      eva = 8 * self.agi / user.dex + self.eva / 100.0
      
      hit = tmp_damage < 0 ? 100 : 100 - eva * skill.eva_f / 100
      
      hit = self.cant_evade? ? 100 : hit
      
      hit_result = (rand(base_hitrate) < hit)
      
      #p hit, hit_result, base_hitrate
      
      # 不確実なスキルの場合は有効フラグをセット
      effective |= hit < 100
      
if $imported["RankConception"]
      # 隊列によるダメージ補正
      if KGC::RC_OUT_RANGE_MODE == 1 && !self.over_range?(skill)
        tmp_damage *= damage_by_range(user, skill)
        tmp_damage = Integer(tmp_damage)
      end
end # $imported["RankConception"]
    end # 命中の場合 part1
    
if $SilfeedArks["Special_Attack"]
    # 当身ダメージ吸収の場合、符号反転
    if @counter[0] == 1 && @counter[6]
      tmp_damage *= -1
    end
    # 当身SP吸収の場合、SP回復
    if @counter[0] == 2 && @counter[6] && !@sp_damage_flg
      self.sp += skill.sp_cost
    end
    # スキルキャンセルの場合ダメージを空白して終了
    if @counter[4] and @counter[6]
      if @sp_damage_flg
        self.damage2 = nil
      else
        self.damage  = nil
      end
      return effective
    end
end # $SilfeedArks["Special_Attack"]
    
    # 命中の場合 part 2
    if hit_result == true
      # Ex-命中フラグが有効の場合
      # 隊列概念カスタムを使用していない場合必ず true
      if ex_hit_flg == true
      
if $OuterFlgs["Death_Critical"]
        # 即死判定 ★ 一撃必殺カスタマイズ
        dead_end(DEATH_KILLER::DC_SKILL, skill)
end # $OuterFlgs["Death_Critical"]
      
        # 威力 0 以外の物理攻撃の場合
        if skill.power != 0 and skill.atk_f > 0
        
if $OuterFlgs["Death_Critical"]
          # 即死判定 ★ 一撃必殺カスタマイズ
          dead_end(DEATH_KILLER::DC_ATTACK, skill)
end # $OuterFlgs["Death_Critical"]
        
          # ステート衝撃解除
          remove_states_shock
          # 有効フラグをセット
          effective = true
        end
      
        if @sp_damage_flg
          self.damage2 = tmp_damage
          # SP からダメージを減算
          last_sp = self.sp
          # 現SPを上回るダメージはなし。
          if self.damage2 > self.sp
            self.damage2 = self.sp
          end
          self.sp -= self.damage2
          effective |= self.sp != last_sp
        else
          self.damage = tmp_damage
          # HP からダメージを減算
          last_hp = self.hp
          self.hp -= self.damage
          effective |= self.hp != last_hp
        end
      end # Ex-命中フラグが有効の場合
      
      # ステート変化
      @state_changed = false
      effective |= states_plus(skill.plus_state_set)
      effective |= states_minus(skill.minus_state_set)
      
if $OuterFlgs["Recover_Dead_or_Alive"]
      if skill.element_set.include?(DIAMOND::RECV_HYPER)
        effective |= states_minus([1])
      end
end # $OuterFlgs["Recover_Dead_or_Alive"]
      
if $imported["RankConception"]
      if break_position
        # 隊列維持かどうか
        if @states.include?($game_special_states["b_pos_gd"])
          # ダメージにの設定
          self.damage = KGC::RC_KEEP_POS_POP if self.damage == nil
          # ステート変化(隊列維持の解除)
          states_minus([$game_special_states["b_pos_gd"]])
          @state_changed = true
          effective = true
          # 戻る
          return false
        else
          # 隊列を乱す場合
          if self.range_break?(skill)
            pos_list = [2, 1, 0]
            self.position = pos_list[self.position]
            # ダメージの設定
            self.damage = KGC::RC_BREAK_POS_POP if self.damage == nil
            # 戻る
            return true
          end
        end
      end
      
      if move_position != nil
        # 指定位置に移動
        case move_position
        when "前"
          self.position = 0
        when "中"
          self.position = 1
        when "後"
          self.position = 2
        end
        # 戻る
        return true
      end
end # $imported["RankConception"]
      
      # 威力が 0 の場合
      if skill.power == 0
if self.states.include?(1) && $OuterFlgs["Death_Critical"]
        # ダメージに"即死"を設定
        if @sp_damage_flg
          self.damage2 = DEATH_KILLER::DEATH_WORD
        else
          self.damage  = DEATH_KILLER::DEATH_WORD
        end
else # 元の処理
        # ダメージに空文字列を設定
        if @sp_damage_flg
          self.damage2 = ""
        else
          self.damage  = ""
        end
end # $OuterFlgs["Death_Critical"]
        # ステートに変化がない場合
        unless @state_changed
          
          # ★ 一撃必殺カスタマイズ
if self.states.include?(1) && $OuterFlgs["Death_Critical"]
          # ダメージに"即死"を設定
          if @sp_damage_flg
            self.damage2 = DEATH_KILLER::DEATH_WORD
          else
            self.damage  = DEATH_KILLER::DEATH_WORD
          end
else # 元の処理
          # ダメージに "Miss" を設定
          if @sp_damage_flg
            self.damage2 = Vocab::MISS_WORD
          else
            self.damage  = Vocab::MISS_WORD
          end
end # $OuterFlgs["Death_Critical"]
        end
      end
    # ミスの場合
    else
      # ダメージに "Miss" を設定
      if @sp_damage_flg
        self.damage2 = Vocab::MISS_WORD
      else
        self.damage  = Vocab::MISS_WORD
      end
    end
    # 戦闘中でない場合
    unless $game_temp.in_battle
      # ダメージに nil を設定
      if @sp_damage_flg
        self.damage2 = nil
      else
        self.damage  = nil
      end
    end
    # メソッド終了
    return effective
  end
end


class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● アクションスピードの決定
  #--------------------------------------------------------------------------
  def make_action_speed
    @current_action.speed = agi + rand(10 + agi / 4)
if $OuterFlgs["Tkl_2K_2_XP"]
    if element_set.include?(Tkl2K_2_XP::FASTEST_MOVE) || 
      element_set_mlt_all.include?(Tkl2K_2_XP::FASTEST_MOVE)
      # 先制攻撃用に行動スピードを 99999 に設定する
      @current_action.speed += 99999
    elsif element_set.include?(Tkl2K_2_XP::LASTEST_MOVE) || 
      element_set_mlt_all.include?(Tkl2K_2_XP::LASTEST_MOVE)
      # 最遅攻撃用に行動スピードを 1 に設定する
      @current_action.speed = 1
    end
end # $OuterFlgs["Tkl_2K_2_XP"]
  end
end

class Scene_Battle
  include KGC
  include Rand_Select
  include Multi_Attack
  #--------------------------------------------------------------------------
  # ● フレーム更新 (アクターコマンドフェーズ : 基本コマンド)
  #--------------------------------------------------------------------------
  ★★★ Surume_多刀流 参照  ★★★
  
  #--------------------------------------------------------------------------
  # ● 基本アクション 結果作成
  #--------------------------------------------------------------------------
  def make_basic_action_result
    # 攻撃の場合
    if @active_battler.current_action.basic == 0
      # アニメーション ID を設定
      @animation1_id = @active_battler.animation1_id
      @animation2_id = @active_battler.animation2_id
      
      # ★素手の場合
      if @animation2_id == 0
        @animation2_id = 4
      end
      # ★素手の場合
      
      # 行動側バトラーがエネミーの場合
      if @active_battler.is_a?(Game_Enemy)
        if @active_battler.restriction == 3
          target = $game_troop.random_target_enemy
        elsif @active_battler.restriction == 2
          target = $game_party.random_target_actor
        else
          index = @active_battler.current_action.target_index
          target = $game_party.smooth_target_actor(index)
        end
        # 対象側バトラーの配列を設定
        @target_battlers = [target]
      end
      
      # 行動側バトラーがアクターの場合
      if @active_battler.is_a?(Game_Actor)
        if @active_battler.restriction == 3
          target = $game_party.random_target_actor
          # 対象側バトラーの配列を設定
          @target_battlers = [target]
        elsif @active_battler.restriction == 2
          target = $game_troop.random_target_enemy
          # 対象側バトラーの配列を設定
          @target_battlers = [target]
        elsif $OuterFlgs["Tkl_2K_2_XP"] && @active_battler.element_set.include?(Tkl2K_2_XP::ALLIZE_ATTACK)
          # 対象側バトラーを設定(敵全体)
          set_target_battlers(2)
        else
          index = @active_battler.current_action.target_index
          target = $game_troop.smooth_target_enemy(index)
          # 対象側バトラーの配列を設定
          @target_battlers = [target]
        end
      end
      
      # 通常攻撃の効果を適用
      for target in @target_battlers
        
if $SilfeedArks["Special_Attack"]
        # 当身判定
        if target.counter[2].include?(0) or target.counter[2].include?(5)
          target.counter[6] = true
        end
end # $SilfeedArks["Special_Attack"]
        
        target.attack_effect(@active_battler)
        if target.critical_skill_flg
          @active_battler.current_action.skill_id = @active_battler.critical_skill
          @target_battlers = []
          target.critical_skill_flg = false
          @critical_skill = true
          
if $imported["SkillMessage"]
          @skill_cnt = []
end # Add $imported["SkillMessage"]
          
          make_skill_action_result
          
if $imported["SkillMessage"]
          @skill_cnt = []
end # Add $imported["SkillMessage"]
          
          return
        end
      end
      return
    end
    
    # 防御の場合
    if @active_battler.current_action.basic == 1
      # ヘルプウィンドウに "防御" を表示
      @help_window.set_text(Vocab::guard, 1)
      return
    end
    
    # 逃げるの場合
    if @active_battler.is_a?(Game_Enemy) and
       @active_battler.current_action.basic == 2
      # ヘルプウィンドウに "逃げる" を表示
      @help_window.set_text(BM::GETRUN_WORD, 1)
      # 逃げる
      @active_battler.escape
      return
    end
    
    # 何もしないの場合
    if @active_battler.current_action.basic == 3
      # アクション強制対象のバトラーをクリア
      $game_temp.forcing_battler = nil
      # ステップ 1 に移行
      @phase4_step = 1
      return
    end
  end
  
  #--------------------------------------------------------------------------
  # ● スキルまたはアイテムの対象側バトラー設定
  #     scope : スキルまたはアイテムの効果範囲
  #--------------------------------------------------------------------------
  alias diamond_set_target_battlers set_target_battlers
  def set_target_battlers(scope)
    
    #呼び戻す
    diamond_set_target_battlers(scope)
    
    @recover_flg = false
    
if $OuterFlgs["Recover_Dead_or_Alive"]
    if @skill != nil && @skill.element_set.include?(DIAMOND::RECV_HYPER)
      @recover_flg = true
    end
    if @item != nil && @item.element_set.include?(DIAMOND::RECV_HYPER)
      @recover_flg = true
    end
end # $OuterFlgs["Recover_Dead_or_Alive"]
    
    # 行動側バトラーがエネミーの場合
    if @active_battler.is_a?(Game_Enemy)
      change_enemy  = $game_party.actors
      change_friend = $game_troop.enemies
    # 行動側バトラーがアクターの場合
    elsif @active_battler.is_a?(Game_Actor)
      change_enemy  = $game_troop.enemies
      change_friend = $game_party.actors
    end
    
    # 超回復スキルが設定される場合で除外されていたターゲットを梱包
    case scope
    when 4  # 味方全体
      for obj in change_friend
        if !obj.exist? && @recover_flg
          @target_battlers.push(obj)
        end
      end
    when 5  # 味方単体 (HP 0) 
      index = @active_battler.current_action.target_index
      obj = change_friend[index]
      if obj != nil && !obj.hp0? && @recover_flg
        @target_battlers.push(obj)
      end
    when 6  # 味方全体 (HP 0) 
      for obj in change_friend
        if obj != nil && !obj.hp0? && @recover_flg
          @target_battlers.push(obj)
        end
      end
    end
  end
  
  #--------------------------------------------------------------------------
  # ● フレーム更新 (メインフェーズ ステップ 5 : ダメージ表示)
  #--------------------------------------------------------------------------
  def update_phase4_step5
    
    # ヘルプウィンドウを隠す
    @help_window.hide
    # ステータスウィンドウをリフレッシュ
    @status_window.refresh
    if @active_battler.damage != nil
      @active_battler.damage_pop = true
    end
    # ダメージ表示
    for target in @target_battlers
      if target.damage != nil
        target.damage_pop = true
      end
      
if $SilfeedArks["Special_Attack"]
      # 当身技の発動エフェクト もしくは 反撃スキル準備
      if ( target.counter[6] )
        target.counter[6] = false
        if ( target.counter[0] == 1 or target.counter[0] == 2)
          target.animation_id = target.counter[5]
        end
        if ( target.counter[0] == 3 )
          target.current_action.kind = 1
          target.current_action.skill_id = target.counter[1]
          @action_battlers.unshift(target)
          $game_temp.counter_mode += 1
        end
        if ( target.counter[0] == 4 )
          @counter_temp = target.current_action.skill_id
          target.current_action.kind = 1
          target.current_action.skill_id = @active_battler.current_action.skill_id
          @action_battlers.unshift(target)
          $game_temp.counter_mode += 1
        end
      end
end # $SilfeedArks["Special_Attack"]
      
    end
    # 連続攻撃
    # 通常攻撃の場合、攻撃回数を増やす
    if @active_battler.current_action.kind == 0 && 
        @active_battler.current_action.basic == 0
      @attakked_num += 1
    end
    
if $OuterFlgs["Rand_Select"]
    # スキルの場合、攻撃対象インデックスを増やす
    if @active_battler.current_action.kind == 1
      @selected_num += 1
    end
end # $OuterFlgs["Rand_Select"]
    
    # 攻撃した敵が生き残っているか確認
    f = false
    for target in @target_battlers
      if target.exist?
        f = true
      end
    end
    # ステップ 6 に移行
    @phase4_step = 6
    # 攻撃した敵が生き残っていれば
    if f
      # 「基本動作」で、「攻撃」なら
      if @active_battler.current_action.kind == 0 && 
        @active_battler.current_action.basic == 0
        
if $OuterFlgs["Multi_Atk_Wep"]
        # 武器に設定された最大攻撃数の取得
        @max_atk_num = get_max_attack(@active_battler.weapon_id)
end # $OuterFlgs["Multi_Atk_Wep"]
        
        # 攻撃回数が最大攻撃数を超えていない場合
        if @attakked_num < @max_atk_num
          # ステップ 2 に移行
          @phase4_step = 2
          return
        end
        
        ## 「一度に2回攻撃」で、一回目の攻撃ならば
        #if @active_battler.element_set.include?($game_system.nikai_kogeki) && 
        #  @kogeki_kaisu < 2
        #  # ステップ 2 に移行
        #  @phase4_step = 2
        #  return
        #end
      end
      
if $OuterFlgs["Equip_Extend"]
      # 行動側バトラーがアクターの場合
      if @active_battler.is_a?(Game_Actor)
        # 「スキル(魔法ではない)」もしくは、「基本動作」で「攻撃」なら
        if (@active_battler.current_action.kind == 1 && @skill.atk_f != 0) || 
          (@active_battler.current_action.kind == 0 && 
          @active_battler.current_action.basic == 0)
          # 左手装備が武器なら、左手で攻撃
          #if @active_battler.armor1_buki && @nitoryu_hidarite == false
          #  # 右手と左手の装備を交換
          #  @active_battler.weapon_id = @armor1_id
          #  @active_battler.armor1_id = @weapon_id
          #  @nitoryu_hidarite = true
          #  @kogeki_kaisu = 0
          #  @phase4_step = 2
          #end
          # 多刀装備なら装備箇所で再攻撃
          for i in 0...@active_battler.armors_weapon.size
            if @active_battler.armors_weapon[i] && !@mlt_blade_atked[i]
              # 装備交換
              case i
              when 0
                @active_battler.weapon_id = @armor1_id_tmp
                @active_battler.armor1_id = @weapon_id_tmp
              when 1
                @active_battler.weapon_id = @armor2_id_tmp
                @active_battler.armor2_id = @weapon_id_tmp
              when 2
                @active_battler.weapon_id = @armor6_id_tmp
                @active_battler.armor6_id = @weapon_id_tmp
              when 3
                @active_battler.weapon_id = @armor3_id_tmp
                @active_battler.armor3_id = @weapon_id_tmp
              when 4
                @active_battler.weapon_id = @armor4_id_tmp
                @active_battler.armor4_id = @weapon_id_tmp
              when 5
                @active_battler.weapon_id = @armor5_id_tmp
                @active_battler.armor5_id = @weapon_id_tmp
              when 6
                @active_battler.weapon_id = @armor7_id_tmp
                @active_battler.armor7_id = @weapon_id_tmp
              when 7
                @active_battler.weapon_id = @armor8_id_tmp
                @active_battler.armor8_id = @weapon_id_tmp
              end
              @mlt_blade_atked[i] = true
              @attakked_num = 0
              @phase4_step = 2
              return
            end
          end
        end
      end
end # $OuterFlgs["Equip_Extend"]
      
if $OuterFlgs["Rand_Select"]
      # スキルの場合
      if @active_battler.current_action.kind == 1
        # ランダムセレクト数が残っている場合
        if @selected_num < $game_system.sel_num
          # ステップ 2 に移行
          @phase4_step = 2
          return
        end
      end
end # $OuterFlgs["Rand_Select"]
    end
  end
end
〜使い方〜 準備スクリプトで設定した属性IDを付与するだけの簡単なお仕事。
武器への付与
無:ターンの最初に先制攻撃
無:ターンの一番最後に攻撃
無:一度に敵全体を攻撃
無:両手武器
無:敵の回避率を無視
無:敵の物理防御を無視
防具への付与
無:必殺防止
スキルへの付与
無:敵の物理防御を無視
無:敵の魔法防御を無視
※両手餅は多刀流の方で使用します

戻る