| 赞 | 1  | 
 
| VIP | 220 | 
 
| 好人卡 | 25 | 
 
| 积分 | 8 | 
 
| 经验 | 51477 | 
 
| 最后登录 | 2013-1-12 | 
 
| 在线时间 | 943 小时 | 
 
 
 
 
 
Lv2.观梦者 花开堪折直须折
  
	- 梦石
 - 0 
 
        - 星屑
 - 791 
 
        - 在线时间
 - 943 小时
 
        - 注册时间
 - 2010-7-17
 
        - 帖子
 - 4963
 
 
  
 
 | 
	
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员  
 
x
 
- #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 
 - #_/    ◆ 拡張装備画面 - KGC_ExtendedEquipScene ◆ VX ◆
 
 - #_/    ◇ Last update : 2009/02/15 ◇
 
 - #_/----------------------------------------------------------------------------
 
 - #_/  機能を強化した装備画面を作成します。
 
 - #_/============================================================================
 
 - #_/ 【基本機能】≪ヘルプウィンドウ機能拡張≫ より下に導入してください。
 
 - #_/ 【装備】≪スキル習得装備≫ より下に導入してください。
 
 - #_/ 【装備】≪装備拡張≫ より上に導入してください。
 
 - #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 
  
- $data_system = load_data("Data/System.rvdata") if $data_system == nil
 
  
- #==============================================================================
 
 - # ★ カスタマイズ項目 - Customize BEGIN ★
 
 - #==============================================================================
 
  
- module KGC
 
 - module ExtendedEquipScene
 
 -   # ◆ パラメータ名
 
 -   VOCAB_PARAM = {
 
 -     :hit => "命中率",        # 命中率
 
 -     :eva => "回避率",        # 回避率
 
 -     :cri => "暴击率",  # クリティカル率
 
 -   }  # ← この } は消さないこと!
 
  
-   # ◆ 装備変更時に表示するパラメータ
 
 -   #  表示したい順に , で区切って記入。
 
 -   #  :maxhp .. 最大 HP
 
 -   #  :maxmp .. 最大 MP
 
 -   #  :atk   .. 攻撃力
 
 -   #  :def   .. 防御力
 
 -   #  :spi   .. 精神力
 
 -   #  :agi   .. 敏捷性
 
 -   #  :hit   .. 命中率
 
 -   #  :eva   .. 回避率
 
 -   #  :cri   .. クリティカル率
 
 -   EQUIP_PARAMS = [ :atk, :def, :spi, :agi, :hit, :eva, :cri ]
 
  
-   # ◆ 拡張装備コマンドを使用する
 
 -   #  true  : 「最強装備」「すべて外す」コマンドを使用可能
 
 -   #  false : 装備変更のみ
 
 -   USE_COMMAND_WINDOW = true
 
 -   # ◆ 装備画面のコマンド名
 
 -   COMMANDS = [
 
 -     "装备更变",    # 装備変更
 
 -     "最强装备",    # 最強装備
 
 -     "装备解除",  # すべて外す
 
 -   ]  # ← この ] は消さないこと!
 
 -   # ◆ 装備画面コマンドのヘルプ
 
 -   COMMAND_HELP = [
 
 -     "更变装备。",            # 装備変更
 
 -     "装备最强有力的装备。",  # 最強装備
 
 -     "取下全部的装备。",      # すべて外す
 
 -   ]  # ← この ] は消さないこと!
 
  
-   # ◆ 最強装備を行わない装備種別
 
 -   #  最強装備から除外する装備種別を記述。
 
 -   #  -1..武器  0..盾  1..頭  2..身体  3..装飾品  4~..≪装備拡張≫ で定義
 
 -   IGNORE_STRONGEST_KIND = [3, 5]
 
  
-   # ◆ 最強武器選択時のパラメータ優先順位
 
 -   #  優先順位の高い順に , で区切って記入。
 
 -   #  :atk .. 攻撃力
 
 -   #  :def .. 防御力
 
 -   #  :spi .. 精神力
 
 -   #  :agi .. 敏捷性
 
 -   STRONGEST_WEAPON_PARAM_ORDER = [ :atk, :spi, :agi, :def ]
 
 -   # ◆ 最強防具選択時のパラメータ優先順位
 
 -   #  指定方法は武器と同じ。
 
 -   STRONGEST_ARMOR_PARAM_ORDER  = [ :def, :spi, :agi, :atk ]
 
  
-   # ◆ AP ウィンドウを使用する
 
 -   #  true  : 使用する
 
 -   #  false : 使用しない
 
 -   #  ≪スキル習得装備≫ 併用時のみ有効。
 
 -   SHOW_AP_WINDOW    = true
 
 -   # ◆ AP ウィンドウに表示するスキル数
 
 -   #  多くしすぎすると表示がバグります。
 
 -   #  (4 以下を推奨)
 
 -   AP_WINDOW_SKILLS  = 4
 
 -   # ◆ AP ウィンドウの習得スキル名のキャプション
 
 -   AP_WINDOW_CAPTION = "習得#{Vocab.skill}"
 
 -   # ◆ AP ウィンドウの表示切り替えボタン
 
 -   #  このボタンを押すと、AP ウィンドウの表示/非表示が切り替わる。
 
 -   AP_WINDOW_BUTTON  = Input::X
 
 - end
 
 - end
 
  
