Fixed a bug with large numbers and chain calculations (Thanks to an anonymous wikia user)
This commit is contained in:
@@ -22,6 +22,14 @@ CM.Sim = {};
|
|||||||
* Cache *
|
* Cache *
|
||||||
*********/
|
*********/
|
||||||
|
|
||||||
|
CM.Cache.NextNumber = function(base) {
|
||||||
|
var count = base > Math.pow(2, 53) ? Math.pow(2, Math.floor(Math.log(base) / Math.log(2)) - 53) : 1;
|
||||||
|
while (base == base + count) {
|
||||||
|
count = CM.Cache.NextNumber(count);
|
||||||
|
}
|
||||||
|
return (base + count);
|
||||||
|
}
|
||||||
|
|
||||||
CM.Cache.RemakeIncome = function() {
|
CM.Cache.RemakeIncome = function() {
|
||||||
// Simulate Building Buys for 1 amount
|
// Simulate Building Buys for 1 amount
|
||||||
CM.Sim.BuyBuildings(1, 'Objects');
|
CM.Sim.BuyBuildings(1, 'Objects');
|
||||||
@@ -139,11 +147,7 @@ CM.Cache.RemakeChain = function() {
|
|||||||
CM.Cache.Chain = 0;
|
CM.Cache.Chain = 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
count = base > Math.pow(2, 53) ? Math.pow(2, Math.floor(Math.log(base) / Math.log(2)) - 53) : 1;
|
CM.Cache.Chain = CM.Cache.NextNumber(base) / 0.25;
|
||||||
while (base == base + count) {
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
CM.Cache.Chain = (base + count) / 0.25;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CM.Cache.ChainFrenzyReward = CM.Cache.MaxChainMoni(7, maxPayout * 7);
|
CM.Cache.ChainFrenzyReward = CM.Cache.MaxChainMoni(7, maxPayout * 7);
|
||||||
@@ -160,11 +164,7 @@ CM.Cache.RemakeChain = function() {
|
|||||||
CM.Cache.ChainFrenzy = 0;
|
CM.Cache.ChainFrenzy = 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
count = base > Math.pow(2, 53) ? Math.pow(2, Math.floor(Math.log(base) / Math.log(2)) - 53) : 1;
|
CM.Cache.ChainFrenzy = CM.Cache.NextNumber(base) / 0.25;
|
||||||
while(base == base + count) {
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
CM.Cache.ChainFrenzy = (base + count) / 0.25;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2086,7 +2086,7 @@ CM.VersionMinor = '14';
|
|||||||
* Sim *
|
* Sim *
|
||||||
*******/
|
*******/
|
||||||
|
|
||||||
CM.Sim.BuildingGetPrice = function (basePrice, start, increase) {
|
CM.Sim.BuildingGetPrice = function(basePrice, start, increase) {
|
||||||
var totalPrice = 0;
|
var totalPrice = 0;
|
||||||
var count = 0;
|
var count = 0;
|
||||||
while(count < increase) {
|
while(count < increase) {
|
||||||
|
|||||||
20
src/Cache.js
20
src/Cache.js
@@ -2,6 +2,14 @@
|
|||||||
* Cache *
|
* Cache *
|
||||||
*********/
|
*********/
|
||||||
|
|
||||||
|
CM.Cache.NextNumber = function(base) {
|
||||||
|
var count = base > Math.pow(2, 53) ? Math.pow(2, Math.floor(Math.log(base) / Math.log(2)) - 53) : 1;
|
||||||
|
while (base == base + count) {
|
||||||
|
count = CM.Cache.NextNumber(count);
|
||||||
|
}
|
||||||
|
return (base + count);
|
||||||
|
}
|
||||||
|
|
||||||
CM.Cache.RemakeIncome = function() {
|
CM.Cache.RemakeIncome = function() {
|
||||||
// Simulate Building Buys for 1 amount
|
// Simulate Building Buys for 1 amount
|
||||||
CM.Sim.BuyBuildings(1, 'Objects');
|
CM.Sim.BuyBuildings(1, 'Objects');
|
||||||
@@ -119,11 +127,7 @@ CM.Cache.RemakeChain = function() {
|
|||||||
CM.Cache.Chain = 0;
|
CM.Cache.Chain = 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
count = base > Math.pow(2, 53) ? Math.pow(2, Math.floor(Math.log(base) / Math.log(2)) - 53) : 1;
|
CM.Cache.Chain = CM.Cache.NextNumber(base) / 0.25;
|
||||||
while (base == base + count) {
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
CM.Cache.Chain = (base + count) / 0.25;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CM.Cache.ChainFrenzyReward = CM.Cache.MaxChainMoni(7, maxPayout * 7);
|
CM.Cache.ChainFrenzyReward = CM.Cache.MaxChainMoni(7, maxPayout * 7);
|
||||||
@@ -140,11 +144,7 @@ CM.Cache.RemakeChain = function() {
|
|||||||
CM.Cache.ChainFrenzy = 0;
|
CM.Cache.ChainFrenzy = 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
count = base > Math.pow(2, 53) ? Math.pow(2, Math.floor(Math.log(base) / Math.log(2)) - 53) : 1;
|
CM.Cache.ChainFrenzy = CM.Cache.NextNumber(base) / 0.25;
|
||||||
while(base == base + count) {
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
CM.Cache.ChainFrenzy = (base + count) / 0.25;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* Sim *
|
* Sim *
|
||||||
*******/
|
*******/
|
||||||
|
|
||||||
CM.Sim.BuildingGetPrice = function (basePrice, start, increase) {
|
CM.Sim.BuildingGetPrice = function(basePrice, start, increase) {
|
||||||
var totalPrice = 0;
|
var totalPrice = 0;
|
||||||
var count = 0;
|
var count = 0;
|
||||||
while(count < increase) {
|
while(count < increase) {
|
||||||
|
|||||||
Reference in New Issue
Block a user