#============================================================================== # 「必要防具タイプ」(ACE) ver1.00 by奈々 # # ◇使用規約 # 使用される場合はスクリプト作成者として「奈々」を明記して下さい。 # このスクリプトを改変したり、改変したものを配布するなどは自由ですが # その場合も元のスクリプトの作成者として名前は載せて下さい。 # #------------------------------------------------------------------------------ # # スキルのメモ欄に<必要防具タイプ n>と書くことで # 必要武器と同じようにn番の防具タイプの防具を装備していないと # 使えないスキルを作成できます。 # # 武器タイプと一緒に設定した場合、どちらか1つでも装備していれば使えます。 # (武器タイプを2つ設定した場合と同じ仕様です) # #============================================================================== #============================================================================== # ■ Game_Actor #------------------------------------------------------------------------------ # アクターを扱うクラスです。このクラスは Game_Actors クラス($game_actors) # の内部で使用され、Game_Party クラス($game_party)からも参照されます。 #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● スキルの必要武器と防具を装備しているか(再定義) #-------------------------------------------------------------------------- def skill_wtype_ok?(skill) wtype_id1 = skill.required_wtype_id1 wtype_id2 = skill.required_wtype_id2 atype_id = skill.required_atype_id return true if wtype_id1 == 0 && wtype_id2 == 0 && atype_id == 0 return true if wtype_id1 > 0 && wtype_equipped?(wtype_id1) return true if wtype_id2 > 0 && wtype_equipped?(wtype_id2) return true if atype_id > 0 && atype_equipped?(atype_id) return false end #-------------------------------------------------------------------------- # ● 特定のタイプの防具を装備しているか(新規メソッド) #-------------------------------------------------------------------------- def atype_equipped?(atype_id) armors.any? {|armors| armors.atype_id == atype_id } end end class RPG::Skill < RPG::UsableItem #-------------------------------------------------------------------------- # ☆ 必要防具タイプの定義(追加定義) #-------------------------------------------------------------------------- def required_atype_id @note.scan(/<必要防具タイプ\s?(\d+)>/) return $1.to_i if $1 return 0 end end