- #==============================================================================
 
 - # ☆ カスタマイズ項目 終了 - Customize END ☆
 
 - #==============================================================================
 
  
- $imported = {} if $imported == nil
 
 - $imported["ExtendedEquipScene"] = true
 
  
- module KGC::ExtendedEquipScene
 
 -   # パラメータ取得用 Proc
 
 -   GET_PARAM_PROC = {
 
 -     :atk => Proc.new { |n| n.atk },
 
 -     :def => Proc.new { |n| n.def },
 
 -     :spi => Proc.new { |n| n.spi },
 
 -     :agi => Proc.new { |n| n.agi },
 
 -   }
 
 -   # 最強アイテム用構造体
 
 -   StrongestItem = Struct.new("StrongestItem", :index, :item)
 
 - end
 
  
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
 
  
- #==============================================================================
 
 - # ■ Vocab
 
 - #==============================================================================
 
  
- module Vocab
 
 -   # 命中率
 
 -   def self.hit
 
 -     return KGC::ExtendedEquipScene::VOCAB_PARAM[:hit]
 
 -   end
 
  
-   # 回避率
 
 -   def self.eva
 
 -     return KGC::ExtendedEquipScene::VOCAB_PARAM[:eva]
 
 -   end
 
  
-   # クリティカル率
 
 -   def self.cri
 
 -     return KGC::ExtendedEquipScene::VOCAB_PARAM[:cri]
 
 -   end
 
 - end
 
  
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
 
  
- #==============================================================================
 
 - # □ Window_ExtendedEquipCommand
 
 - #------------------------------------------------------------------------------
 
 - #   拡張装備画面で、実行する操作を選択するウィンドウです。
 
 - #==============================================================================
 
  
- class Window_ExtendedEquipCommand < Window_Command
 
 -   #--------------------------------------------------------------------------
 
 -   # ● オブジェクト初期化
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize
 
 -     super(160, KGC::ExtendedEquipScene::COMMANDS)
 
 -     self.active = false
 
 -     self.z = 1000
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● ヘルプウィンドウの更新
 
 -   #--------------------------------------------------------------------------
 
 -   def update_help
 
 -     @help_window.set_text(KGC::ExtendedEquipScene::COMMAND_HELP[self.index])
 
 -   end
 
 - end
 
  
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
 
  
- #==============================================================================
 
 - # □ Window_EquipBaseInfo
 
 - #------------------------------------------------------------------------------
 
 - #   装備画面で、アクターの基本情報を表示するウィンドウです。
 
 - #==============================================================================
 
  
- class Window_EquipBaseInfo < Window_Base
 
 -   #--------------------------------------------------------------------------
 
 -   # ● オブジェクト初期化
 
 -   #     x     : ウィンドウの X 座標
 
 -   #     y     : ウィンドウの Y 座標
 
 -   #     actor : アクター
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize(x, y, actor)
 
 -     super(x, y, Graphics.width / 2, WLH + 32)
 
 -     @actor = actor
 
 -     refresh
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● リフレッシュ
 
 -   #--------------------------------------------------------------------------
 
 -   def refresh
 
 -     self.contents.clear
 
 -     draw_actor_name(@actor, 0, 0)
 
 -     # EP 制を使用する場合は EP を描画
 
 -     if $imported["EquipExtension"] && KGC::EquipExtension::USE_EP_SYSTEM
 
 -       draw_actor_ep(@actor, 116, 0, Graphics.width / 2 - 148)
 
 -     end
 
 -   end
 
 - end
 
  
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
 
  
- #==============================================================================
 
 - # ■ Window_Equip
 
 - #==============================================================================
 
  
- class Window_Equip < Window_Selectable
 
  
-   unless KGC::ExtendedEquipScene::USE_COMMAND_WINDOW
 
  
-   #--------------------------------------------------------------------------
 
 -   # ● カーソルを 1 ページ後ろに移動
 
 -   #--------------------------------------------------------------------------
 
 -   def cursor_pagedown
 
 -     return if Input.repeat?(Input::R)
 
 -     super
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● カーソルを 1 ページ前に移動
 
 -   #--------------------------------------------------------------------------
 
 -   def cursor_pageup
 
 -     return if Input.repeat?(Input::L)
 
 -     super
 
 -   end
 
  
-   end  # <-- unless KGC::ExtendedEquipScene::USE_COMMAND_WINDOW
 
  
-   #--------------------------------------------------------------------------
 
 -   # ● フレーム更新
 
 -   #--------------------------------------------------------------------------
 
 -   def update
 
 -     super
 
 -     return unless self.active
 
  
