Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unify statistics UI (again) #247

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 35 additions & 89 deletions autoPlay.user.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,6 @@

var showedUpdateInfo = getPreferenceBoolean("showedUpdateInfo", false);

var lane_info = {};

var UPGRADES = {
LIGHT_ARMOR: 0,
AUTO_FIRE_CANNON: 1,
Expand Down Expand Up @@ -269,12 +267,6 @@
};
document.querySelector(".game_options").insertBefore(egg, document.querySelector(".leave_game_btn"));

// Add "players in game" label
var titleActivity = document.querySelector('.title_activity');
var playersInGame = document.createElement('span');
playersInGame.innerHTML = '<span id=\"players_in_game\">0/1500</span>&nbsp;Players in room<br>';
titleActivity.insertBefore(playersInGame, titleActivity.firstChild);

// Fix alignment
var activity = document.getElementById("activitylog");
activity.style.marginTop = "33px";
Expand All @@ -301,8 +293,6 @@
options_box.style.marginLeft = "auto";
options_box.style.marginRight = "auto";

var info_box = options_box.cloneNode(true);

var options1 = document.createElement("div");
options1.style["-moz-column-count"] = 3;
options1.style["-webkit-column-count"] = 3;
Expand All @@ -329,21 +319,6 @@

options_box.appendChild(options1);

info_box.innerHTML = "<b>GAME INFO</b><br/>";
info_box.className = "info_box";
info_box.style.right = "0px";
lane_info = document.createElement("div");
lane_info.style["-moz-column-count"] = 3;
lane_info.style["-webkit-column-count"] = 3;
lane_info.style["column-count"] = 3;

lane_info.appendChild(document.createElement("div"));
lane_info.appendChild(document.createElement("div"));
lane_info.appendChild(document.createElement("div"));

info_box.appendChild(lane_info);
options_box.parentElement.appendChild(info_box);

var leave_game_box = document.querySelector(".leave_game_helper");
leave_game_box.parentElement.removeChild(leave_game_box);

Expand Down Expand Up @@ -373,25 +348,13 @@
w.g_Minigame.CurrentScene().TrySpendBadgePoints(w.$J("<a data-type='19' data-cost='1'></a>"), badgePoints % 100 );
}

function updateLaneData() {
var element_names = {1:":shelterwildfire:", 2:":waterrune:", 3:":Wisp:", 4:":FateTree:"};
for(var i = 0; i < 3; i++) {
var element = s().m_rgGameData.lanes[i].element;
var abilities = s().m_rgLaneData[i].abilities;
if(!abilities) {
abilities = {};
}
var enemies = [];
for (var j = 0; j < 4; j++) {
var enemy = s().GetEnemy(i, j);
if (enemy) {
enemies.push(enemy);
}
}
var players = s().m_rgLaneData[i].players;
var output = "Lane " + (i+1) + " - <img src=\"http://cdn.steamcommunity.com/economy/emoticon/" + element_names[element] + "\"><br>" + players + " players";
lane_info.children[i].innerHTML = output;
}
function updateStatisticsUI() {
var totalPlayers = 0;
w.$J.each(s().m_rgLaneData, function(i, lane) {
totalPlayers += lane.players;
w.$J('#lane' + i + '_player_count').text(lane.players + ' players');
});
w.$J('#players_in_game').text(totalPlayers + '/1500');
}

function fixActiveCapacityUI() {
Expand Down Expand Up @@ -455,7 +418,7 @@
wormHoleConstantUseOverride = (getRemainingTime()*3 < getItemCount(ABILITIES.WORMHOLE)) || (getRemainingTime()*3 < getItemCount(ABILITIES.LIKE_NEW));
wormHoleConstantUse = ((level % control.rainingRounds > 0) && (level % control.rainingRounds < 100 - control.rainingSafeRounds)) || wormHoleConstantUseOverride;

updateLaneData();
updateStatisticsUI();
attemptRespawn();

if (wormholeInterval) {
Expand Down Expand Up @@ -507,7 +470,6 @@
useReviveIfRelevant(level);
}

updatePlayersInGame();

if (level !== lastLevel) {
lastLevel = level;
Expand Down Expand Up @@ -979,13 +941,6 @@
s().m_rgClickNumbers.push(text);
}

function updatePlayersInGame() {
var totalPlayers = s().m_rgLaneData[0].players +
s().m_rgLaneData[1].players +
s().m_rgLaneData[2].players;
document.getElementById("players_in_game").innerHTML = totalPlayers + "/1500";
}

function goToRainingLane() {
// On a WH level, jump everyone to lane 0, unless there is a boss there, in which case jump to lane 1.
var targetLane = 0;
Expand Down Expand Up @@ -1557,9 +1512,6 @@
}
}, autoRefreshSecondsCheckLoadedDelay * 1000);

