#============================================================================== # 「裸禁止」(ACE) Ver.1.0 # 製作者:奈々(なな) # へぷたなすくろーる http://heptanas.mamagoto.com/ # # ◇利用規約 # この素材はフリーゲームにのみご利用頂けます。 # シェアウェア、販売作品への利用は原則として禁止します。(詳細はブログ参照) # 利用される場合はスクリプト作成者として「奈々」とURLを明記し # 配布時にブログで利用規約の確認と、利用報告を行って下さい。 # #------------------------------------------------------------------------------ # # 装備を外して何も装備していない状態にすることを禁止します。 # 封印と違い、装備の付け替えは可能です。 # # 初期設定から禁止する装備スロット、装備タイプの指定ができます。 # またデータベースの「アクター、クラス」のメモ欄に # # <裸禁止 n> # # と入れることで、アクター毎にn番の装備スロットを禁止できます。 # #============================================================================== #初期設定 module Nana module Anti_Naked E_SLOT = [0,1] #無装備にできない装備スロットの指定 E_TYPE = [0,1] #無装備にできない装備タイプの指定 end end #============================================================================== # ■ Game_Actor #------------------------------------------------------------------------------ #  アクターを扱うクラスです。このクラスは Game_Actors クラス($game_actors) # の内部で使用され、Game_Party クラス($game_party)からも参照されます。 #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● 装備の変更 # slot_id : 装備スロット ID # item : 武器/防具(nil なら装備解除) #-------------------------------------------------------------------------- alias change_equip_nan change_equip def change_equip(slot_id, item) nan_list = Nana::Anti_Naked::E_SLOT Nana::Anti_Naked::E_TYPE.each do |et| nan_list |= slot_list(et) end nan_list |= self.actor.nan_list nan_list |= self.class.nan_list unless item == nil && nan_list.include?(slot_id) change_equip_nan(slot_id, item) end end end #============================================================================== # ■ RPG::BaseItem #------------------------------------------------------------------------------ #  アクター、職業、スキル、アイテム、武器、防具、敵キャラ、およびステートのスーパークラス。 #============================================================================== class RPG::BaseItem #-------------------------------------------------------------------------- # ● 裸禁止スロット #-------------------------------------------------------------------------- def nan_list list = [] @note.scan(/<\s*裸禁止\s*(\d+)\s*>/) {|s| list.push($1.to_i) if $1} return list end end