#==============================================================================
# ■ 강해서 뉴 게임 Ver. 1.1 by Claimh
#------------------------------------------------------------------------------
# 게임 완료시의 데이터를 계승하고, 최초부터 시작할 수 있다.
# (주) 강해서 뉴 게임 판정용의 스윗치 이외는 모두 초기화됩니다
# (강해서 뉴 게임을 판정시키는 플래그만 ON가 된다)
# 변수도 모두 초기화됩니다
# 액터 상태만 계승합니다.
#==============================================================================
class Scene_Load < Scene_File
# 강해서 뉴 게임 판정 스윗치
RENEW_GAME = 10
# 강해서 뉴 게임 발생 후 , 강해서 뉴 게임을 판정시키는 플래그
RENEW_GAME_FLG = 11
#--------------------------------------------------------------------------
# ● 결정시의 처리
#--------------------------------------------------------------------------
def on_decision(filename)
# 파일이 존재하지 않는 경우
unless FileTest.exist?(filename)
# 버저 SE 를 연주
$game_system.se_play($data_system.buzzer_se)
return
end
# 로드 SE 를 연주
$game_system.se_play($data_system.load_se)
# 세이브 데이터의 기입해
file = File.open(filename, "rb")
read_save_data(file)
file.close
#-----------
# 강해서 뉴 게임 발동
if $game_switches[RENEW_GAME]
# 초기화
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# 초기 파티를 셋업
$game_party.setup_starting_members
# 초기 위치의 맵을 셋업
$game_map.setup($data_system.start_map_id)
# 플레이어를 초기 위치에 이동
$game_player.moveto($data_system.start_x, $data_system.start_y)
# 플레이어를 리프레쉬
$game_player.refresh
# 맵으로 설정되어 있는 BGM 과 BGS 의 자동 바꾸고를 실행
$game_map.autoplay
# 맵을 갱신 (병렬 이벤트 실행)
$game_map.update
# 강해서 뉴 게임한 증거를 남기는
$game_switches[RENEW_GAME_FLG] = true
# 맵 화면으로 전환하고
$scene = Scene_Map.new
return
end
#-----------
# BBGM,BGS 를 복귀
$game_system.bgm_play($game_system.playing_bgm)
$game_system.bgs_play($game_system.playing_bgs)
# 맵을 갱신 (병렬 이벤트 실행)
$game_map.update
# 맵 화면으로 전환하고
$scene = Scene_Map.new
end
end