-     if Input.repeat?(Input::RIGHT)
 
 -       Sound.play_cursor
 
 -       cursor_pagedown
 
 -     elsif Input.repeat?(Input::LEFT)
 
 -       Sound.play_cursor
 
 -       cursor_pageup
 
 -     end
 
 -   end
 
 - end
 
  
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
 
  
- #==============================================================================
 
 - # ■ Window_EquipItem
 
 - #==============================================================================
 
  
- class Window_EquipItem < Window_Item
 
 -   #--------------------------------------------------------------------------
 
 -   # ● オブジェクト初期化
 
 -   #     x          : ウィンドウの X 座標
 
 -   #     y          : ウィンドウの Y 座標
 
 -   #     width      : ウィンドウの幅
 
 -   #     height     : ウィンドウの高さ
 
 -   #     actor      : アクター
 
 -   #     equip_type : 装備部位
 
 -   #--------------------------------------------------------------------------
 
 -   alias initialize_KGC_ExtendedEquipScene initialize
 
 -   def initialize(x, y, width, height, actor, equip_type)
 
 -     width = Graphics.width / 2
 
  
-     initialize_KGC_ExtendedEquipScene(x, y, width, height, actor, equip_type)
 
  
-     @column_max = 1
 
 -     refresh
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● リフレッシュ
 
 -   #--------------------------------------------------------------------------
 
 -   alias refresh_KGC_ExtendedEquipScene refresh  unless $@
 
 -   def refresh
 
 -     return if @column_max == 2  # 無駄な描画はしない
 
  
-     refresh_KGC_ExtendedEquipScene
 
 -   end
 
 - end
 
  
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
 
  
- #==============================================================================
 
 - # □ Window_ExtendedEquipStatus
 
 - #------------------------------------------------------------------------------
 
 - #   拡張装備画面で、アクターの能力値変化を表示するウィンドウです。
 
 - #==============================================================================
 
  
- class Window_ExtendedEquipStatus < Window_EquipStatus
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 公開インスタンス変数
 
 -   #--------------------------------------------------------------------------
 
 -   attr_writer   :equip_type               # 装備タイプ
 
 -   #--------------------------------------------------------------------------
 
 -   # ● オブジェクト初期化
 
 -   #     x     : ウィンドウの X 座標
 
 -   #     y     : ウィンドウの Y 座標
 
 -   #     actor : アクター
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize(x, y, actor)
 
 -     @equip_type = -1
 
 -     @caption_cache = nil
 
 -     super(x, y, actor)
 
 -     @new_item = nil
 
 -     @new_param = {}
 
 -     refresh
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 解放
 
 -   #--------------------------------------------------------------------------
 
 -   def dispose
 
 -     super
 
 -     @caption_cache.dispose if @caption_cache != nil
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● ウィンドウ内容の作成
 
 -   #--------------------------------------------------------------------------
 
 -   def create_contents
 
 -     self.contents.dispose
 
 -     self.contents = Bitmap.new(Graphics.width / 2 - 32, height - 32)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● リフレッシュ
 
 -   #--------------------------------------------------------------------------
 
 -   def refresh
 
 -     return if @equip_type < 0
 
  
-     if @caption_cache == nil
 
 -       create_cache
 
 -     else
 
 -       self.contents.clear
 
 -       self.contents.blt(0, 0, @caption_cache, @caption_cache.rect)
 
 -     end
 
 -     draw_item_name(@actor.equips[@equip_type], 0, 0)
 
 -     draw_item_name(@new_item, 24, WLH)
 
 -     KGC::ExtendedEquipScene::EQUIP_PARAMS.each_with_index { |param, i|
 
 -       draw_parameter(0, WLH * (i + 2), param)
 
 -     }
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ キャッシュ生成
 
 -   #--------------------------------------------------------------------------
 
 -   def create_cache
 
 -     create_contents
 
  
-     self.contents.font.color = system_color
 
 -     self.contents.draw_text(0, WLH, 20, WLH, "→")
 
 -     # パラメータ描画
 
 -     KGC::ExtendedEquipScene::EQUIP_PARAMS.each_with_index { |param, i|
 
 -       draw_parameter_name(0, WLH * (i + 2), param)
 
 -     }
 
  
