if(document.getElementById("position-display")==null) { RecReading=true campaignTrail_temp.election_json = JSON.parse("[{\"model\": \"campaign_trail.election\", \"pk\": 9, \"fields\": {\"year\": 2000, \"summary\": \"

As Obama's second term wraps up, a fight for the future of the Democratic Party has begun. Hillary Clinton – who once appeared as the President’s uncontested successor - must now face off against Vermont Senator Bernie Sanders in the long primary process.

With Vice President Joe Biden out of the running, it appears that this race will mostly be a one-on-one fight between the two wings of the Democratic Party - the progressive, Left-wing flank, against the establishment, liberal flank.

\", \"image_url\": \"https://itsastronomical.com/assets/2016DNC/2016DNC.png\", \"winning_electoral_vote_number\": 2382, \"advisor_url\": \"https://itsastronomical.com/assets/2016DNC/advisor.png\", \"recommended_reading\": \"

2016 Democratic Primaries

by ItsAstronomical, with some help from those listed in the Credits.

Continuing the Game

If you won as Clinton, play 2016 (Dan Bryan) right after this! If you won as Sanders, I would advise you to play VK/yeah's 2016 Sanders mod. It's a lot of fun and shows the difference he would've made in the race. If you won as O'Malley, play the 'Sequel to 2016 Democratic Primaries'.

Books

I recommend both Clinton and Sanders' books on the topic. Our Revolution and What Happened (to a lesser extent) get more in depth into the primaries themselves, but first-hand perspective is always valuable - especially at understanding the strategies of the campaigns. Of course, it's always important to get outsider perspective as well.

Bernie Sanders - Where We Go From Here: Two Years In The Resistance
Bernie Sanders - Our Revolution
Hillary Clinton - What Happened

News Sources

I can't list them all here, but coverage of the primaries, such as news from the time such as Sanders' Daily News incident really helped. Lots of The New York Times, Politico, and NBC were used while researching. On the ground coverage is really valuable, if you can find any. Of course, it's more difficult for older elections.

Debate Footage

Third Democratic Primary Debate - ABC News, 12/19/2015
NBC News - YouTube Democratic Debate

Again, even if I was unable to list it all here, debate footage can be really valuable. You get to see the campaigns' strategies face off head-to-head, and you can see examples, such as Clinton attempting to flank Sanders from the left on issues such as Gun Control. It also makes for decent background audio when coding or writing.

Election Results, Polling Data

2016 Presidential Democratic Primary Election Results - US Elections Atlas
The New York Times - 2016 Presidential Primaries Results

US Elections Atlas also had lots of polling data, and its clear that the polls were off in a lot of Midwestern states in the primaries, perhaps a sign of things to come? It's not always easy to incorporate large polling errors into mods, but I tried my best here, and I think it turned out pretty good.

Music

All credits to music are placed within the soundtrack. I don't claim the rights to any songs listed here except of course, Kinetosis, the awesome band I am a part of. Here's the link to our Bandcamp. Stay tuned for Harold Goes To College, our first album.

Special Thanks

I have to thank the writers - Spar-kie, RouteVenus, and FuecocoIsHere. I did a lot more writing than usual but I had received a lot of very useful and cool ideas (Stuff such as Sanders' use of CYOA, and Clinton being able to choose when to start her campaign were Sparkie and RouteVenus' ideas). Greeleycrat and Obummer were also very helpful playtesters who helped me squash a lot of grammatical and coding errors. Thank you to DecstarG and CatBoxXD for helping with the technical stuff too. Oh, and of course...

...thank you for playing!

- Astronomical



What are you doing here?! Go play the mod again!

\", \"site_image\": \"https://itsastronomical.com/assets/2016DNC/advisor.png\", \"site_description\": \"

As Obama's second term wraps up, a fight for the future of the Democratic Party has begun. Play as Clinton, Sanders, or O'Malley, and try to secure the nomination - and the future of the Democratic Party.

\", \"has_visits\": 1, \"no_electoral_majority_image\": \"https://itsastronomical.com/assets/2016DNC/deadlock.png\"}}]"); campaignTrail_temp.candidate_json = JSON.parse("[{\"model\": \"campaign_trail.candidate\", \"pk\": 77, \"fields\": {\"first_name\": \"Hillary\", \"last_name\": \"Clinton\", \"election\": 9, \"party\": \"Democratic\", \"state\": \"New York\", \"priority\": 2, \"description\": \"

This should NOT be happening.

With Biden out of the race, Clinton was all but expected to coast to the nomination with token opposition. Bernie Sanders had different plans. While Clinton is still the front-runner, she must prepare for the long primary campaign that is to take place, though this task will be easier with party leadership leaning towards her.

Hillary Clinton, former First Lady, US Senator, and Secretary of State - in that order, has been a barrier breaking politican for decades now. These credidentials will prove to be not only her biggest asset, but also her biggest hurdle, as she must prove to those uneasy about her nomination that she is the best choice to win this fall - and ensure she does not alienate too much of those to the left of her.

\", \"color_hex\": \"#02419c\", \"secondary_color_hex\": \"#1C82AD\", \"is_active\": 1, \"image_url\": \"https://itsastronomical.com/assets/2016DNC/clinton.png\", \"electoral_victory_message\": \"

Congratulations! You have won the 2000 election.

Confounding the predictions of many experts, you were able to turn the tables on Al Gore, in spite of the economy and Clinton's popularity.

On the political front, you can push for tax cuts to spur the economy and return the budget surplus to the American people. You might also pursue education and immigration reform, individual Social Security accounts, and new laws to defend the family and the sanctity of life.

\", \"electoral_loss_message\": \"

Sorry! You have lost the 2000 election.

Perhaps it was always a long-shot, with the Democrats in such a commanding position after eight years of Bill Clinton. In any case, at least you are still the Governor of Texas.

Expect Al Gore to unleash a new round of government programs and environmental regulations. You are still youngish, however. If the election was close this time, perhaps you can run again in 2004, or work on behalf your brother Jeb.

\", \"no_electoral_majority_message\": \"

Wow! You have won in a squeaker.

No candidate achieved a majority of the electoral votes, marking the first time this has happened since 1824. Fortunately for you, the majority of U.S. states have Republican controlled congressional delegations, and they will cast their votes accordingly.

Given the incredibly close nature of the election, you will surely be expected to govern as a moderate, conciliatory President. Right??

\", \"description_as_running_mate\": \"''\", \"candidate_score\": 1.0}}, {\"model\": \"campaign_trail.candidate\", \"pk\": 78, \"fields\": {\"first_name\": \"Bernie\", \"last_name\": \"Sanders\", \"election\": 9, \"party\": \"Independent-Democratic\", \"state\": \"Vermont\", \"priority\": 1, \"description\": \"

Bernie Sanders is an incumbent Senator from Vermont, and has served in public service for many decades. A self-described democratic socialist, he has been seen as a leader for the liberal-to-progressive wing of the party, and made headlines by filibustering the extension of Bush's tax cuts. After considering a primary against Obama in 2012 - and with no other progressive in the race, Sanders has decided to throw his hat in the ring against Clinton, though he faces a tough road ahead of him.

Sanders must unite progressives and the more liberal wing of the Democratic Party, along with convincing less liberal Democrats that Clinton has too much baggage to win a general election. Sanders must also overcome funding issues, along with the leadership of the party - especially the superdelegates leaning towards Clinton.

\", \"color_hex\": \"#249e5d\", \"secondary_color_hex\": \"#39A388\", \"is_active\": 1, \"image_url\": \"https://itsastronomical.com/assets/2016DNC/sanders.png\", \"electoral_victory_message\": \"

Congratulations! You have won the 2000 election.

Though it was perhaps expected, you could have easily faltered at a number of points. Credit to you for pulling through.

On the political front, you can continue the Clinton legacy and strengthen Social Security for generations to come. Perhaps you can succeed on health care where Clinton came up short? Or maybe you can create a future of renewable energy for America. Just be wary of a (George or Jeb?) Bush challenge in 2004.

\", \"electoral_loss_message\": \"

Sorry! You have lost the 2000 election.

Surely the second-guessing will be intense, but if things were close you could probably run again in 2004.

It seems that with George W. Bush and a Republican majority, the United States can expect some conservative policy-making over the next four years. Hopefully Bush comes through on his promise to govern in a bipartisan, conciliatory manner. A lot should depend on the margin of his victory, and whether it was large or small.

\", \"no_electoral_majority_message\": \"

Sorry! You have lost in a squeaker.

No candidate achieved a majority of the electoral votes, for the first time since 1824. Unfortunately for you, a majority of states have Republican controlled congressional delegations.

It seems that with George W. Bush and a Republican majority, the United States can expect some conservative policy-making over the next four years. Hopefully Bush comes through on his promise to govern in a bipartisan, conciliatory manner.

\", \"description_as_running_mate\": \"''\", \"candidate_score\": 1.0}}, {\"model\": \"campaign_trail.candidate\", \"pk\": 79, \"fields\": {\"first_name\": \"Martin\", \"last_name\": \"O'Malley\", \"election\": 9, \"party\": \"Democratic\", \"state\": \"Maryland\", \"priority\": 3, \"description\": \"

Martin O'Malley is the former Governor of Maryland, and seen as a rising star in the Democratic Party. His main problem is that he is underfunded, and sits between the two main candidates in terms of policy. In addition, he struggles with name recognition outside of his home state of Maryland, which will make going up against two very well known candidates a tough challenge.

As he has potential, yet limited appeal with those leaning towards Clinton and Sanders, he must walk a fine line to appeal to both sides in order to deadlock the convention, denying the two a majority on the first ballot without his help. While it is unlikely he will be the nominee, perhaps he could become a running mate to Clinton, or earn a cabinet position in a Sanders Administration?

\", \"color_hex\": \"#702963\", \"secondary_color_hex\": \"#AA98A9\", \"is_active\": 1, \"image_url\": \"https://itsastronomical.com/assets/2016DNC/omalley.png\", \"electoral_victory_message\": \"

Congratulations! You have won the 2000 election.

This was definitely not supposed to happen. Good luck!

\", \"electoral_loss_message\": \"

As expected, you have lost the 2000 election.

The legacy of this campaign depends on a couple of factors. First of all, did you receive 5% of the popular vote? If so, congratulations! You will enable the Green Party to run a vigorous campaign in 2004 and present a true choice to the American people. Also, the Democrats were a little peeved that you \\\"stole\\\" votes from them in this election. Hopefully that doesn't lead to a backlash.

\", \"no_electoral_majority_message\": \"

Wow! No candidate received 270 electoral votes, but the House will elect George W. Bush as President.

Did you receive 5% of the popular vote? If so, congratulations! You will enable the Green Party to run a vigorous campaign in 2004 and present a true choice to the American people. Also, the Democrats were a little peeved that you \\\"stole\\\" votes from them in this election. Hopefully that doesn't lead to a backlash, especially since they will lose the vote in the House.

\", \"description_as_running_mate\": \"''\", \"candidate_score\": 1.0}}, {\"model\": \"campaign_trail.candidate\", \"pk\": 80, \"fields\": {\"first_name\": \"Jim\", \"last_name\": \"Webb/Uncommitted\", \"election\": 9, \"party\": \"Democratic\", \"state\": \"Virginia\", \"priority\": 4, \"description\": \"Jim Webb is a former Senator from Virginia, picking up a crucial seat from Republicans back in 2006. He is more moderate than Clinton, but perhaps this could help him stick out amongst the rest of the crowd.

But what are you doing? Snooping in my code?! Just kidding, I don't really care. I don't have much else to hide here, but thank you for digging around. Must mean you really care!

\", \"color_hex\": \"#FFFF00\", \"secondary_color_hex\": \"#FFFFC0\", \"is_active\": 0, \"image_url\": \"https://itsastronomical.com/assets/2016DNC/webb.png\", \"electoral_victory_message\": \"''\", \"electoral_loss_message\": \"''\", \"no_electoral_majority_message\": \"''\", \"description_as_running_mate\": \"''\", \"candidate_score\": 1.0}}, {\"model\": \"campaign_trail.candidate\", \"pk\": 81, \"fields\": {\"first_name\": \"John\", \"last_name\": \"Podesta\", \"election\": 9, \"party\": \"Democratic\", \"state\": \"Illinois\", \"priority\": 5, \"description\": \"''\", \"color_hex\": \"#FF0000\", \"secondary_color_hex\": \"#FFA0A0\", \"is_active\": 0, \"image_url\": \"https://itsastronomical.com/assets/2016DNC/podesta.png\", \"electoral_victory_message\": \"''\", \"electoral_loss_message\": \"''\", \"no_electoral_majority_message\": \"''\", \"description_as_running_mate\": \"

John Podesta is widely expected to be tapped as chair of the campaign. He has heavy ties to Clinton's husband, having been Bill’s final Chief of Staff - alongside his recent role as an advisor to President Obama. His heavy experience in the beltway will help Clinton further bolster support and confidence amongst party leaders, although given her primary opposition is Bernie Sanders, that isn't really saying much.

Podesta as a campaign chair may signal Clinton's desire to run a traditional campaign - which isn't a bad move, considering she start out in with a heavy lead. Clinton just has to make sure to not let Sanders get close to her, and just be smart with the way she communicate and coordinate with Podesta...

\", \"candidate_score\": 0.0}}, {\"model\": \"campaign_trail.candidate\", \"pk\": 85, \"fields\": {\"first_name\": \"Jeff\", \"last_name\": \"Weaver\", \"election\": 9, \"party\": \"Democratic\", \"state\": \"Virginia\", \"priority\": 9, \"description\": \"''\", \"color_hex\": \"#0000FF\", \"secondary_color_hex\": \"#90C0FF\", \"is_active\": 0, \"image_url\": \"https://itsastronomical.com/assets/2016DNC/weaver.png\", \"electoral_victory_message\": \"''\", \"electoral_loss_message\": \"''\", \"no_electoral_majority_message\": \"''\", \"description_as_running_mate\": \"

Jeff Weaver is a familar figure, one who has worked for Sanders' campaigns since the 1980s. A few years after his 2006 Senate race, he moved out of Vermont, down to Virginia to set up a comic book shop. But of course, this retirement was only temporary. Who else, when much of the beltway is betting on Clinton, could Sanders call upon to manage his campaign?

Weaver's biggest strengh is probably that he and Sanders have known and worked together for quite a long time - he knows exactly the kind of campaign Sanders will run, and what he wishes to focus on. His biggest – and perhaps his only – weakness is that he has not had national experience for a campaign, but there's a first time for everything, right?

\", \"candidate_score\": 0.0}}, {\"model\": \"campaign_trail.candidate\", \"pk\": 89, \"fields\": {\"first_name\": \"Bill\", \"last_name\": \"Hyers\", \"election\": 9, \"party\": \"Democratic\", \"state\": \"Pennsylvania\", \"priority\": 13, \"description\": \"''\", \"color_hex\": \"#00C100\", \"secondary_color_hex\": \"#A1FFA1\", \"is_active\": 0, \"image_url\": \"https://itsastronomical.com/assets/2016DNC/hyers.png\", \"electoral_victory_message\": \"''\", \"electoral_loss_message\": \"''\", \"no_electoral_majority_message\": \"''\", \"description_as_running_mate\": \"

Bill Hyers is a well-rounded hire for a chief strategist. He's worked on a variety of successful campaigns, such as Sen. Gillibrand's original 2006 House campaign, Philadelphia Mayor Michael Nutter's campaign - and of course, the high profile Bill de Blasio campaign for New York City mayor in 2013. This experience will likely help O'Malley get some organization going outside of his home state of Maryland - where he is likely to perform best.

His reputation of pulling off upsets is likely to be a benefit to O'Malley, but given how poorly he is polling, it is unlikely that he will be able to take much advantage of this anyway. Whether or not Hyers actually believes O'Malley can win is irrelevant - the most important thing is to just put up a respectable performance.

\", \"candidate_score\": 0.0}}, {\"model\": \"campaign_trail.candidate\", \"pk\": 90, \"fields\": {\"first_name\": \"Ezola\", \"last_name\": \"Foster\", \"election\": 9, \"party\": \"Reform\", \"state\": \"California\", \"priority\": 14, \"description\": \"''\", \"color_hex\": \"#FFFF00\", \"secondary_color_hex\": \"#FFFFC0\", \"is_active\": 0, \"image_url\": \"''\", \"electoral_victory_message\": \"''\", \"electoral_loss_message\": \"''\", \"no_electoral_majority_message\": \"''\", \"description_as_running_mate\": \"''\", \"candidate_score\": 0.0}}]"); campaignTrail_temp.running_mate_json = JSON.parse("[{\"model\": \"campaign_trail.running_mate\", \"pk\": 56, \"fields\": {\"candidate\": 79, \"running_mate\": 89}}, {\"model\": \"campaign_trail.running_mate\", \"pk\": 52, \"fields\": {\"candidate\": 78, \"running_mate\": 85}}, {\"model\": \"campaign_trail.running_mate\", \"pk\": 48, \"fields\": {\"candidate\": 77, \"running_mate\": 81}}]"); campaignTrail_temp.opponents_default_json = JSON.parse("[{\"election\": 21, \"candidates\": [302, 303, 301, 300]},{\"election\": 20, \"candidates\": [201, 202, 203, 200]},{\"election\": 16, \"candidates\": [167, 168, 166, 165]},{\"election\": 3, \"candidates\": [19, 18, 17, 16]},{\"election\": 9, \"candidates\": [77, 78, 79, 80]},{\"election\": 15, \"candidates\": [154, 155, 152, 153]},{\"election\": 10, \"candidates\": [93, 94, 91, 92]},{\"election\": 4, \"candidates\": [25, 24, 23]},{\"election\": 11, \"candidates\": [107, 105, 106]},{\"election\": 12, \"candidates\": [116, 118, 119, 117]},{\"election\": 14, \"candidates\": [143, 145, 144, 142]},{\"election\": 5, \"candidates\": [22, 20, 21]},{\"election\": 8, \"candidates\": [69, 70, 67, 68]},{\"election\": 13, \"candidates\": [133, 134, 132, 131]}]"); campaignTrail_temp.opponents_weighted_json = JSON.parse("[{\"election\": 21, \"candidates\": [300, 301, 302, 303]},{\"election\": 20, \"candidates\": [201, 200, 202, 203]},{\"election\": 16, \"candidates\": [165, 166, 167, 168]},{\"election\": 3, \"candidates\": [16, 17, 19, 36]},{\"election\": 9, \"candidates\": [78, 77, 79, 80]},{\"election\": 15, \"candidates\": [153, 152, 154, 155]},{\"election\": 10, \"candidates\": [91, 92, 93]},{\"election\": 4, \"candidates\": [24, 23, 25]},{\"election\": 11, \"candidates\": [105, 106, 107]},{\"election\": 12, \"candidates\": [116, 117, 118, 119]},{\"election\": 14, \"candidates\": [142, 143, 144, 145]},{\"election\": 5, \"candidates\": [21, 20, 22]},{\"election\": 8, \"candidates\": [68, 67, 69, 70]},{\"election\": 13, \"candidates\": [131, 134, 132, 133]}]"); campaignTrail_temp.global_parameter_json = JSON.parse("[{\"model\": \"campaign_trail.global_parameter\", \"pk\": 1, \"fields\": {\"vote_variable\": 1.125, \"max_swing\": 0.12, \"start_point\": 0.94, \"candidate_issue_weight\": 10.0, \"running_mate_issue_weight\": 3.0, \"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.01, \"state_variance\": 0.005, \"question_count\": 40, \"default_map_color_hex\": \"#C9C9C9\", \"no_state_map_color_hex\": \"#999999\"}}]"); campaignTrail_temp.candidate_dropout_json = JSON.parse("[{\"model\": \"campaign_trail.candidate_dropout\", \"pk\": 1, \"fields\": {\"candidate\": 36, \"affected_candidate\": 18, \"probability\": 1.0}}]"); campaignTrail_temp.temp_election_list = [{"id": 9, "year": 2000, "is_premium": 0, "display_year": "2016DNC"}]; campaignTrail_temp.show_premium = true; campaignTrail_temp.premier_ab_test_version = -1; campaignTrail_temp.show_premium = true; campaignTrail_temp.premier_ab_test_version = -1; document.getElementById("header").src = "https://itsastronomical.com/assets/2016DNC/banner_1.png" nct_stuff.themes[nct_stuff.selectedTheme].coloring_title = "#472183" nct_stuff.themes[nct_stuff.selectedTheme].coloring_window = "#747cd6" nct_stuff.themes[nct_stuff.selectedTheme].game_window = "#472183" $("#game_window")[0].style.backgroundImage = "url(https://itsastronomical.com/assets/2016DNC/bg.png)" document.getElementsByClassName("game_header")[0].style.backgroundColor = nct_stuff.themes[nct_stuff.selectedTheme].coloring_title $(".container")[0].style.backgroundColor = "#82C3EC" document.body.background = "https://itsastronomical.com/assets/2016DNC/overall_bg.png" HistHexcolour=["#02419c","#249e5d","#702963","#FFFF00"]; HistName=["Hillary Clinton","Bernie Sanders","Martin O'Malley","Uncommitted"]; HistEV=[2842,1865,0,0]; HistPV=["16,847,084","13,168,222","111,012","152,949"]; HistPVP=["55.2%","43.1%","0.3%","0.4%"]; campaignTrail_temp.modBoxTheme = { "header_color": "#512b81", "header_text_color": "#ffffff", "description_text_color": "#ffffff", "description_background_color": "#4477ce", "main_color": "#4477ce", "secondary_color": "#8cabff", "ui_text_color": "#FFFFFF" } campaignTrail_temp.achievements = { "I Will Survive" : { "image" : "https://itsastronomical.com/assets/2016DNC/ach/clinton.png", "description" : "As Clinton, achieve the 'I Will Survive' ending", "cannotBeCheated" : true }, "Maybe This Time It'll Work" : { "image" : "https://itsastronomical.com/assets/2016DNC/ach/bernie.png", "description" : "Mount a primary challenge against Obama, and then win the Democratic Nomination.", "cannotBeCheated" : true }, "The Marylander's Mission" : { "image" : "https://itsastronomical.com/assets/2016DNC/ach/martin.png", "description" : "As Martin O'Malley, deny both Clinton and Sanders a majority and deadlock the convention.", "cannotBeCheated" : true } } quotes = ["Feel The Bern!", "I'm With Her!", "'What? Like with a cloth or something?' - Hillary Clinton", "'This hasn't been equal time.' - Jim Webb", "'I live 50 miles away from Canada. It's not some kind of communist authoritarian country. They're doing OK.' - Bernie", "'I've lost more sleep than all of you put together!' - Hillary Clinton", "'People should not underestimate me' - Bernie Sanders", "'I have had no scandals.' - Lincoln Chafee", "'Recently, the CEO of Goldman Saches let his employees know that he'd be just fine with either Bush or Clinton. I bet he would.' - Martin O'Malley", "'I'm drawn to tough challenges, and this one is certainly a tough challenge.' - Martin O'Malley", "'Open borders? That's a right-wing proposal.' - Bernie Sanders", "'The American people are sick and tired of hearing about your damn emails!' - Bernie Sanders"] customquote = quotes[Math.floor((Math.random() * quotes.length))] corrr=`\n

CAMPAIGN TRAIL SHOWCASE

`+customquote+`` bannerlist=["https://itsastronomical.com/assets/2016DNC/banner_1.png", "https://itsastronomical.com/assets/2016DNC/banner_2.png", "https://itsastronomical.com/assets/2016DNC/banner_3.png", "https://itsastronomical.com/assets/2016DNC/banner_4.png"] document.getElementById("header").src = bannerlist[Math.floor((Math.random() * bannerlist.length))] function changechart(){ if (document.getElementById("running_mate_form")!=null) { overallthing=document.getElementById("running_mate_form").innerHTML; overallthing.toString() overallthing=overallthing.replace("Please select your running mate:","Please select your campaign chair:") document.getElementById("running_mate_form").innerHTML=overallthing } } window.setInterval(changechart,200) clearInterval(changechart); next0 = function() { text = "

" document.getElementById("election_summary").innerHTML = text } back0 = function() { text = "

As Obama's second term wraps up, a fight for the future of the Democratic Party has begun. Hillary Clinton – who once appeared as the President’s uncontested successor - must now face off against Vermont Senator Bernie Sanders in the long primary process.

With Vice President Joe Biden out of the running, it appears that this race will mostly be a one-on-one fight between the two wings of the Democratic Party - the progressive, Left-wing flank, against the establishment, liberal flank.

" document.getElementById("election_summary").innerHTML = text } e=campaignTrail_temp var changeGameDisp = (hide) => { disp = ""; if (hide) { disp = "none"; } document.getElementsByClassName("inner_window_w_desc")[0].style.display = disp }; e.creditsPage = () => { credits_html = `

Coding (and Main Writer)

ItsAstronomical

Writing/Advisors

Spar-kie

RouteVenus

fuecocoishere

Greeleycrat

yangtze_river

Other Technical Stuff

DecstarG- Credits, Music and Primary System, Backend Code, Playtesting

JetSimon - Bugfixes/Backend Stuff

CatBoxXD - Work on the Map

Thank you to the developers of 2025 Netherlands for letting me borrow some code to set proportional as default!

Playtesters/Additional Advisors

Most of the people listed above also playtested as well.

Obummer

yangtze_river

mangolith

Dr. Phil

April

GDIFIREHAWK

Ettingermentum

` changeGameDisp(true); var spacer = document.createElement("amongusspacerthisisntarealelement"); 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:#2d2d2d"; 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 = "" bannerArr=0 var changeBanner = () => { bannerArr+=1 document.getElementById("header").src=bannerlist[bannerArr % bannerlist.length] } document.getElementById("header").src=bannerlist[0] footer = $(".footer")[0] var button = document.createElement("button") // button.style = `font-weight: bold; height:19.49px; position: static; right: 770px; top: 0px;` button.innerHTML = "Change banner" footer.insertBefore(button, footer.firstChild); button.onclick = changeBanner; // Soundtrack // 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: "Intro", tracklist: [ { "name": "NBC Decision 2012-2016 Theme", "url": "https://itsastronomical.com/assets/2016DNC/music/decision.ogg" } ] }, 1: { name: "Clinton", tracklist: [ { "name": "Elton John - I'm Still Standing", "url": "https://itsastronomical.com/assets/2016DNC/music/stillstanding.ogg" }, { "name": "Bonnie Tyler - I Need A Hero", "url": "https://itsastronomical.com/assets/2016DNC/music/needahero.ogg" }, { "name": "Imagine Dragons - Believer", "url": "https://itsastronomical.com/assets/2016DNC/music/believer.ogg" }, { "name": "Kelly Clarkson - Stronger (What Doesnt Kill You)", "url": "https://itsastronomical.com/assets/2016DNC/music/whatdoesntkillyou.ogg" }, { "name": "Rachel Platten - Fight Song", "url": "https://itsastronomical.com/assets/2016DNC/music/fightsong.ogg" } ] }, 2: { name: "Sanders", tracklist: [ { "name": "Bernie Sanders - We Shall Overcome", "url": "https://itsastronomical.com/assets/2016DNC/music/weshallovercome.mp3" }, { "name": "Pete Seeger - Solidarity Forever", "url": "https://itsastronomical.com/assets/2016DNC/music/solidarityforever.ogg" }, { "name": "Woody Guthrie - This Land Is Your Land", "url": "https://itsastronomical.com/assets/2016DNC/music/thisland.ogg" }, { "name": "Pete Seeger - Which Side Are You On", "url": "https://itsastronomical.com/assets/2016DNC/music/whichsideareyouon.ogg" }, { "name": "Prince And The Revolution - Lets Go Crazy", "url": "https://itsastronomical.com/assets/2016DNC/music/princeletsgocrazy.mp3" } ] }, 3: { name: "O\Malley", tracklist: [ { "name": "O\Malley\s March - Selkies Lullaby", "url": "https://itsastronomical.com/assets/2016DNC/music/selkieslullaby.ogg" }, { "name": "O\Malley\s March - Murshin Durkin", "url": "https://itsastronomical.com/assets/2016DNC/music/murshindurkin.ogg" }, { "name": "Martin O\Malley - Iowa Waltz (Live)", "url": "https://itsastronomical.com/assets/2016DNC/music/iowawaltz.ogg" }, { "name": "O\Malley\s March - Down by the Glenside", "url": "https://itsastronomical.com/assets/2016DNC/music/downbytheglenside.ogg" }, { "name": "O\Malley\s March - Breastplate of St. Patrick", "url": "https://itsastronomical.com/assets/2016DNC/music/breatplateofstpatrick.ogg" } ] }, 4: { name: "Kinetosis", tracklist: [ { "name": "Kinetosis - The Beast Will Be Slain in the Delicatessen", "url": "https://itsastronomical.com/assets/2016DNC/music/thebeast.wav" }, { "name": "Kinetosis - I Hate Ted Cruz (G Funk Remix)", "url": "https://itsastronomical.com/assets/2016DNC/music/ihatetedcruz.wav" }, { "name": "Kinetosis - This Is An Artistic Choice", "url": "https://itsastronomical.com/assets/2016DNC/music/artistichoice.wav" }, { "name": "Kinetosis - Fall On Me", "url": "https://itsastronomical.com/assets/2016DNC/music/fallonme.wav" }, { "name": "Kinetosis - Trapped in the Hull", "url": "https://itsastronomical.com/assets/2016DNC/music/trappedinthehull.wav" }, { "name": "Kinetosis - Porkimus Minimus", "url": "https://itsastronomical.com/assets/2016DNC/music/porkimusminimus.wav" } ] } } // Set up new music player newMusicPlayer() function modifyForm() { try { const form = document.querySelector('form[name="game_type_selection"]'); const select = form.querySelector('select[name="game_type_id"]'); // change option value const option = select.querySelector('option[value="1"]'); option.textContent = 'Default (Proportional)'; // Remove second option select.querySelector('option[value="1"]').remove(); // change h3 text const h3 = form.querySelector('h3'); h3.textContent = 'How would you like the seats to be allocated?'; } catch {} } window.setInterval(modifyForm,200) function changeOpponentSelectionDescription() { try { const opponentSelectionDescription = document.getElementById("opponent_selection_description_window"); opponentSelectionDescription.innerHTML = `

Allocate each state's delegates proportionally.

Under this method, all candidates split the delegates in a state, in proportion to their popular vote %. There is still an advantage to winning a state -- the winner of the state will always receive a plurality of delegates. For instance, in a state with 4 delegates, if Candidate A wins 51% of the vote, they will be awarded 3 delegates.

Compared to a winner-take-all method, this method aligns the delegates more closely with the popular vote. It also makes it easier to smaller candidates to increase their delegates totals, since much of their support may be spread across the country, rather than localized within one state. In the Democratic Party primaries, they have all been proportional since modern primaries began to take shape - whereas the Republican Party maintains some winner-take-all races.

`; } catch {} } window.setInterval(changeOpponentSelectionDescription,200) }