#==============================================================================
# ハイリスク・ハイリターンスキル/アイテム 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
|