-     @caption_cache = Bitmap.new(self.contents.width, self.contents.height)
 
 -     @caption_cache.blt(0, 0, self.contents, self.contents.rect)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 能力値名の描画
 
 -   #     x    : 描画先 X 座標
 
 -   #     y    : 描画先 Y 座標
 
 -   #     type : 能力値の種類
 
 -   #--------------------------------------------------------------------------
 
 -   def draw_parameter_name(x, y, type)
 
 -     case type
 
 -     when :maxhp
 
 -       name = Vocab.hp
 
 -     when :maxmp
 
 -       name = Vocab.mp
 
 -     when :atk
 
 -       name = Vocab.atk
 
 -     when :def
 
 -       name = Vocab.def
 
 -     when :spi
 
 -       name = Vocab.spi
 
 -     when :agi
 
 -       name = Vocab.agi
 
 -     when :hit
 
 -       name = Vocab.hit
 
 -     when :eva
 
 -       name = Vocab.eva
 
 -     when :cri
 
 -       name = Vocab.cri
 
 -     end
 
 -     self.contents.font.color = system_color
 
 -     self.contents.draw_text(x + 4, y, 96, WLH, name)
 
 -     self.contents.font.color = system_color
 
 -     self.contents.draw_text(x + 156, y, 20, WLH, "→", 1)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 装備変更後の能力値設定
 
 -   #     new_param : 装備変更後のパラメータの配列
 
 -   #     new_item  : 変更後の装備
 
 -   #--------------------------------------------------------------------------
 
 -   def set_new_parameters(new_param, new_item)
 
 -     changed = false
 
 -     # パラメータ変化判定
 
 -     KGC::ExtendedEquipScene::EQUIP_PARAMS.each { |k|
 
 -       if @new_param[k] != new_param[k]
 
 -         changed = true
 
 -         break
 
 -       end
 
 -     }
 
 -     changed |= (@new_item != new_item)
 
  
-     if changed
 
 -       @new_item = new_item
 
 -       @new_param = new_param
 
 -       refresh
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 能力値の描画
 
 -   #     x    : 描画先 X 座標
 
 -   #     y    : 描画先 Y 座標
 
 -   #     type : 能力値の種類
 
 -   #--------------------------------------------------------------------------
 
 -   def draw_parameter(x, y, type)
 
 -     case type
 
 -     when :maxhp
 
 -       value = @actor.maxhp
 
 -     when :maxmp
 
 -       value = @actor.maxmp
 
 -     when :atk
 
 -       value = @actor.atk
 
 -     when :def
 
 -       value = @actor.def
 
 -     when :spi
 
 -       value = @actor.spi
 
 -     when :agi
 
 -       value = @actor.agi
 
 -     when :hit
 
 -       value = @actor.hit
 
 -     when :eva
 
 -       value = @actor.eva
 
 -     when :cri
 
 -       value = @actor.cri
 
 -     end
 
 -     new_value = @new_param[type]
 
 -     self.contents.font.color = normal_color
 
 -     self.contents.draw_text(x + 106, y, 48, WLH, value, 2)
 
 -     if new_value != nil
 
 -       self.contents.font.color = new_parameter_color(value, new_value)
 
 -       self.contents.draw_text(x + 176, y, 48, WLH, new_value, 2)
 
 -     end
 
 -   end
 
 - end
 
  
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
 
  
- #==============================================================================
 
 - # □ Window_ExtendedEquipAPViewer
 
 - #------------------------------------------------------------------------------
 
 - #   拡張装備画面で、習得スキルを表示するウィンドウです。
 
 - #==============================================================================
 
  
- if $imported["EquipLearnSkill"]
 
 - class Window_ExtendedEquipAPViewer < Window_APViewer
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 公開インスタンス変数
 
 -   #--------------------------------------------------------------------------
 
 -   attr_reader   :item                     # 表示対象のアイテム
 
 -   #--------------------------------------------------------------------------
 
 -   # ● オブジェクト初期化
 
 -   #     x      : ウィンドウの X 座標
 
 -   #     y      : ウィンドウの Y 座標
 
 -   #     width  : ウィンドウの幅
 
 -   #     height : ウィンドウの高さ
 
 -   #     actor  : アクター
 
 -   #--------------------------------------------------------------------------
 
 -   def initialize(x, y, width, height, actor)
 
 -     @item = nil
 
 -     super
 
 -     self.index = -1
 
 -     self.active = false
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ アイテム設定
 
 -   #--------------------------------------------------------------------------
 
 -   def item=(new_item)
 
 -     @item = new_item
 
 -     refresh
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ リフレッシュ
 
 -   #--------------------------------------------------------------------------
 
 -   def refresh
 
 -     @data = []
 
 -     @can_gain_ap_skills = @actor.can_gain_ap_skills
 
 -     @equipment_skills = @actor.equipment_skills(true)
 
  
