diff --git a/CookieMonster.js b/CookieMonster.js
index ae420b7..104836e 100644
--- a/CookieMonster.js
+++ b/CookieMonster.js
@@ -849,39 +849,6 @@ CM.Data.ValCookies = ['Pure heart biscuits', 'Ardent heart biscuits', 'Sour hear
* TODO: Annotate most functions
* TODO: Sort functionsn in relevant (new) sections or files */
-CM.Disp.GetTimeColor = function(price, bank, cps, time) {
- var color;
- var text;
- if (bank >= price) {
- color = CM.Disp.colorGreen;
- if (CM.Config.TimeFormat) {
- text = '00:00:00:00:00';
- }
- else {
- text = 'Done!';
- }
- }
- else {
- if (typeof time !== 'undefined') {
- var time = time;
- }
- else {
- var time = (price - bank) / cps;
- }
- text = CM.Disp.FormatTime(time);
- if (time > 300) {
- color = CM.Disp.colorRed;
- }
- else if (time > 60) {
- color = CM.Disp.colorOrange;
- }
- else {
- color = CM.Disp.colorYellow;
- }
- }
- return {text: text, color: color};
-}
-
/**
* This function returns Name and Color as object for sugar lump type that is given as input param.
* @param type Sugar Lump Type.
@@ -1181,6 +1148,20 @@ CM.Disp.FormatTime = function(time, longFormat) {
return str;
}
+/**
+ * This function returns returns the color to be used for time-strings
+ * @param {number} time Time to be coloured
+ * @returns {{string, string}} {text, color} Both the formatted time and color as strings in an array
+ */
+CM.Disp.GetTimeColor = function(time) {
+ var color;
+ var text = CM.Disp.FormatTime(time);
+ if (time > 300) color = CM.Disp.colorRed;
+ else if (time > 60) color = CM.Disp.colorOrange;
+ else color = CM.Disp.colorYellow;
+ return {text: text, color: color};
+}
+
/**
* This function returns formats number based on the Scale setting
* @param {number} num Number to be beautified
@@ -1347,7 +1328,7 @@ CM.Disp.UpdateBotBar = function() {
CM.Disp.BotBar.firstChild.firstChild.childNodes[1].childNodes[count].textContent = Beautify(CM.Cache[target][i].bonus, 2);
CM.Disp.BotBar.firstChild.firstChild.childNodes[2].childNodes[count].className = CM.Disp.colorTextPre + CM.Cache[target][i].color;
CM.Disp.BotBar.firstChild.firstChild.childNodes[2].childNodes[count].textContent = Beautify(CM.Cache[target][i].pp, 2);
- var timeColor = CM.Disp.GetTimeColor(Game.Objects[i].bulkPrice, (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS());
+ var timeColor = CM.Disp.GetTimeColor((Game.Objects[i].bulkPrice - (Game.cookies + CM.Disp.GetWrinkConfigBank())) / CM.Disp.GetCPS());
CM.Disp.BotBar.firstChild.firstChild.childNodes[3].childNodes[count].className = CM.Disp.colorTextPre + timeColor.color;
CM.Disp.BotBar.firstChild.firstChild.childNodes[3].childNodes[count].textContent = timeColor.text;
}
@@ -2311,7 +2292,7 @@ CM.Disp.Tooltip = function(type, name) {
if (amortizeAmount > 0) {
l('tooltip').innerHTML = l('tooltip').innerHTML
.split('so far')
- .join('so far
• ' + Beautify(amortizeAmount) + ' ' + (Math.floor(amortizeAmount) == 1 ? 'cookie' : 'cookies') + ' left to amortize (' + CM.Disp.GetTimeColor(buildPrice, Game.Objects[name].totalCookies, (Game.Objects[name].storedTotalCps * Game.globalCpsMult)).text + ')');
+ .join('so far
• ' + Beautify(amortizeAmount) + ' ' + (Math.floor(amortizeAmount) == 1 ? 'cookie' : 'cookies') + ' left to amortize (' + CM.Disp.GetTimeColor((buildPrice - Game.Objects[name].totalCookies) / (Game.Objects[name].storedTotalCps * Game.globalCpsMult)).text + ')');
}
}
if (Game.buyMode == 1) {
@@ -2475,7 +2456,7 @@ CM.Disp.UpdateTooltip = function() {
l('CMTooltipIncome').textContent += ' (' + (increase / 100) + '% of income)';
}
- var timeColor = CM.Disp.GetTimeColor(price, (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS());
+ var timeColor = CM.Disp.GetTimeColor((price - (Game.cookies + CM.Disp.GetWrinkConfigBank())) / CM.Disp.GetCPS());
l('CMTooltipTime').textContent = timeColor.text;
l('CMTooltipTime').className = CM.Disp.colorTextPre + timeColor.color;
}
@@ -2609,7 +2590,7 @@ CM.Disp.UpdateTooltip = function() {
var time = document.createElement('div');
time.id = 'CMTooltipTime';
tooltip.appendChild(time);
- var timeColor = CM.Disp.GetTimeColor(spellCost, minigame.magic, undefined, CM.Disp.CalculateGrimoireRefillTime(minigame.magic, minigame.magicM, spellCost));
+ var timeColor = CM.Disp.GetTimeColor(CM.Disp.CalculateGrimoireRefillTime(minigame.magic, minigame.magicM, spellCost));
time.textContent = timeColor.text;
time.className = CM.Disp.colorTextPre + timeColor.color;
@@ -2618,7 +2599,7 @@ CM.Disp.UpdateTooltip = function() {
var recover = document.createElement('div');
recover.id = 'CMTooltipRecover';
tooltip.appendChild(recover);
- var recoverColor = CM.Disp.GetTimeColor(minigame.magic, Math.max(0, minigame.magic - spellCost), undefined, CM.Disp.CalculateGrimoireRefillTime(Math.max(0, minigame.magic - spellCost), minigame.magicM, minigame.magic));
+ var recoverColor = CM.Disp.GetTimeColor(CM.Disp.CalculateGrimoireRefillTime(Math.max(0, minigame.magic - spellCost), minigame.magicM, minigame.magic));
recover.textContent = recoverColor.text;
recover.className = CM.Disp.colorTextPre + recoverColor.color;
}
diff --git a/src/Disp.js b/src/Disp.js
index 34d4ca2..bd414f9 100644
--- a/src/Disp.js
+++ b/src/Disp.js
@@ -7,39 +7,6 @@
* TODO: Annotate most functions
* TODO: Sort functionsn in relevant (new) sections or files */
-CM.Disp.GetTimeColor = function(price, bank, cps, time) {
- var color;
- var text;
- if (bank >= price) {
- color = CM.Disp.colorGreen;
- if (CM.Config.TimeFormat) {
- text = '00:00:00:00:00';
- }
- else {
- text = 'Done!';
- }
- }
- else {
- if (typeof time !== 'undefined') {
- var time = time;
- }
- else {
- var time = (price - bank) / cps;
- }
- text = CM.Disp.FormatTime(time);
- if (time > 300) {
- color = CM.Disp.colorRed;
- }
- else if (time > 60) {
- color = CM.Disp.colorOrange;
- }
- else {
- color = CM.Disp.colorYellow;
- }
- }
- return {text: text, color: color};
-}
-
/**
* This function returns Name and Color as object for sugar lump type that is given as input param.
* @param type Sugar Lump Type.
@@ -339,6 +306,20 @@ CM.Disp.FormatTime = function(time, longFormat) {
return str;
}
+/**
+ * This function returns returns the color to be used for time-strings
+ * @param {number} time Time to be coloured
+ * @returns {{string, string}} {text, color} Both the formatted time and color as strings in an array
+ */
+CM.Disp.GetTimeColor = function(time) {
+ var color;
+ var text = CM.Disp.FormatTime(time);
+ if (time > 300) color = CM.Disp.colorRed;
+ else if (time > 60) color = CM.Disp.colorOrange;
+ else color = CM.Disp.colorYellow;
+ return {text: text, color: color};
+}
+
/**
* This function returns formats number based on the Scale setting
* @param {number} num Number to be beautified
@@ -505,7 +486,7 @@ CM.Disp.UpdateBotBar = function() {
CM.Disp.BotBar.firstChild.firstChild.childNodes[1].childNodes[count].textContent = Beautify(CM.Cache[target][i].bonus, 2);
CM.Disp.BotBar.firstChild.firstChild.childNodes[2].childNodes[count].className = CM.Disp.colorTextPre + CM.Cache[target][i].color;
CM.Disp.BotBar.firstChild.firstChild.childNodes[2].childNodes[count].textContent = Beautify(CM.Cache[target][i].pp, 2);
- var timeColor = CM.Disp.GetTimeColor(Game.Objects[i].bulkPrice, (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS());
+ var timeColor = CM.Disp.GetTimeColor((Game.Objects[i].bulkPrice - (Game.cookies + CM.Disp.GetWrinkConfigBank())) / CM.Disp.GetCPS());
CM.Disp.BotBar.firstChild.firstChild.childNodes[3].childNodes[count].className = CM.Disp.colorTextPre + timeColor.color;
CM.Disp.BotBar.firstChild.firstChild.childNodes[3].childNodes[count].textContent = timeColor.text;
}
@@ -1469,7 +1450,7 @@ CM.Disp.Tooltip = function(type, name) {
if (amortizeAmount > 0) {
l('tooltip').innerHTML = l('tooltip').innerHTML
.split('so far')
- .join('so far
• ' + Beautify(amortizeAmount) + ' ' + (Math.floor(amortizeAmount) == 1 ? 'cookie' : 'cookies') + ' left to amortize (' + CM.Disp.GetTimeColor(buildPrice, Game.Objects[name].totalCookies, (Game.Objects[name].storedTotalCps * Game.globalCpsMult)).text + ')');
+ .join('so far
• ' + Beautify(amortizeAmount) + ' ' + (Math.floor(amortizeAmount) == 1 ? 'cookie' : 'cookies') + ' left to amortize (' + CM.Disp.GetTimeColor((buildPrice - Game.Objects[name].totalCookies) / (Game.Objects[name].storedTotalCps * Game.globalCpsMult)).text + ')');
}
}
if (Game.buyMode == 1) {
@@ -1633,7 +1614,7 @@ CM.Disp.UpdateTooltip = function() {
l('CMTooltipIncome').textContent += ' (' + (increase / 100) + '% of income)';
}
- var timeColor = CM.Disp.GetTimeColor(price, (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS());
+ var timeColor = CM.Disp.GetTimeColor((price - (Game.cookies + CM.Disp.GetWrinkConfigBank())) / CM.Disp.GetCPS());
l('CMTooltipTime').textContent = timeColor.text;
l('CMTooltipTime').className = CM.Disp.colorTextPre + timeColor.color;
}
@@ -1767,7 +1748,7 @@ CM.Disp.UpdateTooltip = function() {
var time = document.createElement('div');
time.id = 'CMTooltipTime';
tooltip.appendChild(time);
- var timeColor = CM.Disp.GetTimeColor(spellCost, minigame.magic, undefined, CM.Disp.CalculateGrimoireRefillTime(minigame.magic, minigame.magicM, spellCost));
+ var timeColor = CM.Disp.GetTimeColor(CM.Disp.CalculateGrimoireRefillTime(minigame.magic, minigame.magicM, spellCost));
time.textContent = timeColor.text;
time.className = CM.Disp.colorTextPre + timeColor.color;
@@ -1776,7 +1757,7 @@ CM.Disp.UpdateTooltip = function() {
var recover = document.createElement('div');
recover.id = 'CMTooltipRecover';
tooltip.appendChild(recover);
- var recoverColor = CM.Disp.GetTimeColor(minigame.magic, Math.max(0, minigame.magic - spellCost), undefined, CM.Disp.CalculateGrimoireRefillTime(Math.max(0, minigame.magic - spellCost), minigame.magicM, minigame.magic));
+ var recoverColor = CM.Disp.GetTimeColor(CM.Disp.CalculateGrimoireRefillTime(Math.max(0, minigame.magic - spellCost), minigame.magicM, minigame.magic));
recover.textContent = recoverColor.text;
recover.className = CM.Disp.colorTextPre + recoverColor.color;
}