king-exit/Scripts/_.21.rb
2024-08-31 14:17:23 -05:00

596 lines
30 KiB
Ruby
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#==============================================================================
# ★ RGSS3_実績メダルEX Ver1.0
#==============================================================================
=begin
作者tomoaky
webサイトひきも記は閉鎖しました。 (http://hikimoki.sakura.ne.jp/)
すごい記録を達成したときにポコンッと出るあれです。
メダルをカテゴリ別に管理することができます。
準備
下にある設定項目に実績メダルの内容を設定してください。
使い方
イベントコマンド『スクリプト』を使ってメダルを獲得することができます。
gain_medal(0) # 0番のメダルを獲得する
 イベントコマンド『条件分岐』の判定材料にメダルの獲得状況を使うことができます。
 has_medal?(4) # 4番のメダルを獲得済みかどうかで分岐
2013.06.11 Ver1.0
公開
=end
#==============================================================================
# □ 設定項目
#==============================================================================
module TMMEDAL
# メニューコマンド名
COMMAND_MEDAL = "実績メダル"
# メダルが枚もない状態でメダルコマンドを隠すかどうかtrue で隠す)
HIDE_COMMAND = false
# 未取得のメダルを隠すかどうかtrue で隠す)
HIDE_UNDISCOVERED = false
# 並び順を取得日時順にするかどうかtrue で取得日時順)
# HIDE_UNDISCOVERED が false の場合、この設定は無効になります
DATE_SORT = false
# 並び順を逆順にするかどうかtrue で逆順)
REVERSE_SORT = false
# カテゴリウィンドウの位置0 … 上 / 1 … 右 / 2 … 左
# 右か左に表示する場合は取得日時が非表示になります
CATEGORY_POS = 0
# メダル獲得時の効果音
SE_GAIN_MEDAL = RPG::SE.new("Powerup", 80, 140)
# カテゴリの設定先頭がカテゴリID 0 になります)
CATEGORY_NAME = ["イベント", "アイテム", "バトル"]
# メダル情報の設定
# [メダル名, アイコンID, 説明文, ヒント, 並び順ID, カテゴリID]
# 説明文やヒントは \n を挿入することで改行することができます
MEDAL_DATA = {}
MEDAL_DATA[0] = ["逃走ルート踏破!", 361, "最後の命を燃やし歩ききった。", "逃走ルートを踏破【序章】", 1, 0]
MEDAL_DATA[1] = ["街の人々とふれあい", 361, "ラシュヘイトの人々と交流した。", "人々と語り合う【序章】", 2, 0]
MEDAL_DATA[2] = ["残滓ザナハリー撃破!", 361, "残滓ザナハリーを倒した!", "物語を進める【序章】", 3, 2]
MEDAL_DATA[3] = ["ファンとふれあい", 361, "ゲオルイースファンと交流した。", "ファンと語り合う【序章】", 4, 0]
MEDAL_DATA[4] = ["繋がるもの", 361, "誰かが隠し託した物を受取った。", "破壊された壁の中に・・・【第一章】", 5, 1]
MEDAL_DATA[5] = ["ショートカット開通", 361, "ティアラの牢に短時間で行けるようになった", "どこかの鍵で扉を【第一章】", 6, 0]
MEDAL_DATA[6] = ["大切なもの", 361, "ティアラという守るべきものができた。", "物語を進める【第一章】", 7, 0]
MEDAL_DATA[7] = ["囚人植物バカ", 361, "ラスター博士を仲間にした。", "物語を進める【第一章】", 8, 0]
MEDAL_DATA[8] = ["ゴチです^^ by触手", 361, "モンスターが仕掛けた罠に嵌った。", "怪しい寝床であえて・・・【第一章】", 9, 0]
MEDAL_DATA[9] = ["バルカン女王撃破!", 361, "傀儡となったバルカン女王を正気に戻した。", "物語を進める【第一章】", 10, 2]
MEDAL_DATA[10] = ["隠しアイテム", 361, "隠されたアイテムを見つけた", "どこかの壁を調べると・・・【第一章】", 11, 1]
MEDAL_DATA[11] = ["スカサハ分身撃破!", 361, "本体ではなかったが分身を倒した。", "物語を進める【第二章】", 12, 2]
MEDAL_DATA[12] = ["ショートカット開通2", 361, "スカサハの力が弱まり道が開けた。", "分身をすべて倒す【第二章】", 13, 0]
MEDAL_DATA[13] = ["隠された魂式", 361, "産場で秘かに利用されていた部屋と魂式を発見した。", "産場の隠された部屋に【第二章】", 14, 1]
MEDAL_DATA[14] = ["無念;; byミミック", 361, "ミミックを倒しお宝をGET", "産場のどこかに潜む・・・【第二章】", 15, 1]
MEDAL_DATA[15] = ["残滓スカサハ撃破!", 361, "残滓スカサハを倒した!", "物語を進める【第二章】", 16, 2]
MEDAL_DATA[16] = ["忘れられた魂式", 361, "グイーネの隠れ家に忘れ置かれた魂式を発見", "グイーネの隠れ家を探す【第三章】", 17, 1]
MEDAL_DATA[17] = ["除霊成功!", 361, "監獄に縛られた幽霊を救った。", "四つの彷徨う魂を・・【第三章】", 18, 2]
MEDAL_DATA[18] = ["宿し草撃破!", 361, "廃棄場通路に根を張っていた宿し草を倒した!", "物語を進める【第三章】", 19, 2]
MEDAL_DATA[19] = ["鍵再現師!", 361, "欠片を集め、鍵を再現した!", "鍵の欠片を集める【第三章】", 20, 1]
MEDAL_DATA[20] = ["植物王女撃破!", 361, "呪いによってモンスターとなっていた王女を倒した。", "物語を進める【第三章】", 21, 2]
MEDAL_DATA[21] = ["超獣撃破!", 361, "奇跡的に超獣を倒すことができた!", "絶対的脅威の敵を【第四章】", 22, 2]
MEDAL_DATA[22] = ["囚人少女", 361, "スティアラが仲間になった", "物語を進める【第四章】", 23, 0]
MEDAL_DATA[23] = ["ちょろあま^^ byスラッジ", 361, "スラッジに好き放題されてしまった。", "物語を進める【第四章】", 24, 0]
MEDAL_DATA[24] = ["きょういの格差", 361, "ゲオルイースとスティアラの格差が浮き彫りになった。", "ある装置を起動する【第四章】", 25, 0]
MEDAL_DATA[25] = ["聖魔法師スティアラ", 361, "呪われ草の大群とスティアラが聖魔法によって和解した。", "物語を進める【第四章】", 26, 0]
MEDAL_DATA[26] = ["相打ちと言いたいが、私の負けだな。", 361, "妙に気取っているサハギンを倒した。", "自己陶酔の過ぎる敵を【第五章】", 27, 2]
MEDAL_DATA[27] = ["残虐騎士アーベント", 361, "アーベントが記憶を取り戻し過去が明らかになった。", "物語を進める【第五章】", 28, 0]
MEDAL_DATA[28] = ["さらば友よ", 361, "親友キャプリスとの最後の一本を取った。", "聖堂の敵を倒す【第五章】", 29, 2]
MEDAL_DATA[29] = ["伝説の騎士クダン解放!", 361, "聖堂に佇む伝説の騎士を解放した!", "聖堂に佇む敵を倒す【第五章】", 30, 2]
MEDAL_DATA[30] = ["二十七の弟子解放!", 361, "蘇生され魔族に利用されていた弟子達を解放した。", "物語を進める【第五章】", 31, 2]
MEDAL_DATA[31] = ["異界の少女", 361, "オーバードらしき少女が仲間になった!", "物語を進める【第六章】", 32, 0]
MEDAL_DATA[32] = ["プロ仕様", 361, "オーパーツ保管庫からプロ用の鞭を手に入れた!", "ドSが悦ぶアイテム【第六章】", 33, 1]
MEDAL_DATA[33] = ["ショートカット開通3", 361, "短いが便利なショートカットを発見した。", "隠された道を探す【第六章】", 34, 0]
MEDAL_DATA[34] = ["スペアポケットォ!", 361, "カラの騎士は植物袋で調合ができるようになった。", "穴から降りる【第六章】", 35, 0]
MEDAL_DATA[35] = ["獄長撃破!", 361, "ゲオルイース達を苦しめてきた獄長を倒し捕獲した!", "物語を進める【第六章】", 36, 2]
MEDAL_DATA[36] = ["拷問成功!", 361, "獄長の拷問に成功し、新たな道が拓けた。", "物語を進める【第六章】", 37, 0]
MEDAL_DATA[37] = ["女王蜘蛛撃破!", 361, "古城の主となっていた女王蜘蛛を倒した!", "物語を進める【第六章】", 38, 2]
MEDAL_DATA[38] = ["いつかどこかで", 361, "盟友となった先輩は後輩と共に元の世界へと帰っていった。", "物語を進める【第六章】", 39, 0]
MEDAL_DATA[39] = ["託された願い", 361, "遠い異国の王はゲオルイース達に未来を託していった。", "森に佇む呪われた敵を倒す【第六章】", 40, 2]
MEDAL_DATA[40] = ["王の紋章", 361, "ゲオルイースは王の紋章を継承した。", "物語を進める【第六章】", 41, 0]
MEDAL_DATA[41] = ["守られた宝", 361, "敵の集団を突破しアイテムを入手した!", "突破する【第七章】", 42, 1]
MEDAL_DATA[42] = ["すたこら魂式", 361, "ボヘロス城に隠された魂式を習得した!", "魂式【第七章】", 43, 1]
MEDAL_DATA[43] = ["トラップどんとこい!", 361, "トラップを潜り抜けアイテムを入手した", "トラップ【第七章】", 44, 1]
MEDAL_DATA[44] = ["理想世界突破", 361, "幻の理想世界と決別した。", "物語を進める【第七章】", 45, 0]
MEDAL_DATA[45] = ["残滓トーデイラ撃破!", 361, "残滓トーデイラを倒した!", "物語を進める【第七章】", 46, 2]
MEDAL_DATA[46] = ["避難誘導完了!", 361, "監獄爆破から囚人達を救った。", "囚人全てを【第八章】", 47, 0]
MEDAL_DATA[47] = ["隠された武器!", 361, "中層囚人牢で隠されたアイテムを発見した!", "隠された武器【第八章】", 48, 1]
MEDAL_DATA[48] = ["聖母スティアラ教団", 361, "共に窮地を越えた人々と絆が生まれた。", "慕う者達と【第八章】", 49, 0]
MEDAL_DATA[49] = ["絶望を越える!", 361, "絶体絶命の状況を乗り越えた!", "物語を進める【第八章】", 50, 0]
MEDAL_DATA[50] = ["あとは任せろ", 361, "立ちはだかる過去のゲオルイースを倒した。", "物語を進める【第八章】", 51, 2]
MEDAL_DATA[51] = ["使徒ザナハリー撃破!", 361, "使徒ザナハリーを倒した!", "物語を進める【最終章】", 52, 2]
MEDAL_DATA[52] = ["使徒スカサハ撃破!", 361, "使徒スカサハを倒した!", "物語を進める【最終章】", 53, 2]
MEDAL_DATA[53] = ["使徒トーデイラ撃破!", 361, "使徒トーデイラを倒した!", "物語を進める【最終章】", 54, 2]
MEDAL_DATA[54] = ["守るもの", 361, "ゲオルイースを滅器から守り切った。", "守り切る【最終章】", 55, 0]
MEDAL_DATA[55] = ["人類の勝利", 361, "全ての魔族を倒し人類は勝利を得た。", "決着をつける【最終章】", 56, 2]
MEDAL_DATA[56] = ["あの時もしも", 361, "ラシュヘイト炎上前に大王を撃破した!", "IF【シークレット】", 57, 2]
MEDAL_DATA[57] = ["未来の仲間", 361, "リベレーターを仲間にした!", "仲間【シークレット】", 58, 0]
MEDAL_DATA[58] = ["過去の仲間", 361, "天下乱を仲間にした!", "仲間【シークレット】", 59, 0]
MEDAL_DATA[59] = ["後輩の幻影", 361, "後輩に成りすました敵を倒した!", "地下森林で【シークレット】", 60, 2]
MEDAL_DATA[60] = ["欲しがりさん", 361, "紅唯まとに実績を差し出させた。", "秘密の部屋【シークレット】", 61, 0]
MEDAL_DATA[61] = ["真・使徒撃破!", 361, "二週目で真の力を解放した使徒達を倒した!", "真の強敵【シークレット】", 57, 2]
MEDAL_DATA[62] = ["聖なる剣", 361, "聖剣を手に入れた!", "隠された物語で【シークレット】", 58, 1]
MEDAL_DATA[63] = ["リベレーターixxxxx撃破", 361, "消息不明のリベレーターを救出した!", "仲間と洞窟【シークレット】", 59, 2]
MEDAL_DATA[64] = ["兄上撃破!", 361, "訓練装置が生み出した兄上の幻を倒した!", "仲間と装置【シークレット】", 60, 2]
MEDAL_DATA[65] = ["魔の王撃破!", 361, "かつて人類を支配した魔の王を倒した!", "隠された物語を進める【シークレット】", 61, 2]
end
#==============================================================================
# ■ Game_Party
#==============================================================================
class Game_Party
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :medals # 獲得済みメダル
attr_reader :new_medals # 新規獲得メダル
attr_accessor :medal_info_count # メダル情報表示カウント
attr_accessor :medal_info_opacity # メダル情報表示不透明度
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias tmmedal_game_party_initialize initialize
def initialize
tmmedal_game_party_initialize
@medals = []
@new_medals = []
@medal_info_count = 0
@medal_info_opacity = 0
end
#--------------------------------------------------------------------------
# ○ メダルの獲得
#--------------------------------------------------------------------------
def gain_medal(medal_id)
return if @medals[medal_id]
t = Time.now.strftime(" (%Y/%m/%d %H:%M)")
@medals[medal_id] = t
@new_medals.push([medal_id, t])
end
#--------------------------------------------------------------------------
# ○ 獲得メダル情報の消去
#--------------------------------------------------------------------------
def delete_new_medal
@new_medals.shift
end
end
#==============================================================================
# ■ Game_Interpreter
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# ○ メダルの獲得
#--------------------------------------------------------------------------
def gain_medal(medal_id)
$game_party.gain_medal(medal_id)
end
#--------------------------------------------------------------------------
# ○ メダルを獲得済みかどうかを返す
#--------------------------------------------------------------------------
def has_medal?(medal_id)
$game_party.medals[medal_id]
end
end
#==============================================================================
# ■ Window_MenuCommand
#==============================================================================
class Window_MenuCommand
#--------------------------------------------------------------------------
# ● 独自コマンドの追加用
#--------------------------------------------------------------------------
alias tmmedal_window_menucommand_add_original_commands add_original_commands
def add_original_commands
tmmedal_window_menucommand_add_original_commands
unless TMMEDAL::HIDE_COMMAND && !medal_enabled
add_command(TMMEDAL::COMMAND_MEDAL, :medal, medal_enabled)
end
end
#--------------------------------------------------------------------------
# ○ メダルの有効状態を取得
#--------------------------------------------------------------------------
def medal_enabled
!$game_party.medals.empty?
end
end
#==============================================================================
# □ Window_MedalInfo
#==============================================================================
class Window_MedalInfo < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
super(Graphics.width - window_width, 0, window_width, fitting_height(1))
self.opacity = 0
self.contents_opacity = $game_party.medal_info_opacity
refresh
end
#--------------------------------------------------------------------------
# ● ウィンドウ幅の取得
#--------------------------------------------------------------------------
def window_width
return 240
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
super
if $game_party.medal_info_count > 0
self.contents_opacity += 16
$game_party.medal_info_count -= 1
$game_party.delete_new_medal if $game_party.medal_info_count == 0
else
self.contents_opacity -= 16
if self.contents_opacity == 0
open unless $game_party.new_medals.empty?
end
end
$game_party.medal_info_opacity = self.contents_opacity
end
#--------------------------------------------------------------------------
# ● ウィンドウを開く
#--------------------------------------------------------------------------
def open
refresh
TMMEDAL::SE_GAIN_MEDAL.play
$game_party.medal_info_count = 150
self.contents_opacity = 0
self
end
#--------------------------------------------------------------------------
# ○ リフレッシュ
#--------------------------------------------------------------------------
def refresh
contents.clear
unless $game_party.new_medals.empty?
draw_background(contents.rect)
medal = TMMEDAL::MEDAL_DATA[$game_party.new_medals[0][0]]
rect = contents.rect.clone
draw_icon(medal[1], rect.x, rect.y)
rect.x += 24
rect.width -= 24
draw_text(rect, medal[0])
end
end
#--------------------------------------------------------------------------
# ○ 背景の描画
#--------------------------------------------------------------------------
def draw_background(rect)
temp_rect = rect.clone
temp_rect.width /= 2
contents.gradient_fill_rect(temp_rect, back_color2, back_color1)
temp_rect.x = temp_rect.width
contents.gradient_fill_rect(temp_rect, back_color1, back_color2)
end
#--------------------------------------------------------------------------
# ○ 背景色 1 の取得
#--------------------------------------------------------------------------
def back_color1
Color.new(0, 0, 0, 192)
end
#--------------------------------------------------------------------------
# ○ 背景色 2 の取得
#--------------------------------------------------------------------------
def back_color2
Color.new(0, 0, 0, 0)
end
end
#==============================================================================
# ■ Window_MedalCategory
#==============================================================================
class Window_MedalCategory < Window_Command
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :item_window
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
super(0, 0)
end
#--------------------------------------------------------------------------
# ● ウィンドウ幅の取得
#--------------------------------------------------------------------------
def window_width
return 160
end
#--------------------------------------------------------------------------
# ● 表示行数の取得
#--------------------------------------------------------------------------
def visible_line_number
TMMEDAL::CATEGORY_NAME.size
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
super
@item_window.category = current_symbol if @item_window
end
#--------------------------------------------------------------------------
# ● コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
TMMEDAL::CATEGORY_NAME.each {|category| add_command(category, category.to_sym) }
end
#--------------------------------------------------------------------------
# ● アイテムウィンドウの設定
#--------------------------------------------------------------------------
def item_window=(item_window)
@item_window = item_window
update
end
end
#==============================================================================
# ■ Window_MedalCategoryHorz
#==============================================================================
class Window_MedalCategoryHorz < Window_HorzCommand
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :item_window
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
super(0, 0)
end
#--------------------------------------------------------------------------
# ● ウィンドウ幅の取得
#--------------------------------------------------------------------------
def window_width
Graphics.width
end
#--------------------------------------------------------------------------
# ● 桁数の取得
#--------------------------------------------------------------------------
def col_max
return TMMEDAL::CATEGORY_NAME.size
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
super
@item_window.category = current_symbol if @item_window
end
#--------------------------------------------------------------------------
# ● コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
TMMEDAL::CATEGORY_NAME.each {|category| add_command(category, category.to_sym) }
end
#--------------------------------------------------------------------------
# ● アイテムウィンドウの設定
#--------------------------------------------------------------------------
def item_window=(item_window)
@item_window = item_window
update
end
end
#==============================================================================
# □ Window_Medal
#==============================================================================
class Window_Medal < Window_Selectable
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize(x, y, width, height)
super
@category = :none
refresh
end
#--------------------------------------------------------------------------
# ● カテゴリの設定
#--------------------------------------------------------------------------
def category=(category)
return if @category == category
@category = category
refresh
self.oy = 0
end
#--------------------------------------------------------------------------
# ● 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 1
end
#--------------------------------------------------------------------------
# ● 項目数の取得
#--------------------------------------------------------------------------
def item_max
@data ? @data.size : 1
end
#--------------------------------------------------------------------------
# ● アイテムの取得
#--------------------------------------------------------------------------
def item
@data && index >= 0 ? @data[index] : nil
end
#--------------------------------------------------------------------------
# ● アイテムリストの作成
#--------------------------------------------------------------------------
def make_item_list
@data = []
TMMEDAL::MEDAL_DATA.keys.each do |i|
item = $game_party.medals[i]
next if TMMEDAL::HIDE_UNDISCOVERED && !item
medal = TMMEDAL::MEDAL_DATA[i]
if TMMEDAL::CATEGORY_NAME[medal[5]].to_sym == @category
@data.push([i, item, medal[4]])
end
end
i = TMMEDAL::DATE_SORT && TMMEDAL::HIDE_UNDISCOVERED ? 1 : 2
@data.sort!{|a, b| a[i] <=> b[i] }
@data.reverse! if TMMEDAL::REVERSE_SORT
end
#--------------------------------------------------------------------------
# ● 項目の描画
#--------------------------------------------------------------------------
def draw_item(index)
item = @data[index]
medal = TMMEDAL::MEDAL_DATA[item[0]]
rect = item_rect(index)
if item[1]
draw_icon(medal[1], rect.x, rect.y)
draw_text(rect, item[1], 2) if TMMEDAL::CATEGORY_POS == 0
end
rect.x += 24
rect.width -= TMMEDAL::CATEGORY_POS == 0 ? 216 : 24
draw_text(rect, item[1] ? medal[0] : "" * medal[0].size)
end
#--------------------------------------------------------------------------
# ● ヘルプテキスト更新
#--------------------------------------------------------------------------
def update_help
if item
medal = TMMEDAL::MEDAL_DATA[item[0]]
@help_window.set_text(item[1] ? medal[2] : medal[3])
end
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
make_item_list
create_contents
draw_all_items
end
end
#==============================================================================
# ■ Scene_Map
#==============================================================================
class Scene_Map
#--------------------------------------------------------------------------
# ● 全ウィンドウの作成
#--------------------------------------------------------------------------
alias tmmedal_scene_map_create_all_windows create_all_windows
def create_all_windows
tmmedal_scene_map_create_all_windows
create_medal_window
end
#--------------------------------------------------------------------------
# ○ メダルウィンドウの作成
#--------------------------------------------------------------------------
def create_medal_window
@medal_window = Window_MedalInfo.new
end
end
#==============================================================================
# ■ Scene_Menu
#==============================================================================
class Scene_Menu
#--------------------------------------------------------------------------
# ● コマンドウィンドウの作成
#--------------------------------------------------------------------------
alias tmmedal_scene_menu_create_command_window create_command_window
def create_command_window
tmmedal_scene_menu_create_command_window
@command_window.set_handler(:medal, method(:command_medal))
end
#--------------------------------------------------------------------------
# ○ コマンド[メダル]
#--------------------------------------------------------------------------
def command_medal
SceneManager.call(Scene_Medal)
end
end
#==============================================================================
# □ Scene_Medal
#==============================================================================
class Scene_Medal < Scene_MenuBase
#--------------------------------------------------------------------------
# ● 開始処理
#--------------------------------------------------------------------------
def start
super
create_help_window
create_category_window
create_item_window
end
#--------------------------------------------------------------------------
# ● カテゴリウィンドウの作成
#--------------------------------------------------------------------------
def create_category_window
if TMMEDAL::CATEGORY_POS == 0
@category_window = Window_MedalCategoryHorz.new
else
@category_window = Window_MedalCategory.new
end
@category_window.viewport = @viewport
@category_window.help_window = @help_window
@category_window.y = @help_window.height
@category_window.set_handler(:ok, method(:on_category_ok))
@category_window.set_handler(:cancel, method(:return_scene))
end
#--------------------------------------------------------------------------
# ● アイテムウィンドウの作成
#--------------------------------------------------------------------------
def create_item_window
if TMMEDAL::CATEGORY_POS == 0
wx = 0
ww = Graphics.width
wy = @help_window.height + @category_window.height
else
wx = TMMEDAL::CATEGORY_POS == 1 ? @category_window.width : 0
ww = Graphics.width - @category_window.width
wy = @help_window.height
end
wh = Graphics.height - wy
@item_window = Window_Medal.new(wx, wy, ww, wh)
@item_window.viewport = @viewport
@item_window.help_window = @help_window
@item_window.set_handler(:cancel, method(:on_medal_cancel))
@category_window.item_window = @item_window
@category_window.x = @item_window.width if TMMEDAL::CATEGORY_POS == 2
end
#--------------------------------------------------------------------------
# ● カテゴリ[決定]
#--------------------------------------------------------------------------
def on_category_ok
@item_window.activate
@item_window.select(0)
end
#--------------------------------------------------------------------------
# ● メダル[キャンセル]
#--------------------------------------------------------------------------
def on_medal_cancel
@item_window.unselect
@category_window.activate
end
end