-     skills = (@item == nil ? [] : @item.learn_skills)
 
 -     skills.each { |i|
 
 -       @data << $data_skills[i]
 
 -     }
 
 -     @item_max = @data.size
 
 -     create_contents
 
 -     draw_caption
 
 -     @item_max.times { |i| draw_item(i) }
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ キャプションを描画
 
 -   #--------------------------------------------------------------------------
 
 -   def draw_caption
 
 -     self.contents.font.color = system_color
 
 -     self.contents.draw_text(0, 0, width - 96, WLH,
 
 -       KGC::ExtendedEquipScene::AP_WINDOW_CAPTION, 1)
 
 -     self.contents.draw_text(width - 96, 0, 64, WLH, Vocab.ap, 1)
 
 -     self.contents.font.color = normal_color
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ スキルをマスク表示するかどうか
 
 -   #     skill : スキル
 
 -   #--------------------------------------------------------------------------
 
 -   def mask?(skill)
 
 -     return false
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 項目の描画
 
 -   #     index : 項目番号
 
 -   #--------------------------------------------------------------------------
 
 -   def draw_item(index)
 
 -     rect = item_rect(index)
 
 -     rect.y += WLH
 
 -     self.contents.clear_rect(rect)
 
 -     skill = @data[index]
 
 -     if skill != nil
 
 -       draw_item_name(skill, rect.x, rect.y)
 
 -       if skill.need_ap > 0
 
 -         if @actor.ap_full?(skill) || @actor.skill_learn?(skill)
 
 -           # マスター
 
 -           text = Vocab.full_ap_skill
 
 -         else
 
 -           # AP 蓄積中
 
 -           text = sprintf("%4d/%4d", @actor.skill_ap(skill.id), skill.need_ap)
 
 -         end
 
 -       end
 
 -       # AP を描画
 
 -       rect.x = rect.width - 80
 
 -       rect.width = 80
 
 -       self.contents.font.color = normal_color
 
 -       self.contents.draw_text(rect, text, 2)
 
 -     end
 
 -   end
 
 - end
 
 - end  # <-- if $imported["EquipLearnSkill"]
 
  
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
 
  
- #==============================================================================
 
 - # ■ Scene_Equip
 
 - #==============================================================================
 
  
- class Scene_Equip < Scene_Base
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 定数
 
 -   #--------------------------------------------------------------------------
 
 -   STANDARD_WIDTH  = Graphics.width / 2
 
 -   ANIMATION_SPPED = 8
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 開始処理
 
 -   #--------------------------------------------------------------------------
 
 -   alias start_KGC_ExtendedEquipScene start
 
 -   def start
 
 -     start_KGC_ExtendedEquipScene
 
  
-     # ステータスウィンドウを作り直す
 
 -     @status_window.dispose
 
 -     @status_window = Window_ExtendedEquipStatus.new(0, 0, @actor)
 
  
-     create_command_window
 
  
-     @last_item = RPG::Weapon.new
 
 -     @base_info_window = Window_EquipBaseInfo.new(
 
 -       0, @help_window.height, @actor)
 
  
-     if $imported["EquipLearnSkill"] && KGC::ExtendedEquipScene::SHOW_AP_WINDOW
 
 -       @ap_window = Window_ExtendedEquipAPViewer.new(0, 0, 64, 64, @actor)
 
 -     end
 
  
-     adjust_window_for_extended_equiop_scene
 
 -     Graphics.frame_reset
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ ウィンドウの座標・サイズを拡張装備画面向けに調整
 
 -   #--------------------------------------------------------------------------
 
 -   def adjust_window_for_extended_equiop_scene
 
 -     @base_info_window.width = @equip_window.width
 
  
-     @equip_window.x = 0
 
 -     @equip_window.y = @base_info_window.y + @base_info_window.height
 
 -     @equip_window.height = Graphics.height - @equip_window.y
 
 -     @equip_window.active = false
 
 -     @equip_window.z = 100
 
  
-     @status_window.x = 0
 
 -     @status_window.y = @equip_window.y
 
 -     @status_window.width = STANDARD_WIDTH
 
 -     @status_window.height = @equip_window.height
 
 -     @status_window.visible = false
 
 -     @status_window.z = 100
 
  
-     @item_windows.each { |window|
 
 -       window.x = @equip_window.width
 
 -       window.y = @help_window.height
 
 -       window.z = 50
 
 -       window.height = Graphics.height - @help_window.height
 
 -     }
 
  
-     if @ap_window != nil
 
 -       @ap_window.width = @item_windows[0].width
 
 -       @ap_window.height =
 
 -         (KGC::ExtendedEquipScene::AP_WINDOW_SKILLS + 1) * Window_Base::WLH + 32
 
 -       @ap_window.x = @equip_window.width
 
 -       @ap_window.y = Graphics.height - @ap_window.height
 
 -       @ap_window.z = @item_windows[0].z + 10
 
 -       @ap_window.refresh
 
 -     end
 
  
-     # コマンドウィンドウ不使用の場合
 
 -     unless KGC::ExtendedEquipScene::USE_COMMAND_WINDOW
 
 -       @command_window.visible = false
 
 -       @command_window.active = false
 
 -       @equip_window.active = true
 
 -       @equip_window.call_update_help
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ コマンドウィンドウの作成
 
 -   #--------------------------------------------------------------------------
 
 -   def create_command_window
 
 -     @command_window = Window_ExtendedEquipCommand.new
 
 -     @command_window.help_window = @help_window
 
 -     @command_window.active = true
 
 -     @command_window.x = (Graphics.width - @command_window.width) / 2
 
 -     @command_window.y = (Graphics.height - @command_window.height) / 2
 
 -     @command_window.update_help
 
  
-     # 装備固定なら「最強装備」「すべて外す」を無効化
 
 -     if @actor.fix_equipment
 
 -       @command_window.draw_item(1, false)
 
 -       @command_window.draw_item(2, false)
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 終了処理
 
 -   #--------------------------------------------------------------------------
 
 -   alias terminate_KGC_ExtendedEquipScene terminate
 
 -   def terminate
 
 -     terminate_KGC_ExtendedEquipScene
 
  
