#==============================================================================
# ■ アイテム禁止 By 貪藻矢射妥←
#
# いわゆる『アイテムなんぞ使ってんじゃねぇ!』ってのを実装します
# といっても、スクリプトでアイテムを一から作るのではなく、
# 特定のステートにかかっている場合でアイテムを使おうとした際に
# 自分自身にダメージを与えるアイテムを使うように挿げ替えるというもの
#
#==============================================================================
# 更新っぽいもの
# まだなし
$OuterFlgs = {} if $OuterFlgs == nil
$OuterFlgs["NoItem_NoUse"] = true
module NoItem_NoUse
# アイテム禁止ステート
STATE_NOITEM = 203
# アイテム禁止で使用するアイテムID
# 効果範囲 :使用者
# 使用可能時:バトルのみ
# 消耗 :D.C.
ITEM_NOITEM_ID = 55
end
#==============================================================================
# ■ Scene_Battle (分割定義 4)
#------------------------------------------------------------------------------
# バトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# ● アイテムアクション 結果作成
#--------------------------------------------------------------------------
alias make_item_action_result_noitem_nouse make_item_action_result
def make_item_action_result
# アイテム使用禁止ステートにかかっている場合
if @active_battler.states.include?(NoItem_NoUse::STATE_NOITEM)
# アイテムを取得
@item = $data_items[NoItem_NoUse::ITEM_NOITEM_ID]
# アイテム切れなどで使用できなくなった場合 は存在しないので考慮不要
# 消耗品の場合 についても考慮不要
# ヘルプウィンドウにアイテム名を表示
@help_window.set_text(@item.name, 1)
# アニメーション ID を設定
@animation1_id = @item.animation1_id
@animation2_id = @item.animation2_id
# コモンイベント ID を設定
@common_event_id = @item.common_event_id
# 対象を決定
index = @active_battler.current_action.target_index
target = $game_party.smooth_target_actor(index)
# 対象側バトラーを設定
set_target_battlers(@item.scope)
# アイテムの効果を適用
for target in @target_battlers
target.item_effect(@item)
end
# ステートの解除
@active_battler.states.delete(NoItem_NoUse::STATE_NOITEM)
else
# 呼び戻す
make_item_action_result_noitem_nouse
end
end
end
|