Fixed a bug with large numbers and chain calculations (Thanks to an anonymous wikia user)
This commit is contained in:
@@ -21,6 +21,14 @@ CM.Sim = {};
|
||||
/*********
|
||||
* 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() {
|
||||
// Simulate Building Buys for 1 amount
|
||||
@@ -139,11 +147,7 @@ CM.Cache.RemakeChain = function() {
|
||||
CM.Cache.Chain = 0;
|
||||
}
|
||||
else {
|
||||
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.Chain = (base + count) / 0.25;
|
||||
CM.Cache.Chain = CM.Cache.NextNumber(base) / 0.25;
|
||||
}
|
||||
|
||||
CM.Cache.ChainFrenzyReward = CM.Cache.MaxChainMoni(7, maxPayout * 7);
|
||||
@@ -160,11 +164,7 @@ CM.Cache.RemakeChain = function() {
|
||||
CM.Cache.ChainFrenzy = 0;
|
||||
}
|
||||
else {
|
||||
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.ChainFrenzy = (base + count) / 0.25;
|
||||
CM.Cache.ChainFrenzy = CM.Cache.NextNumber(base) / 0.25;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2086,7 +2086,7 @@ CM.VersionMinor = '14';
|
||||
* Sim *
|
||||
*******/
|
||||
|
||||
CM.Sim.BuildingGetPrice = function (basePrice, start, increase) {
|
||||
CM.Sim.BuildingGetPrice = function(basePrice, start, increase) {
|
||||
var totalPrice = 0;
|
||||
var count = 0;
|
||||
while(count < increase) {
|
||||
|
||||
Reference in New Issue
Block a user