function ASSR_START(OPs=true, EDs=true, INS=true){
    if(!(lobby.inLobby && lobby.soloMode)){
        displayMessage("Error", "You must be in a solo lobby.\nIt is recommended that you use a guest account for the impact on your personal stats.", ASSR_STOP);
        return;
    }

    // Save old listeners
    oldQuizOver = quiz._quizOverListner;
    noSongs = quiz._noSongsListner;

    //Create and assign the new ones, kill the old ones
    quizOver = new Listener("quiz over", payload => {
        lobby.setupLobby(payload, quiz.isSpectator);
        viewChanger.changeView("lobby", {
            supressServerMsg: true,
            keepChatOpen: true
        });
        if (lobby.inLobby && lobby.soloMode) {
            playMore ? startGame() : null;
        }
        else {
            displayMessage("Error", "You must be in a solo lobby.\nIt is recommended that you use a guest account for the impact on your personal stats.", ASSR_STOP);
            stopCounting();
        }
    });
    quizOver.bindListener();
    oldQuizOver.unbindListener();

    quizNoSongs = new Listener("Quiz no songs", () => {
    displayMessage("Sasuga", "You must be a true boolli!\nNo remaining songs left in 10% - 100%.", "Whoa snap!", ASSR_STOP());
    });
    quizNoSongs.bindListener();
    noSongs.unbindListener();

    // Set to 20 songs to prevent AFK timeout, 5s per song, advanced difficulties: 10-100, only watched, dups on
    hostModal.numberOfSongsSliderCombo.setValue(20);
    hostModal.playLengthSliderCombo.setValue(5);
    hostModal.songDiffAdvancedSwitch.setOn(true);
    hostModal.songDiffRangeSliderCombo.setValue([10,100]);
    hostModal.songSelectionAdvancedController.setOn(false);
    hostModal.$songPool.slider("setValue", 3);
    $("#mhDuplicateShows").prop("checked", true);

    // Turn on Auto Skip for the replay phase. Leave the guess phase because we're not entering anything
    options.$AUTO_VOTE_REPLAY.prop("checked", true);
    options.updateAutoVoteSkipReplay();

    //Collect the song types and their status
    let openings = hostModal.$songTypeOpening;
    let endings = hostModal.$songTypeEnding;
    let inserts = hostModal.$songTypeInsert;

    //And turn them all on if required
    openings.is(":checked")? (OPs ? null : openings.click()) : (OPs ? openings.click() : null);
    endings.is(":checked") ? (EDs ? null : endings.click()) : (EDs ? endings.click() : null);
    inserts.is(":checked") ? (INS ? null : inserts.click()) : (INS ? inserts.click() : null);

    //Apply game settings
    lobby.changeGameSettings();
    playMore = true;
    startGame();

    // Add event to return to lobby button to stop
    $("#qpReturnToLobbyButton").on('click', (() => {ASSR_STOP(); quiz.startReturnLobbyVote();}));
}
/*
 * Starts the actual script and locks you in 5sNDD settings
 */