-     @command_window.dispose
 
 -     @base_info_window.dispose
 
 -     @ap_window.dispose if @ap_window != nil
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ ウィンドウをリフレッシュ
 
 -   #--------------------------------------------------------------------------
 
 -   def refresh_window
 
 -     @base_info_window.refresh
 
 -     @equip_window.refresh
 
 -     @status_window.refresh
 
 -     @item_windows.each { |window| window.refresh }
 
 -     @ap_window.refresh if @ap_window != nil
 
 -     Graphics.frame_reset
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● フレーム更新
 
 -   #--------------------------------------------------------------------------
 
 -   alias update_KGC_ExtendedEquipScene update
 
 -   def update
 
 -     update_command_window
 
 -     if @command_window.active
 
 -       update_KGC_ExtendedEquipScene
 
 -       update_command_selection
 
 -     else
 
 -       update_KGC_ExtendedEquipScene
 
 -       update_ap_window
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ コマンドウィンドウの更新
 
 -   #--------------------------------------------------------------------------
 
 -   def update_command_window
 
 -     @command_window.update
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● ステータスウィンドウの更新
 
 -   #--------------------------------------------------------------------------
 
 -   def update_status_window
 
 -     @base_info_window.update
 
 -     @status_window.update
 
  
-     if @command_window.active || @equip_window.active
 
 -       @status_window.set_new_parameters({}, nil)
 
 -     elsif @item_window.active
 
 -       return if @last_item == @item_window.item
 
  
-       @last_item = @item_window.item
 
 -       temp_actor = Marshal.load(Marshal.dump(@actor))
 
 -       temp_actor.change_equip(@equip_window.index, @item_window.item, true)
 
 -       param = {
 
 -         :maxhp => temp_actor.maxhp,
 
 -         :maxmp => temp_actor.maxmp,
 
 -         :atk   => temp_actor.atk,
 
 -         :def   => temp_actor.def,
 
 -         :spi   => temp_actor.spi,
 
 -         :agi   => temp_actor.agi,
 
 -         :hit   => temp_actor.hit,
 
 -         :eva   => temp_actor.eva,
 
 -         :cri   => temp_actor.cri,
 
 -       }
 
 -       @status_window.equip_type = @equip_window.index
 
 -       @status_window.set_new_parameters(param, @last_item)
 
 -       Graphics.frame_reset
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ AP ウィンドウの更新
 
 -   #--------------------------------------------------------------------------
 
 -   def update_ap_window
 
 -     return if @ap_window == nil
 
  
-     # 表示/非表示切り替え
 
 -     button = KGC::ExtendedEquipScene::AP_WINDOW_BUTTON
 
 -     if button != nil && Input.trigger?(button)
 
 -       Sound.play_decision
 
 -       if @ap_window.openness == 255
 
 -         @ap_window.close
 
 -       else
 
 -         @ap_window.open
 
 -       end
 
 -     end
 
  
-     # 表示内容更新
 
 -     @ap_window.update
 
 -     new_item = (@equip_window.active ? @equip_window.item : @item_window.item)
 
 -     @ap_window.item = new_item if @ap_window.item != new_item
 
  
