lunariafantasia/Scripts/_.137.rb
2024-01-12 03:12:38 -06:00

1898 lines
79 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.

#----------------------------------------------------------------------------
# オプション項目候補
# ・オートスピード速度 ・難易度 ・登録済みHシーン
# ・音量変更
# ・スキルレベル表記
# ・ダッシュ速度変更
# ・習得済スキルの表示
#
#----------------------------------------------------------------------------
module Option
Command = [
Hash[
"難易度" => [:difficulty, false],
"ダッシュボタン" => [:dash, false],
"スキルレベルの表示" => [:skill_lv, false],
"習得済みスキルの表示" => [:learned, false],
"通常攻撃魔力殴打化" => [:magic_punch, false],
"簡易アイテム開始項目" => [:item_start, false],
"クイックヒール優先項目" => [:quick_heal, false],
"開始時画面サイズ" => [:zoom, true],
"音量変更" => [:volume, true],
],
Hash[
"操作ボタン表記" => [:button, true],
"登録済みHシーン" => [:h_event, true],
"オートスピード" => [:auto_speed, true],
"イベント文章スキップ" => [:message_skip, true], # 既読判定追加
"Hウィンドウ透過率" => [:opacity, true],
"特殊なHシーン" => [:exh_event, true],
"断面図の表示" => [:dmz, true],
"射精カウント" => [:shot_count, true],
]
]
H_Opacity = 39 # エッチイベント中のウィンドウ背景透過率変数
Scene = 40 # エッチシーンスキップ登録変数
Button = 35 # 操作表記変数
Skip = 89 # 全メッセージスキップ判定スイッチ
PeopleSkip = 90 # 町民会話スキップ判定スイッチ
MagicPunch = 30 # 通常攻撃魔力殴打化スイッチ
ItemStart = 37 # 簡易アイテム使用時の設定変数
EASY_HEAL = 42 # クイックヒール回数緩和措置用変数
EXH_B = 131 # 特殊エッチボテ変数
EXH_S = 132 # 特殊エッチ出産変数
EXH_F = 133 # 特殊エッチフタナリ変数
EXH_SHOT = 134 # 射精カウント変数
EXH_SWB = 311 # ボテ腹スイッチ
EXH_SWS = 312 # 出産スイッチ
EXH_SWF = 313 # フタナリスイッチ
EXH_D = 314 # 断面図スイッチ
WORD_S = "産卵"
ScreenZoom = 306 #開始時画面サイズ判定スイッチ
end
#==============================================================================
# □ Window_OptionCommand
#------------------------------------------------------------------------------
#  オプション画面で、設定項目を選択するウィンドウです。
#==============================================================================
class Window_OptionCommand < Window_Command
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :page_index # ページインデックス
#--------------------------------------------------------------------------
# オブジェクト初期化
#--------------------------------------------------------------------------
def initialize(x, y)
@page_index = 0
super(x, y)
select_last
$game_temp.return_symbol_reset
end
#--------------------------------------------------------------------------
# ウィンドウ幅の取得
#--------------------------------------------------------------------------
def window_width
return 240
end
#--------------------------------------------------------------------------
# ● 標準パディングサイズの取得
#--------------------------------------------------------------------------
def standard_padding
return 6
end
#--------------------------------------------------------------------------
# 高さの取得
#--------------------------------------------------------------------------
def line_height
return 28
end
#--------------------------------------------------------------------------
# 表示行数の取得
#--------------------------------------------------------------------------
def visible_line_number
return Option::Command[@page_index].size
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
Option::Command[@page_index].each do |k, v|
#add_command(k, v[0], v[1] ? true : !SceneManager.laststack_is?(Scene_Title), v[1])
add_command(k, v[0], SceneManager.laststack_is?(Scene_Title) ? v[1] : true, v[1])
end
end
#--------------------------------------------------------------------------
# 前回の選択位置を復帰
#--------------------------------------------------------------------------
def select_last
$game_temp.return_symbol ? select_symbol($game_temp.return_symbol) : select(0)
end
#--------------------------------------------------------------------------
# 項目の描画
#--------------------------------------------------------------------------
def draw_item(index)
change_color((public_command?(index) ? power_up_color : system_color), command_enabled?(index))
draw_text(item_rect_for_text(index), command_name(index), alignment)
end
#--------------------------------------------------------------------------
# 全データ共通か
#--------------------------------------------------------------------------
def public_command?(index)
@list[index][:ext]
end
#--------------------------------------------------------------------------
# アライメントの取得
#--------------------------------------------------------------------------
def alignment
return 1
end
#--------------------------------------------------------------------------
# ○ リフレッシュ
#--------------------------------------------------------------------------
def refresh
super
end
#--------------------------------------------------------------------------
# ○
#--------------------------------------------------------------------------
def page_change
@page_index += 1
@page_index = 0 if @page_index > 1
select(0)
refresh
#call_update_help
end
#--------------------------------------------------------------------------
# ○
#--------------------------------------------------------------------------
def cursor_right(wrap = false)
Sound.play_cursor
page_change
end
#--------------------------------------------------------------------------
# ○
#--------------------------------------------------------------------------
def cursor_left(wrap = false)
Sound.play_cursor
page_change
end
#--------------------------------------------------------------------------
# ● ヘルプウィンドウの設定
#--------------------------------------------------------------------------
def info_window=(info_window)
@info_window = info_window
call_update_help
end
#--------------------------------------------------------------------------
# ヘルプウィンドウの更新
#--------------------------------------------------------------------------
def update_help
super
@help_window.set_text("変更したい項目を選んでください。← →でページを切り替えます。\n\eimp緑文字の項目は全セーブデータで共有されます\ec[0]")
@info_window.set_item(@page_index + 1) if @info_window
end
end
#==============================================================================
# □ Window_Option
#------------------------------------------------------------------------------
#  オプション画面で、共通のウィンドウ設定です。
#==============================================================================
class Window_Option < Window_HorzCommand
#--------------------------------------------------------------------------
# オブジェクト初期化
#--------------------------------------------------------------------------
def initialize(x, y, width)
@window_width = width
super(x, y)
self.opacity = 0
select_last
deactivate
end
#--------------------------------------------------------------------------
# ウィンドウ幅の取得
#--------------------------------------------------------------------------
def window_width
@window_width
end
#--------------------------------------------------------------------------
# 標準パディングサイズの取得
#--------------------------------------------------------------------------
def standard_padding
return 2
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
end
#--------------------------------------------------------------------------
# ヘルプウィンドウの更新
#--------------------------------------------------------------------------
def update_help
super
@help_window.set_text(help_text)
end
end
#==============================================================================
# □ Window_Difficulty
#------------------------------------------------------------------------------
#  オプション画面で、難易度を選択するウィンドウです。
#==============================================================================
class Window_Difficulty < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 3
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("イージー", :easy)
add_command("ノーマル", :normal)
add_command("ハード", :hard)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
select_symbol($game_system.difficulty)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
case current_symbol
when :normal ; "ノーマル:敵の強さに変更はありません。通常の難易度です"
when :easy ; "イージー敵のHPが0.8倍、その他の能力が0.9倍になります。\n更に一部強敵の行動回数が-1され、強力な技が封印されます。\n加えて、敵からのダメージが20%軽減され、\nこちらが与えるダメージが20%プラスされます。"
when :hard ; "ハード敵のHPが1.5倍、その他の能力が1.2倍になります。\nノーマルでは物足りないという方はこちらをオススメします"
else ; ""
end
end
#--------------------------------------------------------------------------
# ヘルプウィンドウの更新
#--------------------------------------------------------------------------
#def update_help
#super
#@help_window.set_text(difficulty_text)
#end
end
#==============================================================================
# □ Window_Dash
#------------------------------------------------------------------------------
#  オプション画面で、シフトキー機能を選択するウィンドウです。
#==============================================================================
class Window_Dash < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 2
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("高速ダッシュ", :dash)
add_command("歩く", :walk)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
$game_switches[FAKEREAL::IDATEN] ? select(0) : select(1)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "#{key_button("SHIFT")}の機能を「高速ダッシュ」と「歩く」のどちらにするか\n選択できます"
end
end
#==============================================================================
# □ Window_SkillLevel
#------------------------------------------------------------------------------
#  オプション画面で、スキルレベルの表示非表示を選択するウィンドウです。
#==============================================================================
class Window_SkillLevel < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 2
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("表示する", :show)
add_command("表示しない", :hide)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
$game_system.skill_lv_visible ? select(0) : select(1)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "スキル画面でスキルレベルの★を表示するかどうか選択できます"
end
end
#==============================================================================
# □ Window_Learned
#------------------------------------------------------------------------------
#  オプション画面で、習得済みスキルの表示非表示を選択するウィンドウです。
#==============================================================================
class Window_Learned < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 2
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("表示する", :show)
add_command("表示しない", :hide)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
$game_switches[Learn::HIDE] ? select(1) : select(0)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "スキル習得画面で習得済みやレベルMAXのスキルを\n表示するかどうか選択できます"
end
end
#==============================================================================
# □ Window_MagicPunch
#------------------------------------------------------------------------------
#  オプション画面で、通常攻撃を魔力殴打に変更するかを選択するウィンドウです。
#==============================================================================
class Window_MagicPunch < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 2
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("変更する", :change)
add_command("変更しない", :no_change)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
$game_switches[Option::MagicPunch] ? select(0) : select(1)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "スキル「\edb[s,106]」を覚えている場合、通常攻撃を\edb[s,106]に変更します。\nスキル使用条件を満たしていない場合は通常攻撃になります"
end
end
#==============================================================================
# □ Window_ItemStart
#------------------------------------------------------------------------------
#  オプション画面で、簡易アイテム使用時の開始項目を設定。
#==============================================================================
class Window_ItemStart < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 4
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("ポーション系", :ok)
add_command("ボトル", :ok)
add_command("料理", :ok)
add_command("全て", :ok)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
select($game_variables[Option::ItemStart])
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "簡易アイテム使用時の開始項目を変更できます。簡易アイテム使用は\nマップ画面で#{key_button("D")}入力により使用できます。"
end
end
#==============================================================================
# □ Window_HealOption
#------------------------------------------------------------------------------
#  オプション画面で、クイックヒール使用時の優先項目を設定。
#==============================================================================
class Window_HealOption < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 3
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("消費MP", :ok)
add_command("中間", :ok)
add_command("速度", :ok)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
select($game_variables[Option::EASY_HEAL])
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "クイックヒール時の優先項目を変更できます。速度を優先すると回復量の\n大きいスキルや全体回復等を使い なるべく速く回復を終わらせます"
end
end
#==============================================================================
# □ Window_KeyButton
#------------------------------------------------------------------------------
#  オプション画面で、操作表記を選択するウィンドウです。
#==============================================================================
class Window_KeyButton < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 3
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("キーボード", :keyboard)
add_command("ゲームパッド(英字)", :pad_a)
add_command("ゲームパッド(数字)", :pad_b)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
select($game_variables[Option::Button])
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "ゲーム中の操作説明の表記をキーボードかパッドかに変更できます。\nゲームパッドの表記は\eimpツクール準拠\ec[0]になりますので使用する\eimpパッドの\nボタンと表記が必ずしも一致するものではありません\ec[0]ので\nご了承ください。(特に英字)\n#{key_button("CTRL")}等の一部の特殊な操作はキーボード表記固定になります。"
end
end
#==============================================================================
# □ Window_H_Event
#------------------------------------------------------------------------------
#  オプション画面で、エッチシーンを見るか選択するウィンドウです。
#==============================================================================
class Window_H_Event < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 3
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("見る", :scene)
add_command("飛ばす", :skip)
add_command("毎回選択", :select)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
select($game_variables[Option::Scene])
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "回想に登録済みのエッチシーンをスキップするかどうか選択できます"
end
end
#==============================================================================
# □ Window_
#------------------------------------------------------------------------------
#  オプション画面で、を選択するウィンドウです。
#==============================================================================
class Window_AutoSpeed < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 9
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
select($game_variables[MessageEnhance::V] - 1)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "イベントシーンで#{key_button("ALT")}を押した際に始まる自動メッセージ送りの\nスピードを設定できます。数字が小さいほど早く進みます。\n※イベントシーン時は\eimpメッセージウィンドウ四隅の玉が青く\ec[0]なります。\n 玉が青い状態の時は自動送りが可能になります。\nHシーンは全て自動送り可能です"
end
end
#==============================================================================
# □ Window_
#------------------------------------------------------------------------------
#  オプション画面で、を選択するウィンドウです。
#==============================================================================
class Window_MessageSkip < Window_Option # 既読判定追加
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 3
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("既読イベントのみ", :kidoku)
add_command("既読+イベント以外", :people)
add_command("全て", :full)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
select($game_switches[Option::Skip] ? 2 : ($game_switches[Option::PeopleSkip] ? 1 : 0))
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "#{key_button("CTRL")}でスキップする文章の種類を選べます。\n一度見た\eimpイベント会話のみ既読扱い\ec[0]となります。\n「イベント以外」とは、町の人との会話・戦闘会話等を指します"
end
end
#==============================================================================
# □ Window_
#------------------------------------------------------------------------------
#  オプション画面で、を選択するウィンドウです。
#==============================================================================
class Window_H_Opacity < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 9
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
select($game_variables[Option::H_Opacity] - 1)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "エッチシーンのウィンドウ背景透過率を設定できます。数字が小さいほど\n透過率が上がり「0」で透明、「8」で一切透過しません"
end
end
#==============================================================================
# □ Window_
#------------------------------------------------------------------------------
#  オプション画面で、を選択するウィンドウです。
#==============================================================================
class Window_ExtraH < Window_Option
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :last_b #
attr_accessor :last_s #
attr_accessor :last_f #
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 3
end
#--------------------------------------------------------------------------
# ○ 横に項目が並ぶときの空白の幅を取得
#--------------------------------------------------------------------------
#def spacing
#return 6
#end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("ボテ腹:#{v_change($game_variables[Option::EXH_B])}", :ok)
add_command("#{Option::WORD_S}:#{v_change($game_variables[Option::EXH_S])}", :ok)
add_command("フタナリ:#{v_change($game_variables[Option::EXH_F])}", :ok)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def v_change(v)
case v
when 1 ; "見る"
when 2 ; "CG差替"
when 3 ; "飛ばす"
when 4 ; "確認"
else ; "未設定"
end
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def last_reset
@last_b = 0
@last_s = 0
@last_f = 0
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
unselect
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "一部Hシーンの設定を\eimp↑↓キー\ec[0]で行います。CG差替は該当のCGを\n別Verに差し替えます(フタナリなら\eimp生えていないCGになる\ec[0]等) \n※テキストはそのままになります。ボテ腹のCGは差し替え出来ません。\n\e}全項目を設定し終わったら決定キーで確定、キャンセルで元の設定に戻ります。\e{\n\e}\eimpそれぞれのシーン数 疑似ボテ:2 ボテ:1 #{Option::WORD_S}:1 フタナリ:\ec[0]\e{"
end
#--------------------------------------------------------------------------
# アライメントの取得
#--------------------------------------------------------------------------
def alignment
return 0
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def num_max
return 4
end
#--------------------------------------------------------------------------
# ○
#--------------------------------------------------------------------------
def cursor_down(wrap = false)
Sound.play_cursor
$game_variables[Option::EXH_B + index] -= 1
$game_variables[Option::EXH_B + index] -= 1 if index == 0 && $game_variables[Option::EXH_B + index] == 2
$game_variables[Option::EXH_B + index] = num_max if $game_variables[Option::EXH_B + index] < 1
refresh
end
#--------------------------------------------------------------------------
# ○
#--------------------------------------------------------------------------
def cursor_up(wrap = false)
Sound.play_cursor
$game_variables[Option::EXH_B + index] += 1
$game_variables[Option::EXH_B + index] += 1 if index == 0 && $game_variables[Option::EXH_B + index] == 2
$game_variables[Option::EXH_B + index] = 1 if $game_variables[Option::EXH_B + index] > num_max
refresh
end
end
#==============================================================================
# □ Window_
#------------------------------------------------------------------------------
#  オプション画面で、を選択するウィンドウです。
#==============================================================================
class Window_Danmenzu < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 2
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("表示する", :show)
add_command("表示しない", :hide)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
$game_switches[Option::EXH_D] ? select(1) : select(0)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "一部の挿入Hシーンにおいて断面図を表示するか設定します。\n断面図のあるシーンはそんなに多くありません"
end
end
#==============================================================================
# □ Window_
#------------------------------------------------------------------------------
#  オプション画面で、を選択するウィンドウです。
#==============================================================================
class Window_ShotCount < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 11 #4
end
#--------------------------------------------------------------------------
# 横に項目が並ぶときの空白の幅を取得
#--------------------------------------------------------------------------
def spacing
return 2
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("10", :ok)
=begin
add_command("", :ok)
add_command("", :ok)
add_command("", :ok)
add_command("カウント無し", :ok)
=end
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
select($game_variables[Option::EXH_SHOT] - 1)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "射精のあるHシーンにおいて、射精の何ページ前から\nカウントするか設定します(1ページは1ウィンドウ分です)\n射精の間隔が詰まっている場合(乱交等)は設定数値より低い数字で\n始まります。また、\eimpシーン最後の射精\ec[0]は黄色の数字でカウントされます。\n※“0”設定でカウントを行いません"
end
end
#==============================================================================
# □ Window_
#------------------------------------------------------------------------------
#  オプション画面で、を選択するウィンドウです。
#==============================================================================
class Window_Volume < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 6
end
#--------------------------------------------------------------------------
# ○ 横に項目が並ぶときの空白の幅を取得
#--------------------------------------------------------------------------
def spacing
return 0
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("BGM:#{Audio.bgm_vol}", :ok)
add_command("BGS:#{Audio.bgs_vol}", :ok)
add_command("SE:#{Audio.se_vol}", :ok)
add_command("ME:#{Audio.me_vol}", :ok)
add_command("HBG:#{Audio.h_bgs_vol}", :ok)
add_command("HSE:#{Audio.h_se_vol}", :ok)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
unselect
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return ""
end
#--------------------------------------------------------------------------
# 標準パディングサイズの取得
#--------------------------------------------------------------------------
def standard_padding
return 0
end
#--------------------------------------------------------------------------
# アライメントの取得
#--------------------------------------------------------------------------
def alignment
return 0
end
end
#==============================================================================
# □ Window_
#------------------------------------------------------------------------------
#  オプション画面で、を選択するウィンドウです。
#==============================================================================
class Window_ScreenZoom < Window_Option
#--------------------------------------------------------------------------
# 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 2
end
#--------------------------------------------------------------------------
# コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command("拡大", :zoom)
add_command("通常", :normal)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def select_last
$game_switches[Option::ScreenZoom] ? select(1) : select(0)
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def help_text
return "ゲーム開始時、画面サイズを拡大して始めるかどうかを選択できます。\nゲーム中の画面サイズ変更は\ekb[f5]で行え、\nディスプレイの解像度によって最大3段階に変化します。\n"
end
end
#==============================================================================
# ■ Window_MenuCommand
#------------------------------------------------------------------------------
#  メニュー画面で表示するコマンドウィンドウです。
#==============================================================================
class Window_MenuCommand < Window_Command
#--------------------------------------------------------------------------
# ● 独自コマンドの追加用 ※エイリアス
#--------------------------------------------------------------------------
alias option_add_original_commands add_original_commands
def add_original_commands
option_add_original_commands
add_command("オプション", :option)
end
end
#==============================================================================
# ■ Scene_Menu
#------------------------------------------------------------------------------
#  メニュー画面の処理を行うクラスです。
#==============================================================================
class Scene_Menu < Scene_MenuBase
#--------------------------------------------------------------------------
# ● コマンドウィンドウの作成 ※エイリアス
#--------------------------------------------------------------------------
alias option_create_command_window create_command_window
def create_command_window
option_create_command_window
@command_window.set_handler(:option, method(:on_option))
end
#--------------------------------------------------------------------------
# ○
#--------------------------------------------------------------------------
def on_option
SceneManager.call(Scene_Option)
end
end
#==============================================================================
# ■ Game_Temp
#------------------------------------------------------------------------------
#  セーブデータに含まれない、一時的なデータを扱うクラスです。このクラスのイン
# スタンスは $game_temp で参照されます。
#==============================================================================
class Game_Temp
#--------------------------------------------------------------------------
# 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :return_symbol #
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias return_initialize initialize
def initialize
return_initialize
return_symbol_reset
end
#--------------------------------------------------------------------------
# リターンシンボル初期化
#--------------------------------------------------------------------------
def return_symbol_reset
@return_symbol = nil
end
end
#==============================================================================
# □ Scene_Option
#------------------------------------------------------------------------------
#  オプション画面の処理を行うクラスです。
#==============================================================================
class Scene_Option < Scene_MenuBase
#--------------------------------------------------------------------------
# 開始処理
#--------------------------------------------------------------------------
def start
super
create_viewport_sub
create_help_window
create_info_window
create_command_window
create_dummy_window
create_difficulty_window
create_dash_window
create_skill_window
create_learned_window
create_magic_window
create_item_window
create_heal_window
create_zoom_window
create_button_window
create_event_window
create_auto_window
create_skip_window # 既読判定追加
create_opacity_window
create_extrah_window
create_dmz_window
create_count_window
create_volume_window
end
#--------------------------------------------------------------------------
# 終了処理
#--------------------------------------------------------------------------
def terminate
super
@viewport2.dispose
@viewport3.dispose
end
#--------------------------------------------------------------------------
# フレーム更新
#--------------------------------------------------------------------------
def update
super
case @command_window.page_index
when 0
@viewport2.visible = true
@viewport3.visible = false
else
@viewport3.visible = true
@viewport2.visible = false
end
end
#--------------------------------------------------------------------------
# サブビューポートの作成
#--------------------------------------------------------------------------
def create_viewport_sub
@viewport2 = Viewport.new
@viewport2.z = 300
@viewport3 = Viewport.new
@viewport3.z = 300
@viewport3.visible = false
end
#--------------------------------------------------------------------------
# ヘルプウィンドウの作成
#--------------------------------------------------------------------------
def create_help_window
@help_window = Window_Help.new(5)
@help_window.viewport = @viewport
end
#--------------------------------------------------------------------------
# コマンドウィンドウの作成
#--------------------------------------------------------------------------
def create_command_window
y = @info_window.height
@command_window = Window_OptionCommand.new(0, y)
@command_window.set_handler(:difficulty, method(:select_difficulty))
@command_window.set_handler(:dash, method(:select_dash))
@command_window.set_handler(:skill_lv, method(:select_skill))
@command_window.set_handler(:learned, method(:select_learned))
@command_window.set_handler(:magic_punch, method(:select_magic))
@command_window.set_handler(:item_start, method(:select_item))
@command_window.set_handler(:quick_heal, method(:select_heal))
@command_window.set_handler(:button, method(:select_button))
@command_window.set_handler(:h_event, method(:select_event))
@command_window.set_handler(:auto_speed, method(:select_auto))
@command_window.set_handler(:message_skip, method(:select_skip)) # 既読判定追加
@command_window.set_handler(:opacity, method(:select_opacity))
@command_window.set_handler(:exh_event, method(:select_extrah))
@command_window.set_handler(:dmz, method(:select_dmz))
@command_window.set_handler(:shot_count, method(:select_count))
@command_window.set_handler(:volume, method(:select_volume))
@command_window.set_handler(:zoom, method(:select_zoom))
@command_window.set_handler(:cancel, method(:return_scene))
@command_window.info_window = @info_window
@command_window.help_window = @help_window
@command_window.viewport = @viewport
@help_window.y = @command_window.y + @command_window.height
end
#--------------------------------------------------------------------------
# ダミーウィンドウの作成
#--------------------------------------------------------------------------
def create_dummy_window
wx = @command_window.width
wy = @command_window.y
ww = Graphics.width - wx
wh = @command_window.height
@dummy_window = Window_Base.new(wx, wy, ww, wh)
@dummy_window.viewport = @viewport
end
#--------------------------------------------------------------------------
# インフォウィンドウの作成
#--------------------------------------------------------------------------
def create_info_window
wy = 0#@command_window.y + @command_window.height
@info_window = Window_OptionInfo.new(wy)
@info_window.viewport = @viewport
end
#--------------------------------------------------------------------------
# 難易度ウィンドウの作成
#--------------------------------------------------------------------------
def create_difficulty_window
x = @command_window.width + 12
y = @command_window.y + 6
ww = Graphics.width - @command_window.width - 24
@difficulty_window = Window_Difficulty.new(x, y, ww)
@difficulty_window.set_handler(:ok, method(:on_difficulty_ok))
@difficulty_window.set_handler(:cancel, method(:on_difficulty_cancel))
@difficulty_window.help_window = @help_window
@difficulty_window.viewport = @viewport2
end
#--------------------------------------------------------------------------
# ダッシュウィンドウの作成
#--------------------------------------------------------------------------
def create_dash_window
base = @difficulty_window
x = base.x
y = base.y + base.height
ww = base.width
@dash_window = Window_Dash.new(x, y, ww)
@dash_window.set_handler(:ok, method(:on_dash_ok))
@dash_window.set_handler(:cancel, method(:on_dash_cancel))
@dash_window.help_window = @help_window
@dash_window.viewport = @viewport2
end
#--------------------------------------------------------------------------
# スキルLVウィンドウの作成
#--------------------------------------------------------------------------
def create_skill_window
base = @dash_window
x = base.x
y = base.y + base.height
ww = base.width
@skill_window = Window_SkillLevel.new(x, y, ww)
@skill_window.set_handler(:ok, method(:on_skill_ok))
@skill_window.set_handler(:cancel, method(:on_skill_cancel))
@skill_window.help_window = @help_window
@skill_window.viewport = @viewport2
end
#--------------------------------------------------------------------------
# 習得済みウィンドウの作成
#--------------------------------------------------------------------------
def create_learned_window
base = @skill_window
x = base.x
y = base.y + base.height
ww = base.width
@learned_window = Window_Learned.new(x, y, ww)
@learned_window.set_handler(:ok, method(:on_learned_ok))
@learned_window.set_handler(:cancel, method(:on_learned_cancel))
@learned_window.help_window = @help_window
@learned_window.viewport = @viewport2
end
#--------------------------------------------------------------------------
# 魔力殴打ウィンドウの作成
#--------------------------------------------------------------------------
def create_magic_window
base = @learned_window
x = base.x
y = base.y + base.height
ww = base.width
@magic_window = Window_MagicPunch.new(x, y, ww)
@magic_window.set_handler(:ok, method(:on_magic_ok))
@magic_window.set_handler(:cancel, method(:on_magic_cancel))
@magic_window.help_window = @help_window
@magic_window.viewport = @viewport2
end
#--------------------------------------------------------------------------
# 簡易アイテムウィンドウの作成
#--------------------------------------------------------------------------
def create_item_window
base = @magic_window
x = base.x
y = base.y + base.height
ww = base.width
@item_window = Window_ItemStart.new(x, y, ww)
@item_window.set_handler(:ok, method(:on_item_ok))
@item_window.set_handler(:cancel, method(:on_item_cancel))
@item_window.help_window = @help_window
@item_window.viewport = @viewport2
end
#--------------------------------------------------------------------------
# クイックヒールウィンドウの作成
#--------------------------------------------------------------------------
def create_heal_window
base = @item_window
x = base.x
y = base.y + base.height
ww = base.width
@heal_window = Window_HealOption.new(x, y, ww)
@heal_window.set_handler(:ok, method(:on_heal_ok))
@heal_window.set_handler(:cancel, method(:on_heal_cancel))
@heal_window.help_window = @help_window
@heal_window.viewport = @viewport2
end
#--------------------------------------------------------------------------
# 拡大表示ウィンドウの作成
#--------------------------------------------------------------------------
def create_zoom_window
base = @heal_window
x = base.x
y = base.y + base.height
ww = base.width
@zoom_window = Window_ScreenZoom.new(x, y, ww)
@zoom_window.set_handler(:ok, method(:on_zoom_ok))
@zoom_window.set_handler(:cancel, method(:on_zoom_cancel))
@zoom_window.help_window = @help_window
@zoom_window.viewport = @viewport2
end
#--------------------------------------------------------------------------
# 音量ウィンドウの作成
#--------------------------------------------------------------------------
def create_volume_window
base = @zoom_window
x = base.x
y = base.y + base.height
ww = base.width
@volume_window = Window_Volume.new(x, y, ww)
@volume_window.help_window = @help_window
@volume_window.viewport = @viewport2
end
#--------------------------------------------------------------------------
# ボタンウィンドウの作成
#--------------------------------------------------------------------------
def create_button_window
x = @command_window.width + 12
y = @command_window.y + 6
ww = Graphics.width - @command_window.width - 24
@button_window = Window_KeyButton.new(x, y, ww)
@button_window.set_handler(:ok, method(:on_button_ok))
@button_window.set_handler(:cancel, method(:on_button_cancel))
@button_window.help_window = @help_window
@button_window.viewport = @viewport3
end
#--------------------------------------------------------------------------
# Hイベントウィンドウの作成
#--------------------------------------------------------------------------
def create_event_window
base = @button_window
x = base.x
y = base.y + base.height
ww = base.width
@event_window = Window_H_Event.new(x, y, ww)
@event_window.set_handler(:ok, method(:on_event_ok))
@event_window.set_handler(:cancel, method(:on_event_cancel))
@event_window.help_window = @help_window
@event_window.viewport = @viewport3
end
#--------------------------------------------------------------------------
# オートモードウィンドウの作成
#--------------------------------------------------------------------------
def create_auto_window
base = @event_window
x = base.x
y = base.y + base.height
ww = base.width
@auto_window = Window_AutoSpeed.new(x, y, ww)
@auto_window.set_handler(:ok, method(:on_auto_ok))
@auto_window.set_handler(:cancel, method(:on_auto_cancel))
@auto_window.help_window = @help_window
@auto_window.viewport = @viewport3
end
#--------------------------------------------------------------------------
# メッセージスキップウィンドウの作成 # 既読判定追加
#--------------------------------------------------------------------------
def create_skip_window
base = @auto_window
x = base.x
y = base.y + base.height
ww = base.width
@skip_window = Window_MessageSkip.new(x, y, ww)
@skip_window.set_handler(:ok, method(:on_skip_ok))
@skip_window.set_handler(:cancel, method(:on_skip_cancel))
@skip_window.help_window = @help_window
@skip_window.viewport = @viewport3
end
#--------------------------------------------------------------------------
# 背景透過率ウィンドウの作成
#--------------------------------------------------------------------------
def create_opacity_window
base = @skip_window
x = base.x
y = base.y + base.height
ww = base.width
@opacity_window = Window_H_Opacity.new(x, y, ww)
@opacity_window.set_handler(:ok, method(:on_opacity_ok))
@opacity_window.set_handler(:cancel, method(:on_opacity_cancel))
@opacity_window.help_window = @help_window
@opacity_window.viewport = @viewport3
end
#--------------------------------------------------------------------------
# 性癖ウィンドウの作成
#--------------------------------------------------------------------------
def create_extrah_window
base = @opacity_window
x = base.x
y = base.y + base.height
ww = base.width
@extrah_window = Window_ExtraH.new(x, y, ww)
@extrah_window.set_handler(:ok, method(:on_extrah_ok))
@extrah_window.set_handler(:cancel, method(:on_extrah_cancel))
@extrah_window.help_window = @help_window
@extrah_window.viewport = @viewport3
end
#--------------------------------------------------------------------------
# DMZウィンドウの作成
#--------------------------------------------------------------------------
def create_dmz_window
base = @extrah_window
x = base.x
y = base.y + base.height
ww = base.width
@dmz_window = Window_Danmenzu.new(x, y, ww)
@dmz_window.set_handler(:ok, method(:on_dmz_ok))
@dmz_window.set_handler(:cancel, method(:on_dmz_cancel))
@dmz_window.help_window = @help_window
@dmz_window.viewport = @viewport3
end
#--------------------------------------------------------------------------
# 射精カウントウィンドウの作成
#--------------------------------------------------------------------------
def create_count_window
base = @dmz_window
x = base.x
y = base.y + base.height
ww = base.width
@count_window = Window_ShotCount.new(x, y, ww)
@count_window.set_handler(:ok, method(:on_count_ok))
@count_window.set_handler(:cancel, method(:on_count_cancel))
@count_window.help_window = @help_window
@count_window.viewport = @viewport3
end
#--------------------------------------------------------------------------
# コマンド[難易度]
#--------------------------------------------------------------------------
def select_difficulty
@difficulty_window.activate
end
#--------------------------------------------------------------------------
# コマンド[ダッシュ]
#--------------------------------------------------------------------------
def select_dash
@dash_window.activate
end
#--------------------------------------------------------------------------
# コマンドスキルLV
#--------------------------------------------------------------------------
def select_skill
@skill_window.activate
end
#--------------------------------------------------------------------------
# コマンド[習得済みスキル]
#--------------------------------------------------------------------------
def select_learned
@learned_window.activate
end
#--------------------------------------------------------------------------
# コマンド[魔力殴打]
#--------------------------------------------------------------------------
def select_magic
@magic_window.activate
end
#--------------------------------------------------------------------------
# コマンド[簡易アイテム]
#--------------------------------------------------------------------------
def select_item
@item_window.activate
end
#--------------------------------------------------------------------------
# コマンド[クイックヒール]
#--------------------------------------------------------------------------
def select_heal
@heal_window.activate
end
#--------------------------------------------------------------------------
# コマンド[ボタン]
#--------------------------------------------------------------------------
def select_button
@button_window.activate
end
#--------------------------------------------------------------------------
# コマンドHイベント
#--------------------------------------------------------------------------
def select_event
@event_window.activate
end
#--------------------------------------------------------------------------
# コマンド[オート]
#--------------------------------------------------------------------------
def select_auto
@auto_window.activate
end
#--------------------------------------------------------------------------
# コマンド[スキップ] # 既読判定追加
#--------------------------------------------------------------------------
def select_skip
@skip_window.activate
end
#--------------------------------------------------------------------------
# コマンド[背景透過率]
#--------------------------------------------------------------------------
def select_opacity
@opacity_window.activate
end
#--------------------------------------------------------------------------
# コマンド[性癖]
#--------------------------------------------------------------------------
def select_extrah
@extrah_window.activate
@extrah_window.select(0)
@extrah_window.last_b = $game_variables[Option::EXH_B]
@extrah_window.last_s = $game_variables[Option::EXH_S]
@extrah_window.last_f = $game_variables[Option::EXH_F]
#$game_temp.return_symbol = :exh_event
#SceneManager.call(HZM_VXA::AudioVol::Scene_VolConfig)
end
#--------------------------------------------------------------------------
# コマンド[断面図]
#--------------------------------------------------------------------------
def select_dmz
@dmz_window.activate
end
#--------------------------------------------------------------------------
# コマンド[射精カウント]
#--------------------------------------------------------------------------
def select_count
@count_window.activate
end
#--------------------------------------------------------------------------
# コマンド[音量変更]
#--------------------------------------------------------------------------
def select_volume
$game_temp.return_symbol = :volume
SceneManager.call(HZM_VXA::AudioVol::Scene_VolConfig)
end
#--------------------------------------------------------------------------
# コマンド[拡大表示]
#--------------------------------------------------------------------------
def select_zoom
@zoom_window.activate
end
#--------------------------------------------------------------------------
# 難易度[決定]
#--------------------------------------------------------------------------
def on_difficulty_ok
$game_system.difficulty_set(@difficulty_window.current_symbol)
@command_window.activate
end
#--------------------------------------------------------------------------
# 難易度[キャンセル]
#--------------------------------------------------------------------------
def on_difficulty_cancel
@difficulty_window.select_last
@difficulty_window.deactivate
@command_window.activate
end
#--------------------------------------------------------------------------
# ダッシュ[決定]
#--------------------------------------------------------------------------
def on_dash_ok
$game_switches[FAKEREAL::IDATEN] = @dash_window.current_symbol == :dash
@command_window.activate
end
#--------------------------------------------------------------------------
# ダッシュ[キャンセル]
#--------------------------------------------------------------------------
def on_dash_cancel
@dash_window.select_last
@dash_window.deactivate
@command_window.activate
end
#--------------------------------------------------------------------------
# スキルLV決定
#--------------------------------------------------------------------------
def on_skill_ok
$game_system.skill_lv_visible = @skill_window.current_symbol == :show
@command_window.activate
end
#--------------------------------------------------------------------------
# スキルLVキャンセル
#--------------------------------------------------------------------------
def on_skill_cancel
@skill_window.select_last
@skill_window.deactivate
@command_window.activate
end
#--------------------------------------------------------------------------
# 習得済みスキル[決定]
#--------------------------------------------------------------------------
def on_learned_ok
$game_switches[Learn::HIDE] = @learned_window.current_symbol == :hide
@command_window.activate
end
#--------------------------------------------------------------------------
# 習得済みスキル[キャンセル]
#--------------------------------------------------------------------------
def on_learned_cancel
@learned_window.select_last
@learned_window.deactivate
@command_window.activate
end
#--------------------------------------------------------------------------
# 魔力殴打[決定]
#--------------------------------------------------------------------------
def on_magic_ok
$game_switches[Option::MagicPunch] = @magic_window.current_symbol == :change
@command_window.activate
end
#--------------------------------------------------------------------------
# 魔力殴打[キャンセル]
#--------------------------------------------------------------------------
def on_magic_cancel
@magic_window.select_last
@magic_window.deactivate
@command_window.activate
end
#--------------------------------------------------------------------------
# 簡易アイテム[決定]
#--------------------------------------------------------------------------
def on_item_ok
$game_variables[Option::ItemStart] = @item_window.index
@command_window.activate
end
#--------------------------------------------------------------------------
# 簡易アイテム[キャンセル]
#--------------------------------------------------------------------------
def on_item_cancel
@item_window.select_last
@item_window.deactivate
@command_window.activate
end
#--------------------------------------------------------------------------
# クイックヒール[決定]
#--------------------------------------------------------------------------
def on_heal_ok
$game_variables[Option::EASY_HEAL] = @heal_window.index
@command_window.activate
end
#--------------------------------------------------------------------------
# クイックヒール[キャンセル]
#--------------------------------------------------------------------------
def on_heal_cancel
@heal_window.select_last
@heal_window.deactivate
@command_window.activate
end
#--------------------------------------------------------------------------
# ボタン[決定]
#--------------------------------------------------------------------------
def on_button_ok
$game_variables[Option::Button] = @button_window.index
PUBLIC_DATA.write_option_data
@command_window.activate
end
#--------------------------------------------------------------------------
# ボタン[キャンセル]
#--------------------------------------------------------------------------
def on_button_cancel
@button_window.select_last
@button_window.deactivate
@command_window.activate
end
#--------------------------------------------------------------------------
# Hイベント決定
#--------------------------------------------------------------------------
def on_event_ok
$game_variables[Option::Scene] = @event_window.index
PUBLIC_DATA.write_option_data
@command_window.activate
end
#--------------------------------------------------------------------------
# Hイベントキャンセル
#--------------------------------------------------------------------------
def on_event_cancel
@event_window.select_last
@event_window.deactivate
@command_window.activate
end
#--------------------------------------------------------------------------
# オートモード[決定]
#--------------------------------------------------------------------------
def on_auto_ok
$game_variables[MessageEnhance::V] = @auto_window.index + 1
PUBLIC_DATA.write_option_data
@command_window.activate
end
#--------------------------------------------------------------------------
# オートモード[キャンセル]
#--------------------------------------------------------------------------
def on_auto_cancel
@auto_window.select_last
@auto_window.deactivate
@command_window.activate
end
#--------------------------------------------------------------------------
# スキップ[決定] # 既読判定追加
#--------------------------------------------------------------------------
def on_skip_ok
case @skip_window.current_symbol
when :full
$game_switches[Option::Skip] = true
$game_switches[Option::PeopleSkip] = false
when :people
$game_switches[Option::Skip] = false
$game_switches[Option::PeopleSkip] = true
else
$game_switches[Option::Skip] = false
$game_switches[Option::PeopleSkip] = false
end
PUBLIC_DATA.write_option_data
@command_window.activate
end
#--------------------------------------------------------------------------
# スキップ[キャンセル] # 既読判定追加
#--------------------------------------------------------------------------
def on_skip_cancel
@skip_window.select_last
@skip_window.deactivate
@command_window.activate
end
#--------------------------------------------------------------------------
# 背景透過率[決定]
#--------------------------------------------------------------------------
def on_opacity_ok
$game_variables[Option::H_Opacity] = @opacity_window.index + 1
PUBLIC_DATA.write_option_data
@command_window.activate
end
#--------------------------------------------------------------------------
# 背景透過率[キャンセル]
#--------------------------------------------------------------------------
def on_opacity_cancel
@opacity_window.select_last
@opacity_window.deactivate
@command_window.activate
end
#--------------------------------------------------------------------------
# 性癖[決定]
#--------------------------------------------------------------------------
def on_extrah_ok
@extrah_window.select_last
PUBLIC_DATA.write_option_data
@command_window.activate
@extrah_window.last_reset
end
#--------------------------------------------------------------------------
# 性癖[キャンセル]
#--------------------------------------------------------------------------
def on_extrah_cancel
@extrah_window.select_last
@extrah_window.deactivate
$game_variables[Option::EXH_B] = @extrah_window.last_b
$game_variables[Option::EXH_S] = @extrah_window.last_s
$game_variables[Option::EXH_F] = @extrah_window.last_f
@extrah_window.refresh
PUBLIC_DATA.write_option_data
@command_window.activate
@extrah_window.last_reset
end
#--------------------------------------------------------------------------
# 断面図[決定]
#--------------------------------------------------------------------------
def on_dmz_ok
$game_switches[Option::EXH_D] = @dmz_window.current_symbol == :hide
PUBLIC_DATA.write_option_data
@command_window.activate
end
#--------------------------------------------------------------------------
# 断面図[キャンセル]
#--------------------------------------------------------------------------
def on_dmz_cancel
@dmz_window.select_last
@dmz_window.deactivate
@command_window.activate
end
#--------------------------------------------------------------------------
# 射精カウント[決定]
#--------------------------------------------------------------------------
def on_count_ok
$game_variables[Option::EXH_SHOT] = @count_window.index + 1 #.current_symbol == :no_count
PUBLIC_DATA.write_option_data
@command_window.activate
end
#--------------------------------------------------------------------------
# 射精カウント[キャンセル]
#--------------------------------------------------------------------------
def on_count_cancel
@count_window.select_last
@count_window.deactivate
@command_window.activate
end
#--------------------------------------------------------------------------
# 拡大[決定]
#--------------------------------------------------------------------------
def on_zoom_ok
$game_switches[Option::ScreenZoom] = @zoom_window.current_symbol != :zoom
PUBLIC_DATA.write_option_data
@command_window.activate
end
#--------------------------------------------------------------------------
# 拡大[キャンセル]
#--------------------------------------------------------------------------
def on_zoom_cancel
@zoom_window.select_last
@zoom_window.deactivate
@command_window.activate
end
end
#==============================================================================
# ■ PUBLIC_DATA
#------------------------------------------------------------------------------
#  共有データの書き込み、読み込みを実行するモジュール
#==============================================================================
module PUBLIC_DATA
OPTION_S = [89, 90, 314, 306] #オプション項目スイッチ # 既読判定等追加
OPTION_V = [35, *(39..41), *(131..134)] #オプション項目変数
#--------------------------------------------------------------------------
# オプションデータの書き込み
#--------------------------------------------------------------------------
def self.write_option_data
OPTION_S.each{|i| $public[0][i] = $game_switches[i]}
OPTION_V.each{|i| $public[1][i] = $game_variables[i]}
#OPTION_S.each{|i| $public.memory(0, i, $game_switches[i]) }
#OPTION_V.each{|i| $public.memory(1, i, $game_variables[i])}
save_data($public, FILE_NAME)
end
end
#==============================================================================
# ■ Window_TitleCommand
#------------------------------------------------------------------------------
#  タイトル画面で、ニューゲーム/コンティニューを選択するウィンドウです。
#==============================================================================
class Window_TitleCommand < Window_Command
#--------------------------------------------------------------------------
# ● コマンドリストの作成
#--------------------------------------------------------------------------
def make_command_list
add_command(Vocab::new_game, :new_game)
add_command(Vocab::continue, :continue, continue_enabled)
add_command("オプション", :option)
add_command(Vocab::shutdown, :shutdown)
end
end
#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
#  タイトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Title < Scene_Base
#--------------------------------------------------------------------------
# ● 開始処理
#--------------------------------------------------------------------------
alias opt_start start
def start
opt_start
PUBLIC_DATA.read_public_data
end
#--------------------------------------------------------------------------
# ● コマンドウィンドウの作成
#--------------------------------------------------------------------------
alias opt_create_command_window create_command_window
def create_command_window
opt_create_command_window
@command_window.set_handler(:option, method(:command_option))
end
#--------------------------------------------------------------------------
# コマンド[オプション]
#--------------------------------------------------------------------------
def command_option
close_command_window
SceneManager.call(Scene_Option)
end
end
#==============================================================================
# ■ Window_Help
#------------------------------------------------------------------------------
#  スキルやアイテムの説明、アクターのステータスなどを表示するウィンドウです。
#==============================================================================
class Window_OptionInfo < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize(y, line_number = 2)
super(0, y, Graphics.width, fitting_height(line_number))
#self.opacity = 0
end
#--------------------------------------------------------------------------
# ● テキスト設定
#--------------------------------------------------------------------------
def set_text(text)
if text != @text
@text = text
refresh
end
end
#--------------------------------------------------------------------------
# ● クリア
#--------------------------------------------------------------------------
def clear
set_text("")
end
#--------------------------------------------------------------------------
# ● アイテム設定
# item : スキル、アイテム等
#--------------------------------------------------------------------------
def set_item(item)
set_text("#{item}/2 Page")
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
contents.clear
change_color(important_color)
draw_text(0, 0, contents.width, line_height, @text, 1)
draw_text(0, line_height, contents.width, line_height, "項目選択時に← →でページ変更", 1)
change_color(normal_color)
end
end