Starts the actual script and locks you in 5sNDD settings
Starts the actual script and locks you in 5sNDD settings
function ASSR_START(OPs=true, EDs=true, INS=true){
    if(!(lobby.inLobby && lobby.soloMode)){
        displayMessage("Error", "You must be in a solo lobby.\nIt is recommended that you use a guest account for the impact on your personal stats.", ASSR_STOP);
        return;
    }
    oldQuizOver = quiz._quizOverListner;
    noSongs = quiz._noSongsListner;
    quizOver = new Listener("quiz over", payload => {
        lobby.setupLobby(payload, quiz.isSpectator);
        viewChanger.changeView("lobby", {
            supressServerMsg: true,
            keepChatOpen: true
        });
        if (lobby.inLobby && lobby.soloMode) {
            playMore ? startGame() : null;
        }
        else {
            displayMessage("Error", "You must be in a solo lobby.\nIt is recommended that you use a guest account for the impact on your personal stats.", ASSR_STOP);
            stopCounting();
        }
    });
    quizOver.bindListener();
    oldQuizOver.unbindListener();
    quizNoSongs = new Listener("Quiz no songs", () => {
    displayMessage("Sasuga", "You must be a true boolli!\nNo remaining songs left in 10% - 100%.", "Whoa snap!", ASSR_STOP());
    });
    quizNoSongs.bindListener();
    noSongs.unbindListener();
    hostModal.numberOfSongsSliderCombo.setValue(20);
    hostModal.playLengthSliderCombo.setValue(5);
    hostModal.songDiffAdvancedSwitch.setOn(true);
    hostModal.songDiffRangeSliderCombo.setValue([10,100]);
    hostModal.songSelectionAdvancedController.setOn(false);
    hostModal.$songPool.slider("setValue", 3);
    $("#mhDuplicateShows").prop("checked", true);
    options.$AUTO_VOTE_REPLAY.prop("checked", true);
    options.updateAutoVoteSkipReplay();
    let openings = hostModal.$songTypeOpening;
    let endings = hostModal.$songTypeEnding;
    let inserts = hostModal.$songTypeInsert;
    openings.is(":checked")? (OPs ? null : openings.click()) : (OPs ? openings.click() : null);
    endings.is(":checked") ? (EDs ? null : endings.click()) : (EDs ? endings.click() : null);
    inserts.is(":checked") ? (INS ? null : inserts.click()) : (INS ? inserts.click() : null);
    lobby.changeGameSettings();
    playMore = true;
    startGame();
    $("#qpReturnToLobbyButton").on('click', (() => {ASSR_STOP(); quiz.startReturnLobbyVote();}));
}
function ASSR_START ( OPs = true , EDs = true , INS = true ) { if ( ! ( lobby . inLobby && lobby . soloMode ) ) { displayMessage ( "Error" , "You must be in a solo lobby.\nIt is recommended that you use a guest account for the impact on your personal stats." , ASSR_STOP ) ; return ; } oldQuizOver = quiz . _quizOverListner ; noSongs = quiz . _noSongsListner ; quizOver = new Listener ( "quiz over" , payload => { lobby . setupLobby ( payload , quiz . isSpectator ) ; viewChanger . changeView ( "lobby" , { supressServerMsg : true , keepChatOpen : true } ) ; if ( lobby . inLobby && lobby . soloMode ) { playMore ? startGame ( ) : null ; } else { displayMessage ( "Error" , "You must be in a solo lobby.\nIt is recommended that you use a guest account for the impact on your personal stats." , ASSR_STOP ) ; stopCounting ( ) ; } } ) ; quizOver . bindListener ( ) ; oldQuizOver . unbindListener ( ) ; quizNoSongs = new Listener ( "Quiz no songs" , ( ) => { displayMessage ( "Sasuga" , "You must be a true boolli!\nNo remaining songs left in 10% - 100%." , "Whoa snap!" , ASSR_STOP ( ) ) ; } ) ; quizNoSongs . bindListener ( ) ; noSongs . unbindListener ( ) ; hostModal . numberOfSongsSliderCombo . setValue ( 20 ) ; hostModal . playLengthSliderCombo . setValue ( 5 ) ; hostModal . songDiffAdvancedSwitch . setOn ( true ) ; hostModal . songDiffRangeSliderCombo . setValue ( [ 10 , 100 ] ) ; hostModal . songSelectionAdvancedController . setOn ( false ) ; hostModal . $songPool . slider ( "setValue" , 3 ) ; $ ( "#mhDuplicateShows" ) . prop ( "checked" , true ) ; options . $AUTO_VOTE_REPLAY . prop ( "checked" , true ) ; options . updateAutoVoteSkipReplay ( ) ; let openings = hostModal . $songTypeOpening ; let endings = hostModal . $songTypeEnding ; let inserts = hostModal . $songTypeInsert ; openings . is ( ":checked" ) ? ( OPs ? null : openings . click ( ) ) : ( OPs ? openings . click ( ) : null ) ; endings . is ( ":checked" ) ? ( EDs ? null : endings . click ( ) ) : ( EDs ? endings . click ( ) : null ) ; inserts . is ( ":checked" ) ? ( INS ? null : inserts . click ( ) ) : ( INS ? inserts . click ( ) : null ) ; lobby . changeGameSettings ( ) ; playMore = true ; startGame ( ) ; $ ( "#qpReturnToLobbyButton" ) . on ( 'click' , ( ( ) => { ASSR_STOP ( ) ; quiz . startReturnLobbyVote ( ) ; } ) ) ; }
Starts the actual script and locks you in 5sNDD settings
Starts the actual script and locks you in 5sNDD settings
// Save old listeners //Create and assign the new ones, kill the old ones // Set to 20 songs to prevent AFK timeout, 5s per song, advanced difficulties: 10-100, only watched, dups on // Turn on Auto Skip for the replay phase. Leave the guess phase because we're not entering anything //Collect the song types and their status //And turn them all on if required //Apply game settings // Add event to return to lobby button to stop