-     # 位置更新
 
 -     ay = @ap_window.y
 
 -     ayb = @ap_window.y + @ap_window.height  # AP window: Bottom
 
 -     cy = @item_window.y + 16
 
 -     cy += @item_window.cursor_rect.y if @item_window.active
 
 -     cyb = cy + Window_Base::WLH             # Cursor rect: Bottom
 
 -     bottom = (ay != @item_window.y)
 
 -     if bottom
 
 -       # 下で被る
 
 -       @ap_window.y = @item_window.y if ay < cyb
 
 -     else
 
 -       # 上で被る
 
 -       @ap_window.y = Graphics.height - @ap_window.height if cy < ayb
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ コマンド選択の更新
 
 -   #--------------------------------------------------------------------------
 
 -   def update_command_selection
 
 -     update_window_position_for_equip_selection
 
 -     if Input.trigger?(Input::B)
 
 -       Sound.play_cancel
 
 -       return_scene
 
 -     elsif Input.trigger?(Input::R)
 
 -       Sound.play_cursor
 
 -       next_actor
 
 -     elsif Input.trigger?(Input::L)
 
 -       Sound.play_cursor
 
 -       prev_actor
 
 -     elsif Input.trigger?(Input::C)
 
 -       case @command_window.index
 
 -       when 0  # 装備変更
 
 -         Sound.play_decision
 
 -         # 装備部位ウィンドウに切り替え
 
 -         @equip_window.active   = true
 
 -         @command_window.active = false
 
 -         @command_window.close
 
 -       when 1  # 最強装備
 
 -         if @actor.fix_equipment
 
 -           Sound.play_buzzer
 
 -           return
 
 -         end
 
 -         Sound.play_equip
 
 -         process_equip_strongest
 
 -       when 2  # すべて外す
 
 -         if @actor.fix_equipment
 
 -           Sound.play_buzzer
 
 -           return
 
 -         end
 
 -         Sound.play_equip
 
 -         process_remove_all
 
 -       end
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 装備部位選択の更新
 
 -   #--------------------------------------------------------------------------
 
 -   alias update_equip_selection_KGC_ExtendedEquipScene update_equip_selection
 
 -   def update_equip_selection
 
 -     update_window_position_for_equip_selection
 
 -     if Input.trigger?(Input::A)
 
 -       if @actor.fix_equipment
 
 -         Sound.play_buzzer
 
 -         return
 
 -       end
 
 -       # 選択している装備品を外す
 
 -       Sound.play_equip
 
 -       @actor.change_equip(@equip_window.index, nil)
 
 -       refresh_window
 
 -     elsif Input.trigger?(Input::B)
 
 -       Sound.play_cancel
 
 -       if KGC::ExtendedEquipScene::USE_COMMAND_WINDOW
 
 -         show_command_window
 
 -       else
 
 -         # コマンドウィンドウ不使用なら終了
 
 -         return_scene
 
 -       end
 
 -       return
 
 -     elsif Input.trigger?(Input::R)
 
 -       unless KGC::ExtendedEquipScene::USE_COMMAND_WINDOW
 
 -         # コマンドウィンドウ不使用時のみ切り替え
 
 -         Sound.play_cursor
 
 -         next_actor
 
 -         return
 
 -       end
 
 -     elsif Input.trigger?(Input::L)
 
 -       unless KGC::ExtendedEquipScene::USE_COMMAND_WINDOW
 
 -         # コマンドウィンドウ不使用時のみ切り替え
 
 -         Sound.play_cursor
 
 -         prev_actor
 
 -         return
 
 -       end
 
 -     elsif Input.trigger?(Input::C)
 
 -       # 前回のアイテムをダミーにする
 
 -       @last_item = RPG::Weapon.new
 
 -     end
 
  
-     update_equip_selection_KGC_ExtendedEquipScene
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ コマンドウィンドウに切り替え
 
 -   #--------------------------------------------------------------------------
 
 -   def show_command_window
 
 -     @equip_window.active   = false
 
 -     @command_window.active = true
 
 -     @command_window.open
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ● アイテム選択の更新
 
 -   #--------------------------------------------------------------------------
 
 -   alias update_item_selection_KGC_ExtendedEquipScene update_item_selection
 
 -   def update_item_selection
 
 -     update_window_position_for_item_selection
 
  
-     update_item_selection_KGC_ExtendedEquipScene
 
  
-     if Input.trigger?(Input::C)
 
 -       @base_info_window.refresh
 
 -     end
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ ウィンドウ位置の更新 (装備部位選択)
 
 -   #--------------------------------------------------------------------------
 
 -   def update_window_position_for_equip_selection
 
 -     return if @item_window.x == @equip_window.width
 
  
-     @base_info_window.width = @equip_window.width
 
 -     @item_window.x = [@item_window.x + ANIMATION_SPPED, @equip_window.width].min
 
 -     if @ap_window != nil
 
 -       @ap_window.x = @item_window.x
 
 -     end
 
 -     @equip_window.visible  = true
 
 -     @status_window.visible = false
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ ウィンドウ位置の更新 (アイテム選択)
 
 -   #--------------------------------------------------------------------------
 
 -   def update_window_position_for_item_selection
 
 -     return if @item_window.x == STANDARD_WIDTH
 
  
-     @base_info_window.width = STANDARD_WIDTH
 
 -     @item_window.x = [@item_window.x - ANIMATION_SPPED, STANDARD_WIDTH].max
 
 -     if @ap_window != nil
 
 -       @ap_window.x = @item_window.x
 
 -     end
 
 -     @equip_window.visible  = false
 
 -     @status_window.visible = true
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 最強装備の処理
 
 -   #--------------------------------------------------------------------------
 
 -   def process_equip_strongest
 
 -     # 以前のパラメータを保存
 
 -     last_hp = @actor.hp
 
 -     last_mp = @actor.mp
 
 -     # 最強装備対象の種別を取得
 
 -     types = [-1]
 
 -     types += ($imported["EquipExtension"] ? @actor.equip_type : [0, 1, 2, 3])
 
 -     ignore_types   = KGC::ExtendedEquipScene::IGNORE_STRONGEST_KIND.clone
 
 -     judged_indices = []
 
 -     weapon_range   = 0..(@actor.two_swords_style ? 1 : 0)
 
  
-     # 装備対象の武具をすべて外す
 
 -     types.each_with_index { |t, i|
 
 -       @actor.change_equip(i, nil) unless ignore_types.include?(t)
 
 -     }
 
  
-     # 最強武器装備
 
 -     weapon_range.each { |i|
 
 -       judged_indices << i
 
 -       # 1本目が両手持ちの場合は2本目を装備しない
 
 -       if @actor.two_swords_style
 
 -         weapon = @actor.weapons[0]
 
 -         next if weapon != nil && weapon.two_handed
 
 -       end
 
 -       weapon = get_strongest_weapon(i)
 
 -       @actor.change_equip(i, weapon) if weapon != nil
 
 -     }
 
  