// Append gameid to breadcrumbs
var breadcrumbs = document.querySelector('.breadcrumbs');

function countdown(time) {
var hours = 0;
var minutes = 0;
Expand All @@ -1578,39 +1530,33 @@
return {hours : hours, minutes : minutes};
}

if (breadcrumbs) {
var element = document.createElement('span');
element.textContent = ' > ';
breadcrumbs.appendChild(element);

element = document.createElement('span');
element.style.color = '#D4E157';
element.style.textShadow = '1px 1px 0px rgba( 0, 0, 0, 0.3 )';
element.textContent = 'Room ' + w.g_GameID;
breadcrumbs.appendChild(element);

element = document.createElement('span');
element.textContent = ' > ';
breadcrumbs.appendChild(element);

element = document.createElement('span');
element.style.color = '#FFA07A';
element.style.textShadow = '1px 1px 0px rgba( 0, 0, 0, 0.3 )';
element.textContent = 'Level: 0, Expected Level: 0, Likely Level: 0';
breadcrumbs.appendChild(element);
document.ExpectedLevel = element;
function addBreadcrumb(id, text, css) {
if (css && !css.textShadow) {
css.textShadow = '1px 1px 0px rgba( 0, 0, 0, 0.3 )';
}
var $crumb = w.$J('<span class="breadcrumb"> &gt; </span>').append(w.$J('<span id="' + id + '"/>').text(text).css(css));
w.$J('.breadcrumbs').remove('.breadcrumb:has(#' + id + ')').append($crumb);
}

element = document.createElement('span');
element.textContent = ' > ';
breadcrumbs.appendChild(element);
w.$J(function OnDomReady() {
addBreadcrumb('crumb_game_id', 'Room ' + w.g_GameID, {
color: '#D4E157'
});
addBreadcrumb('crumb_level_predict', 'Level: 0, Expected Level: 0, Likely Level: 0', {
color: '#FFA07A'
});
addBreadcrumb('crumb_time_left', 'Remaining Time: 0 hours, 0 minutes', {
color: '#9AC0FF'
});

element = document.createElement('span');
element.style.color = '#9AC0FF';
element.style.textShadow = '1px 1px 0px rgba( 0, 0, 0, 0.3 )';
element.textContent = 'Remaining Time: 0 hours, 0 minutes.';
breadcrumbs.appendChild(element);
document.RemainingTime = element;
}
// More player counts
w.$J('#lane0,#lane1,#lane2').each(function(i) {
var $l = w.$J(this);
$l.remove('#lane' + i + '_player_count').find('.label').after(w.$J('<div id="lane' + i + '_player_count"/>').css({'font-size': '90%', 'white-space': 'nowrap'}));
});
w.$J('.title_activity:has(#players_in_game)').remove(); // cleanup a previous script
w.$J('.title_activity:has(#players_in_lane)').hide().before('<span class="title_activity"><span id="players_in_game">0/1500</span>&nbsp;Players in room</span>');
});

function updateLevelInfoTitle(level)
{
Expand All @@ -1624,8 +1570,8 @@

var rem_time = countdown(remaining_time);

document.ExpectedLevel.textContent = 'Level: ' + w.FormatNumberForDisplay(level, 5) + ', Expected Jump: ' + w.FormatNumberForDisplay(estimateJumps(), 5);
document.RemainingTime.textContent = 'Remaining Time: ' + rem_time.hours + ' hours, ' + rem_time.minutes + ' minutes.';
w.$J('#crumb_level_predict').text('Level: ' + w.FormatNumberForDisplay(level, 5) + ', Expected Jump: ' + w.FormatNumberForDisplay(estimateJumps()));
w.$J('#crumb_time_left').text('Remaining Time: ' + rem_time.hours + ' hours, ' + rem_time.minutes + ' minutes');
}

// Helpers to access player stats.
Expand Down