#============================================================================== # ■ 八人パーティショップ画面 #------------------------------------------------------------------------------ #  八人のパーティを一画面に表示させます # パーティ人数を増やすにはKGC様の「多人数パーティ」などを使用すると簡単です # また、武器を装備した際の攻撃力〜敏捷性のパラメータ変化も表示させます。 # 要「共通定義」Ver1.05以降 # # *月の下の宿 # URL:http://gekkasou.shiteyattari.com/ #============================================================================== module An_EPSS #装備済みだった場合の表記 Equiped = "E" #ステータス名。 Status = ["攻撃力","防御力","精神力","敏捷性"] #以下、回想領域様の「魔法防御パラメータ追加」を使用してる人向け #魔法防御を追加するかどうか Add_MDef = false #魔法防御の名称 Mdef = "魔防御" end #============================================================================== # ■ Window_ShopStatus #============================================================================== class Window_ShopStatus < Window_Base #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh self.contents.clear if @item != nil number = $game_party.item_number(@item) self.contents.font.color = system_color self.contents.draw_text(4, 0, 200, WLH, Vocab::Possession) for i in 0..$game_party.members.size / 4 y = 72 + 112 * i draw_mini(4, y + 16 * 0, 200, WLH, An_EPSS::Status[0]) draw_mini(4, y + 16 * 1, 200, WLH, An_EPSS::Status[1]) draw_mini(4, y + 16 * 2, 200, WLH, An_EPSS::Status[2]) if An_EPSS::Add_MDef draw_mini(4, y + 16 * 3, 200, WLH, An_EPSS::Mdef) y += 16 end draw_mini(4, y + 16 * 3, 200, WLH, An_EPSS::Status[3]) end self.contents.font.color = normal_color self.contents.draw_text(4, 0, 200, WLH, number, 2) max_size = 0 for i in An_EPSS::Status size = rect_mini(i).width + 8 max_size = size if size > max_size end for actor in $game_party.members x = max_size + actor.index % 4 * (208 - max_size) / 4 y = WLH * 2 + actor.index / 4 * 112 draw_actor_graphic(actor, x + 16, y + 32) self.contents.clear_rect(x, y + 24, 32, 8) if actor.equips.include?(@item) and !@item.nil? draw_mini(x + 24, y + 8, 48, WLH, An_EPSS::Equiped) end draw_actor_parameter_change(actor, x, y + 24) end end end #-------------------------------------------------------------------------- # ● アクターの現装備と能力値変化の描画 #-------------------------------------------------------------------------- def draw_actor_parameter_change(actor, x, y) return if @item.is_a?(RPG::Item) enabled = actor.equippable?(@item) self.contents.font.color = normal_color if @item.is_a?(RPG::Weapon) item1 = weaker_weapon(actor) index = actor.equips.index(item1) elsif actor.two_swords_style and @item.kind == 0 item1 = nil index = 1 else item1 = actor.equips[1 + @item.kind] index = @item.kind + 1 end if enabled dummy = Marshal.load(Marshal.dump(actor)) dummy.change_equip(index, @item, true) change = [dummy.atk - actor.atk, dummy.def - actor.def, dummy.spi - actor.spi, dummy.agi - actor.agi] change.insert(3, dummy.mdef - actor.mdef) if An_EPSS::Add_MDef else change = [0,0,0,0] change << 0 if An_EPSS::Add_MDef end for i in 0...change.size c = change[i] self.contents.font.color = up_or_down_color(c) self.contents.font.color.alpha = enabled ? 255 : 128 draw_mini(x, y + 16 * i, 32, WLH, sprintf("%+d", c), 2) end self.contents.font.color = normal_color self.contents.font.color.alpha = 255 end #-------------------------------------------------------------------------- # ● ウィンドウ内容の作成 #-------------------------------------------------------------------------- def create_contents self.contents.dispose self.contents = Bitmap.new(width - 32, 72 + 112 * ($game_party.members.size / 4 + 1)) end end #Ver1.01