アイテム禁止



いわゆる『アイテムなんぞ使ってんじゃねぇ!』ってのを実装します
といっても、スクリプトでアイテムを一から作るのではなく、
特定のステートにかかっている場合でアイテムを使おうとした際に
自分自身にダメージを与えるアイテムを使うように挿げ替えるというもの

変更点
まだなし

#==============================================================================
# ■ アイテム禁止 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
カスタマイズポイントについて(ってか見れば分かると思いますが・・・)
STATE_NOITEM アイテム禁止ステートID 薄緑色の部分。 アイテム使用禁止にするステートID
ITEM_NOITEM_ID アイテム禁止で使用するアイテムID 薄緑色の部分。 アイテム使用禁止の際に使用されるアイテム。以下設定にしてください。 効果範囲 :使用者 使用可能時:バトルのみ 消耗   :D.C.

戻る