function CustomDefeatLoadBJ takes nothing returns nothing
call PauseGame( false )
call DisplayLoadDialog()
endfunction
function CustomDefeatReduceDifficultyBJ takes nothing returns nothing
local gamedifficulty diff = GetGameDifficulty()
call PauseGame( false )
if (diff == MAP_DIFFICULTY_EASY) then
elseif (diff == MAP_DIFFICULTY_NORMAL) then
call SetGameDifficulty(MAP_DIFFICULTY_EASY)
elseif (diff == MAP_DIFFICULTY_HARD) then
call SetGameDifficulty(MAP_DIFFICULTY_NORMAL)
else
endif
call RestartGame( true )
endfunction
function CustomDefeatRestartBJ takes nothing returns nothing
call PauseGame( false )
call RestartGame( true )
endfunction
function CustomDefeatQuitBJ takes nothing returns nothing
if bj_isSinglePlayer then
call PauseGame( false )
endif
call SetGameDifficulty(GetDefaultDifficulty())
call EndGame( true )
endfunction
function CustomDefeatDialogBJ takes player whichPlayer,string message returns nothing
local trigger t = CreateTrigger()
local dialog d = DialogCreate()
call DialogSetMessage( d, message )
if bj_isSinglePlayer then
set t = CreateTrigger()
call TriggerRegisterDialogButtonEvent( t, DialogAddButton( d, GetLocalizedString( "GAMEOVER_RESTART" ), GetLocalizedHotkey("GAMEOVER_RESTART") ) )
call TriggerAddAction( t, function CustomDefeatRestartBJ )
if (GetGameDifficulty() != MAP_DIFFICULTY_EASY) then
set t = CreateTrigger()
call TriggerRegisterDialogButtonEvent( t, DialogAddButton( d, GetLocalizedString( "GAMEOVER_REDUCE_DIFFICULTY" ), GetLocalizedHotkey("GAMEOVER_REDUCE_DIFFICULTY") ) )
call TriggerAddAction( t, function CustomDefeatReduceDifficultyBJ )
endif
set t = CreateTrigger()
call TriggerRegisterDialogButtonEvent( t, DialogAddButton( d, GetLocalizedString( "GAMEOVER_LOAD" ), GetLocalizedHotkey("GAMEOVER_LOAD") ) )
call TriggerAddAction( t, function CustomDefeatLoadBJ )
endif
set t = CreateTrigger()
call TriggerRegisterDialogButtonEvent( t, DialogAddButton( d, GetLocalizedString( "GAMEOVER_QUIT_MISSION" ), GetLocalizedHotkey("GAMEOVER_QUIT_MISSION") ) )
call TriggerAddAction( t, function CustomDefeatQuitBJ )
if (GetLocalPlayer() == whichPlayer) then
call EnableUserControl( true )
if bj_isSinglePlayer then
call PauseGame( true )
endif
call EnableUserUI(false)
endif
call DialogDisplay( whichPlayer, d, true )
call VolumeGroupSetVolumeForPlayerBJ( whichPlayer, SOUND_VOLUMEGROUP_UI, 1.0 )
call StartSoundForPlayerBJ( whichPlayer, bj_defeatDialogSound )
endfunction
function CustomDefeatBJ takes player whichPlayer,string message returns nothing
if AllowVictoryDefeat( PLAYER_GAME_RESULT_DEFEAT ) then
call RemovePlayer( whichPlayer, PLAYER_GAME_RESULT_DEFEAT )
if not bj_isSinglePlayer then
call DisplayTimedTextFromPlayer(whichPlayer, 0, 0, 60, GetLocalizedString( "PLAYER_DEFEATED" ) )
endif
if (GetPlayerController(whichPlayer) == MAP_CONTROL_USER) then
call CustomDefeatDialogBJ( whichPlayer, message )
endif
endif
endfunction