hasMusic = false; e = campaignTrail_temp; e.collect_results=true; nct_stuff.themes[nct_stuff.selectedTheme].coloring_title = "#E67C4C"; nct_stuff.themes[nct_stuff.selectedTheme].coloring_window = "#E6AB8F"; document.getElementsByClassName("game_header")[0].style.backgroundColor = nct_stuff.themes[nct_stuff.selectedTheme].coloring_title; $("#game_window")[0].style.backgroundColor = nct_stuff.themes[nct_stuff.selectedTheme].coloring_window; $(".container")[0].style.backgroundColor = "#EB2A40"; document.getElementById("header").src = "https://files.catbox.moe/txpjdj.png"; document.body.background = "https://i.imgur.com/vTsxreG.png"; function replaceFurtherReading() { // Get the button element try { const recReadingButton = document.getElementById('recommended_reading_button'); // Add a click event listener to the button recReadingButton.addEventListener('click', function() { const mainContent = document.getElementById("main_content_area_reading"); if (mainContent) { mainContent.innerHTML = `

Further Reading

`; } }); } catch {} } window.setInterval(replaceFurtherReading,200) e.election_json = [{"model":"campaign_trail.election","pk":20,"fields":{ "year":2016, "summary":"

  • John Kasich has won the Republican nomination, working with Ted Cruz to deny it to Donald Trump. He is expected to lose in a landslide as a result of vote splitting by Trump\’s vengeful campaign.
  • Bernie Sanders had a shocking victory over establishment candidate Hillary Clinton. He is widely anticipated to win at present, despite generally being perceived as very radical.
  • Donald Trump hopes to deadlock the election, gaining concessions in the process. Maybe he can build up enough momentum for another run in 2020?
  • ","image_url":"https://files.catbox.moe/ayl6t4.png","winning_electoral_vote_number":270,"advisor_url":"https://files.catbox.moe/5h6j3l.png", "recommended_reading":"", "has_visits":1, "no_electoral_majority_image":"../static/images/2012-no-majority.jpg"}}];e.temp_election_list = [{"id":20,"year":2016,"is_premium":0,"display_year":"2016_New_Day"}];e.credits = "Max, with the banner by count_nathan"; e.global_parameter_json = [{ "model":"campaign_trail.global_parameter","pk":1,"fields":{"vote_variable":1.125,"max_swing":0.12,"start_point":0.94,"candidate_issue_weight":10,"running_mate_issue_weight":3,"issue_stance_1_max":-0.71,"issue_stance_2_max":-0.3,"issue_stance_3_max":-0.125,"issue_stance_4_max":0.125,"issue_stance_5_max":0.3,"issue_stance_6_max":0.71, "global_variance":0.004,"state_variance":0.0025, "question_count":25,"default_map_color_hex":"#C9C9C9","no_state_map_color_hex":"#999999"}}]; e.candidate_json = [{"model":"campaign_trail.candidate","pk":200,"fields":{"first_name":"John","last_name":"Kasich","election":20,"party":"Republican","state":"Ohio","priority":1, "description":"John Kasich, more than any politician in the Republican Party today, represents the old compassionate conservatism that brought George Bush victory. He ran and lost on that platform in 2000, and now he’s hoping that he’ll be able to end eight years of Democratic control of the White House with a platform of light, hope, and moderation.

    He’s represented Ohio as State Senator, Governor, and most famously as Representative - he drafted the first balanced budget since Reagan’s time, after all! And he just won a landslide in Ohio, surely he can repeat that feat at the federal level?

    Well, that’s looking tough. He was only able to secure the nomination through a backroom deal with Ted Cruz, and as a result businessman Donald Trump has declared a third party bid. As a result, Kasich is under siege from populism of both the left and right. But he’ll prevail. He has to.", "color_hex":"#ab2d24","secondary_color_hex":null,"is_active":1,"image_url":"https://i.imgur.com/ZxZ382f.png","electoral_victory_message":"

    REAL PATRIOT DUMMY EXAMPLE SWEEPS

    ","electoral_loss_message":"

    Fake News?

    ","no_electoral_majority_message":"

    DUMMY EXAMPLE RETURNS TO HELL

    ","description_as_running_mate":null,"candidate_score":1,"running_mate":false,"scrollable":false}},{"model":"campaign_trail.candidate","pk":201,"fields":{"first_name":"Bernie","last_name":"Sanders","election":20,"party":"Democratic","state":"Vermont","priority":1,"description":"N/A","color_hex":"#5c9ee0","secondary_color_hex":null,"is_active":0,"image_url":"https://i.imgur.com/gHjr02p.png","electoral_victory_message":"

    REAL PATRIOT DUMMY EXAMPLE SWEEPS

    ","electoral_loss_message":"

    Fake News?

    ","no_electoral_majority_message":"

    DUMMY EXAMPLE RETURNS TO HELL

    ","description_as_running_mate":null,"candidate_score":1,"running_mate":false,"scrollable":false}},{"model":"campaign_trail.candidate","pk":1003,"fields":{"first_name":"Ted","last_name":"Cruz","election":20,"party":"Republican","state":"Texas","priority":1,"description":"Ted Cruz. You two made a deal, and that's why you're the Republican nominee. After Rubio dropped out, it was just you two together, united against Trump. Following your victory in New Hampshire, and the clearing of candidates like Rubio and Bush after their poor performances, you and Cruz were able to blunt Trump's momentum, and while he did better than either of you personally, together you were able to beat him.

    But Cruz's support came at a cost. In exchange for supporting you for the Presidential nomination, he expects your support as the Vice Presidential Nominee. If it is not forthcoming, he will be rather displeased. You may be able to mollify him with a position like Secretary of State, but it may still harm your cause.

    Texas is unlikely to be competitive, but Cruz showed in the primaries that he has appeal outside his home state. He's a strong pick, and most of your advisors think you'd be crazy to pick anyone else.","color_hex":"#0000ff","secondary_color_hex":null,"is_active":0,"image_url":"https://i.imgur.com/PXzlgy9.png","electoral_victory_message":"

    REAL PATRIOT DUMMY EXAMPLE SWEEPS

    ","electoral_loss_message":"

    Fake News?

    ","no_electoral_majority_message":"

    DUMMY EXAMPLE RETURNS TO HELL

    ","description_as_running_mate":"You and Cruz made a deal, that's why you're the Republican nominee. After Rubio dropped out, it was just you and him, united against Trump. Following your victory in New Hampshire, and the clearing of candidates like Rubio and Bush after their poor performances, you and Cruz were able to blunt Trump's momentum, and while he came before either of you personally, together you were able to beat him.

    But Cruz's support came at a cost. In exchange for supporting you for the Presidential nomination, he expects your support as the Vice Presidential Nominee. If it is not forthcoming, he will be rather displeased. You may be able to mollify him with a position like Secretary of State, however.

    Texas is unlikely to be a competitive state, but Cruz showed in the primaries that he has appeal outside his home state. He's a strong pick, and you don\'t have many other options - a Cruz defection would end your chances at the Presidency before the race even kicks off.","candidate_score":1,"running_mate":true,"scrollable":false,"partner":"0"}},{"model":"campaign_trail.candidate","pk":202,"fields":{"first_name":"Donald","last_name":"Trump","election":20,"party":"Independent","state":"Florida","priority":1,"description":"N/A","color_hex":"#eca713","secondary_color_hex":null,"is_active":0,"image_url":"https://cdn.discordapp.com/attachments/746493275929706569/1145860636077740164/trump_cropped.png","electoral_victory_message":"

    REAL PATRIOT DUMMY EXAMPLE SWEEPS

    ","electoral_loss_message":"

    Fake News?

    ","no_electoral_majority_message":"

    DUMMY EXAMPLE RETURNS TO HELL

    ","description_as_running_mate":null,"candidate_score":1,"running_mate":false,"scrollable":false}},{"model":"campaign_trail.candidate","pk":203,"fields":{"first_name":"","last_name":"Other Parties","election":20,"party":"Libertarian/Green","state":"Various","priority":1,"description":"Johnson and Stein and the like","color_hex":"#d616e3","secondary_color_hex":null,"is_active":0,"image_url":"../static/images/barack-obama-2012.jpg","electoral_victory_message":"

    REAL PATRIOT DUMMY EXAMPLE SWEEPS

    ","electoral_loss_message":"

    Fake News?

    ","no_electoral_majority_message":"

    DUMMY EXAMPLE RETURNS TO HELL

    ","description_as_running_mate":null,"candidate_score":1,"running_mate":false,"scrollable":false}}];e.running_mate_json = [{"model":"campaign_trail.running_mate","pk":2001,"fields":{"candidate":200,"running_mate":1003}}]; var changeGameDisp = (hide) => { disp = ""; if (hide) { disp = "none"; } document.getElementsByClassName("inner_window_w_desc")[0].style.display = disp }; e.creditsPage = () => { credits_html = `

    SPECIAL THANKS TO:

    Nina

    CREDIT TO:

    2000N and 2021DE and 2008SB and 2016Gary

    2000N for the soundtrack system and the credits button and inspiration

    2021DE for a lot of the CYOA, especially the Trump dynamic stuff, and other stuff too

    2016 Gary Johnson for the polling stuff and 1956 Red for the credits stuff, which is super awesome!!!

    2008 Spongebob because I stole this Credits page from there. Also generally because the creators are cool people!

    CODING:

    Max

    WRITING:

    Max

    BANNER AND START IMAGE

    count_nathan

    PLAYTESTING

    Kostas

    CatBoxXD

    count_nathan

    MassachussetsForStockdale

    Padreppio

    Shae the Udmurt

    HELP OF VARIOUS SORTS

    Nina

    Justanormalguyok

    BasedTejano

    MortifiedNassau

    Dechinburg

    MassachussetsForStockdale

    Killeritch

    Diamondy

    A BUNCH OF THE PORTRAITS

    Answerisme

    MUSIC SELECTION:

    Fmr. Governor John Kasich and his campaign, with curation by Max

    NOTE FROM THE CREATOR:

    Hi, I\'m Max! I hope you enjoy this mod! My goal here was to create a mod with fun and varied gameplay using an interesting and reasonably plausible scenario which deviated from what was the norm at the time I started it, big narrative heavy stuff. That type of mod is fun, but personally I\'m a big sucker for these very gameplay oriented mods - so I made my own. It's got pretty fun gameplay, a decent bit of CYOA, and a whole bunch of endings. I hope you enjoy, feel free to message me on discord (max_6711) with thoughts or feedback or whatever. Also, I am currently working on the Trump side, and I will probably make the 2020 sequel to this at some point. But I am fairly unlikely to ever make the Bernie side, just because it\'s too similar to the multiple other Bernie mods out there. I don\'t think I could ever do it better than 2016 4way redux, for instance. - Max

    ` changeGameDisp(true); var spacer = document.createElement("sisar_gorcia_will_travel_back_in_time_and_win_the_2020_mod_just_you_wait"); spacer.innerHTML = "      "; document .getElementsByClassName("inner_window_w_desc")[0] .children[1].appendChild(spacer); changeGameDisp(true); var menuHeader = document.createElement("div"); menuHeader.classList.add("inner_window_front"); menuHeader.innerHTML = `

    CREDITS

    `; menuHeader.id = "SOTUheader"; menuHeader.style = "height: 50px;background-color:#5F2126"; var newMenu = document.createElement("div"); newMenu.classList.add("inner_window_front"); newMenu.id = "SOTUmenu"; newMenu.style = `height:260px;background-color:#2d2d2d;color:white;overflow-y: scroll;`; newMenu.innerHTML = credits_html; let z = document.getElementById("game_window"); var backButton = document.createElement("button"); backButton.style = "position: relative; bottom: -13px; left: -380px; width: 150px; height: 80px;font-size:40px;padding-top:5px;padding-left:8px"; backButton.id = "backSOTUBtn"; backButton.innerHTML = `BACK`; backButton.onclick = function () { document.getElementById("SOTUheader").remove(); document.getElementById("SOTUmenu").remove(); document.getElementById("backSOTUBtn").remove(); changeGameDisp(false); }; z.appendChild(menuHeader); z.appendChild(newMenu); z.appendChild(backButton); } e.credits = "" quotes = [ "\"If I am President, I am going to, once and for all, reunite Pink Floyd.\" - John Kasich", "\"This business of compassionate conservatism, I wish I'd thought it up\" - John Kasich", "\"If you’re not on the bus, we’ll run over you with the bus. And I’m not kidding.\" - John Kasich", "\"I just went to a wedding of a friend of mine who happens to be gay.\" - John Kasich", "\"My own view on guns is, everything being equal, states should make those decisions.\” - Bernie Sanders", "\"Super PACs funded by billionaires buy elections.\" - Bernie Sanders", "\"The American people are tired of women.\" - Bernie Sanders", "\"The beauty of me is that I\'m very rich.\" - Donald Trump", "\"I fully understand why her former husband left her for a man- he made a good decision.\" - Donald Trump", "\"When Mexico sends its people, they\'re not sending the best.\" - Donald Trump" ] customquote = quotes[Math.floor((Math.random() * quotes.length))] corrr="\n

    NEW CAMPAIGN TRAIL

    " + customquote + "" $("#game_start").click((event) => { event.preventDefault(); musicMode() }) // MUSIC MODE musicMode = () => { // Initialise custom music $("#music_player")[0].children[0].style.display = "none" $("#music_player")[0].children[1].style.display = "none" document.getElementById("modLoadReveal").style.display = "none" document.getElementById("modloaddiv").style.display = "none" musicBox = document.getElementById("music_player") musicBox.style.display = "" var trackSel; e = campaignTrail_temp e.selectedSoundtrack = 0 toTime = (seconds) => { var date = new Date(null); date.setSeconds(seconds); return date.toISOString().substr(11, 8); } generateTime = () => { // Get the audio element var audio = document.getElementById("campaigntrailmusic"); timeTracker = document.createElement("div"); timeTracker.style = ` text-align:left; border-style:solid; border-width:3px; height:150px; width:200px; background-color:#999999; float:right; padding: 10px; ` $("#trackSelParent")[0].prepend(timeTracker); $("#trackSelParent")[0].prepend(document.createElement("br")); // Create a new element to display the current position of the audio var positionDisplay = document.createElement("gg"); positionDisplay.id = "position-display"; // Create a new slider element to change the time var timeSlider = document.createElement("input"); timeSlider.type = "range"; timeSlider.min = 0; timeSlider.max = 1; timeSlider.step = 0.001; timeSlider.value = 0; timeSlider.style.width = "200px"; timeSlider.id = "time-slider"; var pausePlay = document.createElement("button"); pausePlay.id = "position-display"; pausePlay.innerHTML = "Pause" pausePlay.style.width = "100%"; pausePlay.addEventListener("click", event => { event.preventDefault(); updatePositionDisplay(); let audio = document.getElementById("campaigntrailmusic"); if (audio.paused) { audio.play(); event.target.innerHTML = "Pause"; return; } audio.pause(); event.target.innerHTML = "Play"; return; }) var volumeLabel = document.createElement("gg"); volumeLabel.id = "volume-label"; volumeLabel.innerHTML = "
    Volume: " var volumeSlider = document.createElement("input"); volumeSlider.type = "range"; volumeSlider.min = 0; volumeSlider.max = 1; volumeSlider.step = 0.001; volumeSlider.value = 0; volumeSlider.style.width = "200px"; volumeSlider.id = "volume-slider"; volumeSlider.value = audio.volume; timeTracker.appendChild(pausePlay); timeTracker.appendChild(document.createElement("br")); timeTracker.appendChild(document.createElement("br")); timeTracker.appendChild(positionDisplay); timeTracker.appendChild(timeSlider); timeTracker.appendChild(volumeLabel); timeTracker.appendChild(volumeSlider); updatePositionDisplay(); //for (let i = 0; i < 10; i++) //timeTracker.append(document.createElement("br")); // Function to update the position display function updatePositionDisplay() { positionDisplay.innerHTML = "Time: " + toTime(audio.currentTime) + "
    "; timeSlider.value = audio.duration ? audio.currentTime / audio.duration : 0; } // Function to change the time of the audio function changeTime() { positionDisplay.innerHTML = "Time: " + toTime(audio.currentTime) + "
    "; audio.currentTime = timeSlider.value * audio.duration; } updateVolume = event => { audio.volume = event.target.value; } // Update the position display and slider every second setInterval(updatePositionDisplay, 1000); // Listen for changes to the time slider and change the time of the audio timeSlider.addEventListener("input", changeTime); volumeSlider.addEventListener("input", updateVolume) } function newMusicPlayer() { trackSel = document.createElement("div"); trackSel.id = "trackSelParent" let z = `









    ` z += `

    ` //
    for (i in soundtracks[e.selectedSoundtrack].tracklist) { let a = soundtracks[e.selectedSoundtrack].tracklist[i] let b = `
    ` z += b } z += "


    " trackSel.innerHTML = z // select correct song musicBox.appendChild(trackSel); Array.from(document.getElementById("trackSel").children).filter(f => { return f.tagName == "LABEL" }).map(f => f.children[0])[0].checked = true // set soundtrack changer soundtrackSelector = document.getElementById("selectSoundtrack") soundtrackSelector.onchange = function() { for (i in soundtracks) { if (soundtracks[i].name == soundtrackSelector.value) { e.selectedSoundtrack = i break } } document.getElementById("trackSelParent").remove() newMusicPlayer() } var matches = document.querySelectorAll('.trackSelector'); for (match in matches) { matches[match].onchange = function() { audio = $("#campaigntrailmusic")[0]; audio.src = soundtracks[e.selectedSoundtrack].tracklist[this.value].url audio.currentTime = 0 } } musicBox.children[2].loop = false musicBox.children[2].src = soundtracks[e.selectedSoundtrack].tracklist[0].url musicBox.children[2].onended = function() { console.log("next track") let selected = Number(document.querySelector('input[name="trackSelector"]:checked').value); let newSel = clamp(selected + 1, soundtracks[e.selectedSoundtrack].tracklist.length - 1, 0) let buttons = Array.from(document.getElementById("trackSel").children).filter(f => { return f.tagName == "LABEL" }).map(f => f.children[0]) //let selectedIndex = buttons.map(f=>f.children[0]).map(f=>f.checked) buttons[newSel].click() } for (w = 0; w < 7; w++) { document.getElementById("trackSelParent").appendChild(document.createElement("br")) } generateTime(); } clamp = function(a, max, min, overflow = true) { if (overflow) { return a > max ? min : a < min ? max : a; } return a > max ? max : a < min ? min : a; } // Track list var soundtracks = { 0: { name: "Kasich\'s Pop/Rock", tracklist: [ { "name": "Seven Nation Army - The White Stripes", "url": "https://audio.jukehost.co.uk/aSD4PBguAtxA2vx3cqTVBh7LBoRQ9NxC" }, { "name": "Pompeii - Bastille", "url": "https://audio.jukehost.co.uk/6hsJ8HzqQh43FtbSUNqDvSWmJjZ7yeDb" }, { "name": "Beautiful Day - U2", "url": "https://audio.jukehost.co.uk/0Tzbk8LTMiKHpmA6pZ6CjNtrAQxJEJF1" }, { "name": "This Town - O.A.R.", "url": "https://audio.jukehost.co.uk/4m3I3nAAwZjkISfSCRknblhIbSC9XHiL" }, { "name": "Thunderstruck - AC/DC", "url": "https://audio.jukehost.co.uk/7Vza3hN4Ql3a8QMKt23051iltTTM0Awf" }, { "name": "Money - Pink Floyd", "url": "https://audio.jukehost.co.uk/6S3nA7yRbbpKNKE6EAtLsSxVhg90WfMD" } ] } } // Set up new music player if (!hasMusic) { newMusicPlayer() hasMusic = true; } }