-     # 両手持ち武器を持っている場合は盾 (防具1) を装備しない
 
 -     weapon = @actor.weapons[0]
 
 -     if weapon != nil && weapon.two_handed
 
 -       judged_indices |= [1]
 
 -     end
 
  
-     # 最強防具装備
 
 -     exist = true
 
 -     while exist
 
 -       strongest = get_strongest_armor(types, ignore_types, judged_indices)
 
 -       if strongest != nil
 
 -         @actor.change_equip(strongest.index, strongest.item)
 
 -         judged_indices << strongest.index
 
 -       else
 
 -         exist = false
 
 -       end
 
 -     end
 
  
-     # 以前のパラメータを復元
 
 -     @actor.hp = last_hp
 
 -     @actor.mp = last_mp
 
  
-     refresh_window
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 最も強力な武器を取得
 
 -   #     equip_type : 装備部位
 
 -   #    該当するアイテムがなければ nil を返す。
 
 -   #--------------------------------------------------------------------------
 
 -   def get_strongest_weapon(equip_type)
 
 -     # 装備可能な武器を取得
 
 -     equips = $game_party.items.find_all { |item|
 
 -       valid = item.is_a?(RPG::Weapon) && @actor.equippable?(item)
 
 -       if valid && $imported["EquipExtension"]
 
 -         valid = @actor.ep_condition_clear?(equip_type, item)
 
 -       end
 
 -       valid
 
 -     }
 
 -     return nil if equips.empty?
 
  
-     param_order = KGC::ExtendedEquipScene::STRONGEST_WEAPON_PARAM_ORDER
 
 -     return get_strongest_item(equips, param_order)
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 最も強力なアイテムを取得
 
 -   #     equips      : 装備品リスト
 
 -   #     param_order : パラメータ優先順位
 
 -   #--------------------------------------------------------------------------
 
 -   def get_strongest_item(equips, param_order)
 
 -     result = []
 
 -     param_order.each { |param|
 
 -       # パラメータ順にソート
 
 -       get_proc = KGC::ExtendedEquipScene::GET_PARAM_PROC[param]
 
 -       equips   = equips.sort_by { |item| -get_proc.call(item) }
 
 -       # 最もパラメータが高いアイテムを取得
 
 -       highest = equips[0]
 
 -       result  = equips.find_all { |item|
 
 -         get_proc.call(highest) == get_proc.call(item)
 
 -       }
 
 -       # 候補が1つに絞れたら終了
 
 -       break if result.size == 1
 
 -       equips = result.clone
 
 -     }
 
  
-     # 最も ID が大きいアイテムを取得
 
 -     return (result.sort_by { |v| -v.id })[0]
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ 最も強力な防具を取得 (StrongestItem)
 
 -   #     types          : 装備部位リスト
 
 -   #     ignore_types   : 無視する部位リスト
 
 -   #     judged_indices : 判定済み部位番号リスト
 
 -   #    該当するアイテムがなければ nil を返す。
 
 -   #--------------------------------------------------------------------------
 
 -   def get_strongest_armor(types, ignore_types, judged_indices)
 
 -     # 装備可能な防具を取得
 
 -     equips = $game_party.items.find_all { |item|
 
 -       item.is_a?(RPG::Armor) &&
 
 -         !ignore_types.include?(item.kind) &&
 
 -         @actor.equippable?(item)
 
 -     }
 
 -     return nil if equips.empty?
 
  
-     param_order = KGC::ExtendedEquipScene::STRONGEST_ARMOR_PARAM_ORDER
 
  
-     # 最強防具を探す
 
 -     until equips.empty?
 
 -       armor = get_strongest_item(equips, param_order)
 
 -       types.each_with_index { |t, i|
 
 -         next if judged_indices.include?(i)
 
 -         next if armor.kind != t
 
 -         if $imported["EquipExtension"]
 
 -           next unless @actor.ep_condition_clear?(i, armor)
 
 -         end
 
 -         return KGC::ExtendedEquipScene::StrongestItem.new(i, armor)
 
 -       }
 
 -       equips.delete(armor)
 
 -     end
 
 -     return nil
 
 -   end
 
 -   #--------------------------------------------------------------------------
 
 -   # ○ すべて外す処理
 
 -   #--------------------------------------------------------------------------
 
 -   def process_remove_all
 
 -     type_max = ($imported["EquipExtension"] ? @actor.equip_type.size : 4) + 1
 
 -     type_max.times { |i| @actor.change_equip(i, nil) }
 
 -     refresh_window
 
 -   end
 
 - end
 
 
  复制代码 原代码在此…… 
只知道暴击率是在备注里写“<クリティカル率 要增加的暴击率>”,其他试了好久都没出来。 
最大HP、最大 HP、Maxhp、maxhp、MaxHp、MAXHP、以及数据库里设置的HP值的名字都试过了,还是不行吖…… |   
 
 
 
 |