ハイリスク・ハイリターンスキルスクリプト



成功すると敵を全滅させ、失敗すると見方を全滅させるスキルを作成します。

変更点
2017:11:03
・ボスフラグスクリプト用微修正


#==============================================================================
# ハイリスク・ハイリターンスキル/アイテム By 貪藻矢射妥←
#------------------------------------------------------------------------------
# 成功すると敵を全滅させ、失敗すると見方を全滅させるスキルを作成します。
# 
# スキル作成時に命中率を100に、ステート変化で戦闘不能を+にして
# ハイリスク・ハイリターンスキルの属性にチェックを入れてください。
# 
#==============================================================================
# 変更点
# 
# 2017:11:03
# ・ボスフラグスクリプト用微修正

module DIAMOND
  
  # 勝手に重破斬属性
  GS_FLG =    41
  # 全滅する確率
  RUIN_RATE = 20

end

$OuterFlgs = {} if $OuterFlgs == nil
$OuterFlgs["Giga_Slave"] = true

#==============================================================================
# ■ Scene_Battle (分割定義 4)
#------------------------------------------------------------------------------
#  バトル画面の処理を行うクラスです。
#==============================================================================

class Scene_Battle
  include DIAMOND
  #--------------------------------------------------------------------------
  # ● スキルまたはアイテムの対象側バトラー設定
  #     scope : スキルまたはアイテムの効果範囲
  #--------------------------------------------------------------------------
  alias set_target_battlers_diamond_giga_slave set_target_battlers
  def set_target_battlers(scope)
    ruin_flg = false
    # 他サイトのスクリプトとの競合を考えて(武器の全体攻撃とか)
    # スキルがnilの場合は処理を行わない
    if @skill != nil && @skill.element_set.include?(GS_FLG)
      change_hit = Integer(100.0 / @active_battler.hit * rand(@active_battler.hit))
      if change_hit < RUIN_RATE
        ruin_flg = true
      end
      if (@active_battler.is_a?(Game_Enemy) && ruin_flg) ||
        (@active_battler.is_a?(Game_Actor) && !ruin_flg)
        for enemy in $game_troop.enemies
          if enemy.exist? 
            if $OuterFlgs["I_Am_Boss"] && $game_system.boss_flg[enemy.id]
              # ボスのため無効。
            else
              @target_battlers.push(enemy)
            end
          end
        end
      elsif (@active_battler.is_a?(Game_Enemy) && !ruin_flg) ||
        (@active_battler.is_a?(Game_Actor) && ruin_flg)
        for actor in $game_party.actors
          if actor.exist?
            @target_battlers.push(actor)
          end
        end
      end
    else
      set_target_battlers_diamond_giga_slave(scope)
    end
  end
end
薄緑色の部分にてハイリスク・ハイリターンスキルを設定する属性を設定、薄黄色の部分にてどれだけの確率で 失敗するかを設定します。 ↓スキルの設定例↓

戻る