#============================================================================== # 装備タイプ追加 ver1.01 #------------------------------------------------------------------------------ #[特徴] # 通常の装備タイプ(武器・盾・頭・身体・装飾品)以外の装備タイプを追加します。 # #[設定方法] # 防具(武器ではありません)のメモ欄に <装備タイプ:数値> と書きます。 # 1〜4はそれぞれ「盾・頭・身体・装飾品」となるので、 # 5以降の数値を使うことになります。 # #[設定項目] # 下記の設定項目にて、追加したタイプの装備スロットの名前、 # 職業毎の装備スロットの配列を設定できます。 # # 作成:ぶちょー # ホム:http://nyannyannyan.bake-neko.net/ # 著作:自分で作ったとか言わないで>< # 改造はご自由にどうぞ。 # リードミーとかに私の名前の載せたりするのは任意で。 #============================================================================== #============================================================================== # バージョンアップ情報 # ver1.01 スロットタイプ[二刀流]の武器を外した後、 # 装備スロットが二刀流が反映されたままなのを修正 # ver1.00 公開 #============================================================================== #============================================================================== # 設定項目 #============================================================================== module Kazari module AddEquipType # 追加する装備スロットの名前 # 装備タイプ => "名称", SlotName = { 5 => "足", 6 => "マント", } # 装備スロットの設定 # 職業ID => [0, 1, 2, 3, 4, 5, 6], EQUIP_SLOTS = { # 職業ID 1 のアクターのスロット 1 => [0, 1, 2, 3, 4, 5, 6], # 最後の 『,』 を忘れないように # 個別で設定しなかった場合、0 で設定したものが適用されます。 0 => [0, 1, 2, 3, 4, 5], } # 二刀流の処理 # 設定した数値を 盾 と考え、二刀流だった場合、その装備スロットを 0 にする。 # 装備タイプ【盾】をそのまま盾として使うのなら、1 のままで良いです。 DUAL_WIELD_TYPE = 1 end end #============================================================================== # ここまで #============================================================================== $kzr_imported = {} if $kzr_imported == nil $kzr_imported["AddEquipType"] = true #============================================================================== # ■ Game_Actor #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● 装備スロットの配列を取得 ※ 再定義 #-------------------------------------------------------------------------- def equip_slots if Kazari::AddEquipType::EQUIP_SLOTS[@class_id] slot = Kazari::AddEquipType::EQUIP_SLOTS[@class_id].clone else slot = Kazari::AddEquipType::EQUIP_SLOTS[0].clone end if dual_wield? # 二刀流 slot.each_index do |ind| slot[ind] = 0 if slot[ind] == Kazari::AddEquipType::DUAL_WIELD_TYPE end end return slot end end #============================================================================== # ■ Window_EquipSlot #============================================================================== class Window_EquipSlot < Window_Selectable #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh create_contents draw_all_items end end #============================================================================== # ■ Vocab #============================================================================== class << Vocab # 装備タイプ alias kzr_add_equip_slots_etype etype def etype(etype_id) if etype_id < 5 kzr_add_equip_slots_etype(etype_id) else Kazari::AddEquipType::SlotName[etype_id] end end end #============================================================================== # ■ RPG::Armor #============================================================================== class RPG::Armor def etype_id note.each_line { |line| case line when /<装備タイプ:(\d+)>/i ; return $1.to_i end } return @etype_id end end