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

113 lines
No EOL
5 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.

module FAKEREAL
EVEN_TONE = Tone.new(50, -34, -34, 20)
NIGHT_TONE = Tone.new(-68, -68, 0, 68)
MIDNIGHT_TONE = Tone.new(-92, -100, 4, 92)
EVEN_SWITCHES = 3
NIGHT_SWITCHES = 4
MIDNIGHT_SWITCHES = 5
end
#==============================================================================
# ■ Game_System
#------------------------------------------------------------------------------
#  システム周りのデータを扱うクラスです。セーブやメニューの禁止状態などを保存
# します。このクラスのインスタンスは $game_system で参照されます。
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :game_day # ゲーム内時間
attr_accessor :event_freeze # イベント移動停止フラグ
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias game_day_initialize initialize
def initialize
game_day_initialize
@game_day = :day
@event_freeze = false
end
#--------------------------------------------------------------------------
# ● 時間 の変更
# :day :evening :night の3パターン
#--------------------------------------------------------------------------
def day_change(symbol)
@game_day = symbol
if symbol == :evening
$game_switches[FAKEREAL::EVEN_SWITCHES] = true
$game_switches[FAKEREAL::NIGHT_SWITCHES] = false
$game_switches[FAKEREAL::MIDNIGHT_SWITCHES] = false
elsif symbol == :night
$game_switches[FAKEREAL::EVEN_SWITCHES] = false
$game_switches[FAKEREAL::NIGHT_SWITCHES] = true
$game_switches[FAKEREAL::MIDNIGHT_SWITCHES] = false
elsif symbol == :midnight
$game_switches[FAKEREAL::EVEN_SWITCHES] = false
$game_switches[FAKEREAL::NIGHT_SWITCHES] = false
$game_switches[FAKEREAL::MIDNIGHT_SWITCHES] = true
else
$game_switches[FAKEREAL::EVEN_SWITCHES] = false
$game_switches[FAKEREAL::NIGHT_SWITCHES] = false
$game_switches[FAKEREAL::MIDNIGHT_SWITCHES] = false
end
end
end
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
#  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
# Game_Troop クラス、Game_Event クラスの内部で使用されます。
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# ● ゲーム内時間変更 朝~昼
#--------------------------------------------------------------------------
def day_mode(time = 60, waiting = true)
screen.start_tone_change(Tone.new, time) if !$game_map.no_day_tone
wait(time) if waiting
$game_system.day_change(:day)
$game_map.refresh
end
#--------------------------------------------------------------------------
# ● ゲーム内時間変更 夕方
#--------------------------------------------------------------------------
def even_mode(time = 60, waiting = true)
screen.start_tone_change(FAKEREAL::EVEN_TONE, time) if !$game_map.no_day_tone
wait(time) if waiting
$game_system.day_change(:evening)
$game_map.refresh
end
#--------------------------------------------------------------------------
# ● ゲーム内時間変更 夜
#--------------------------------------------------------------------------
def night_mode(time = 60, waiting = true)
screen.start_tone_change(FAKEREAL::NIGHT_TONE, time) if !$game_map.no_day_tone
wait(time) if waiting
$game_system.day_change(:night)
$game_map.refresh
end
#--------------------------------------------------------------------------
# ● ゲーム内時間変更 深夜
#--------------------------------------------------------------------------
def midnight_mode(time = 60, waiting = true)
screen.start_tone_change(FAKEREAL::MIDNIGHT_TONE, time) if !$game_map.no_day_tone
wait(time) if waiting
$game_system.day_change(:midnight)
$game_map.refresh
end
#--------------------------------------------------------------------------
# ● ゲーム内時間のチェック symbolに時間の英単語を『文字列』で指定
# ※例 time_check("night")
# このように "" で括らないとエラーが発生するので注意
# またシンボルそのもので指定する事も可能 ※例 time_check(:night)
#--------------------------------------------------------------------------
def time_check(symbol)
$game_system.game_day == symbol.to_sym
end
end