Fix accidentally erasing data if a new building/upgrade/achievement is found.
This commit is contained in:
@@ -3645,13 +3645,17 @@ CM.Sim.getCPSBuffMult = function() {
|
|||||||
return mult;
|
return mult;
|
||||||
}
|
}
|
||||||
|
|
||||||
CM.Sim.InitData = function() {
|
/* Constructs an object with the static properties of a building,
|
||||||
// Buildings
|
* but with a 'cps' method changed to use 'CM.Sim.Has' instead of 'Game.Has'
|
||||||
CM.Sim.Objects = [];
|
* (and similar to 'hasAura', 'Objects', 'GetTieredCpsMult' and 'auraMult').
|
||||||
for (var i in Game.Objects) {
|
*
|
||||||
CM.Sim.Objects[i] = {};
|
* The dynamic properties of the building,
|
||||||
var me = Game.Objects[i];
|
* namely level and amount owned,
|
||||||
var you = CM.Sim.Objects[i];
|
* are set by CM.Sim.CopyData.
|
||||||
|
*/
|
||||||
|
CM.Sim.InitialBuildingData = function(buildingName) {
|
||||||
|
var me = Game.Objects[buildingName];
|
||||||
|
var you = {};
|
||||||
eval('you.cps = ' + me.cps.toString()
|
eval('you.cps = ' + me.cps.toString()
|
||||||
.split('Game.Has').join('CM.Sim.Has')
|
.split('Game.Has').join('CM.Sim.Has')
|
||||||
.split('Game.hasAura').join('CM.Sim.hasAura')
|
.split('Game.hasAura').join('CM.Sim.hasAura')
|
||||||
@@ -3662,18 +3666,42 @@ CM.Sim.InitData = function() {
|
|||||||
// Below is needed for above eval!
|
// Below is needed for above eval!
|
||||||
you.baseCps = me.baseCps;
|
you.baseCps = me.baseCps;
|
||||||
you.name = me.name;
|
you.name = me.name;
|
||||||
|
return you;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Similar to the previous function, but for upgrades.
|
||||||
|
* Note: currently no static data is used by Cookie Monster,
|
||||||
|
* so this function just returns an empty object.
|
||||||
|
*/
|
||||||
|
CM.Sim.InitUpgrade = function(upgradeName) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Similar to the previous function, but for achievements.
|
||||||
|
* Note: currently no static data is used by Cookie Monster,
|
||||||
|
* so this function just returns an empty object.
|
||||||
|
*/
|
||||||
|
CM.Sim.InitAchievement = function(achievementName) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
CM.Sim.InitData = function() {
|
||||||
|
// Buildings
|
||||||
|
CM.Sim.Objects = [];
|
||||||
|
for (var i in Game.Objects) {
|
||||||
|
CM.Sim.Objects[i] = CM.Sim.InitialBuildingData(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Upgrades
|
// Upgrades
|
||||||
CM.Sim.Upgrades = [];
|
CM.Sim.Upgrades = [];
|
||||||
for (var i in Game.Upgrades) {
|
for (var i in Game.Upgrades) {
|
||||||
CM.Sim.Upgrades[i] = {};
|
CM.Sim.Upgrades[i] = CM.Sim.InitUpgrade(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Achievements
|
// Achievements
|
||||||
CM.Sim.Achievements = [];
|
CM.Sim.Achievements = [];
|
||||||
for (var i in Game.Achievements) {
|
for (var i in Game.Achievements) {
|
||||||
CM.Sim.Achievements[i] = {};
|
CM.Sim.Achievements[i] = CM.Sim.InitAchievement(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3691,10 +3719,9 @@ CM.Sim.CopyData = function() {
|
|||||||
for (var i in Game.Objects) {
|
for (var i in Game.Objects) {
|
||||||
var me = Game.Objects[i];
|
var me = Game.Objects[i];
|
||||||
var you = CM.Sim.Objects[i];
|
var you = CM.Sim.Objects[i];
|
||||||
if (you == undefined) {
|
if (you == undefined) { // New building!
|
||||||
CM.Sim.InitData();
|
you = CM.Sim.Objects[i] = CM.Sim.InitialBuildingData(i);
|
||||||
you = CM.Sim.Objects[i]; // Not undefined anymore
|
CM.Disp.CreateBotBarBuildingColumn(i); // Add new building to the bottom bar
|
||||||
CM.Disp.CreateBotBarBuildingColumn(i); // New building! Add it to the bottom bar
|
|
||||||
}
|
}
|
||||||
you.amount = me.amount;
|
you.amount = me.amount;
|
||||||
you.level = me.level;
|
you.level = me.level;
|
||||||
@@ -3705,8 +3732,7 @@ CM.Sim.CopyData = function() {
|
|||||||
var me = Game.Upgrades[i];
|
var me = Game.Upgrades[i];
|
||||||
var you = CM.Sim.Upgrades[i];
|
var you = CM.Sim.Upgrades[i];
|
||||||
if (you == undefined) {
|
if (you == undefined) {
|
||||||
CM.Sim.InitData();
|
you = CM.Sim.Upgrades[i] = CM.Sim.InitUpgrade(i);
|
||||||
you = CM.Sim.Upgrades[i];
|
|
||||||
}
|
}
|
||||||
you.bought = me.bought;
|
you.bought = me.bought;
|
||||||
}
|
}
|
||||||
@@ -3716,14 +3742,12 @@ CM.Sim.CopyData = function() {
|
|||||||
var me = Game.Achievements[i];
|
var me = Game.Achievements[i];
|
||||||
var you = CM.Sim.Achievements[i];
|
var you = CM.Sim.Achievements[i];
|
||||||
if (you == undefined) {
|
if (you == undefined) {
|
||||||
CM.Sim.InitData();
|
you = CM.Sim.Achievements[i] = CM.Sim.InitAchievement(i);
|
||||||
you = CM.Sim.Achievements[i];
|
|
||||||
}
|
}
|
||||||
you.won = me.won;
|
you.won = me.won;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
CM.Sim.CalculateGains = function() {
|
CM.Sim.CalculateGains = function() {
|
||||||
CM.Sim.cookiesPs = 0;
|
CM.Sim.cookiesPs = 0;
|
||||||
var mult = 1;
|
var mult = 1;
|
||||||
|
|||||||
60
src/Sim.js
60
src/Sim.js
@@ -120,13 +120,17 @@ CM.Sim.getCPSBuffMult = function() {
|
|||||||
return mult;
|
return mult;
|
||||||
}
|
}
|
||||||
|
|
||||||
CM.Sim.InitData = function() {
|
/* Constructs an object with the static properties of a building,
|
||||||
// Buildings
|
* but with a 'cps' method changed to use 'CM.Sim.Has' instead of 'Game.Has'
|
||||||
CM.Sim.Objects = [];
|
* (and similar to 'hasAura', 'Objects', 'GetTieredCpsMult' and 'auraMult').
|
||||||
for (var i in Game.Objects) {
|
*
|
||||||
CM.Sim.Objects[i] = {};
|
* The dynamic properties of the building,
|
||||||
var me = Game.Objects[i];
|
* namely level and amount owned,
|
||||||
var you = CM.Sim.Objects[i];
|
* are set by CM.Sim.CopyData.
|
||||||
|
*/
|
||||||
|
CM.Sim.InitialBuildingData = function(buildingName) {
|
||||||
|
var me = Game.Objects[buildingName];
|
||||||
|
var you = {};
|
||||||
eval('you.cps = ' + me.cps.toString()
|
eval('you.cps = ' + me.cps.toString()
|
||||||
.split('Game.Has').join('CM.Sim.Has')
|
.split('Game.Has').join('CM.Sim.Has')
|
||||||
.split('Game.hasAura').join('CM.Sim.hasAura')
|
.split('Game.hasAura').join('CM.Sim.hasAura')
|
||||||
@@ -137,18 +141,42 @@ CM.Sim.InitData = function() {
|
|||||||
// Below is needed for above eval!
|
// Below is needed for above eval!
|
||||||
you.baseCps = me.baseCps;
|
you.baseCps = me.baseCps;
|
||||||
you.name = me.name;
|
you.name = me.name;
|
||||||
|
return you;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Similar to the previous function, but for upgrades.
|
||||||
|
* Note: currently no static data is used by Cookie Monster,
|
||||||
|
* so this function just returns an empty object.
|
||||||
|
*/
|
||||||
|
CM.Sim.InitUpgrade = function(upgradeName) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Similar to the previous function, but for achievements.
|
||||||
|
* Note: currently no static data is used by Cookie Monster,
|
||||||
|
* so this function just returns an empty object.
|
||||||
|
*/
|
||||||
|
CM.Sim.InitAchievement = function(achievementName) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
CM.Sim.InitData = function() {
|
||||||
|
// Buildings
|
||||||
|
CM.Sim.Objects = [];
|
||||||
|
for (var i in Game.Objects) {
|
||||||
|
CM.Sim.Objects[i] = CM.Sim.InitialBuildingData(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Upgrades
|
// Upgrades
|
||||||
CM.Sim.Upgrades = [];
|
CM.Sim.Upgrades = [];
|
||||||
for (var i in Game.Upgrades) {
|
for (var i in Game.Upgrades) {
|
||||||
CM.Sim.Upgrades[i] = {};
|
CM.Sim.Upgrades[i] = CM.Sim.InitUpgrade(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Achievements
|
// Achievements
|
||||||
CM.Sim.Achievements = [];
|
CM.Sim.Achievements = [];
|
||||||
for (var i in Game.Achievements) {
|
for (var i in Game.Achievements) {
|
||||||
CM.Sim.Achievements[i] = {};
|
CM.Sim.Achievements[i] = CM.Sim.InitAchievement(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,10 +194,9 @@ CM.Sim.CopyData = function() {
|
|||||||
for (var i in Game.Objects) {
|
for (var i in Game.Objects) {
|
||||||
var me = Game.Objects[i];
|
var me = Game.Objects[i];
|
||||||
var you = CM.Sim.Objects[i];
|
var you = CM.Sim.Objects[i];
|
||||||
if (you == undefined) {
|
if (you == undefined) { // New building!
|
||||||
CM.Sim.InitData();
|
you = CM.Sim.Objects[i] = CM.Sim.InitialBuildingData(i);
|
||||||
you = CM.Sim.Objects[i]; // Not undefined anymore
|
CM.Disp.CreateBotBarBuildingColumn(i); // Add new building to the bottom bar
|
||||||
CM.Disp.CreateBotBarBuildingColumn(i); // New building! Add it to the bottom bar
|
|
||||||
}
|
}
|
||||||
you.amount = me.amount;
|
you.amount = me.amount;
|
||||||
you.level = me.level;
|
you.level = me.level;
|
||||||
@@ -180,8 +207,7 @@ CM.Sim.CopyData = function() {
|
|||||||
var me = Game.Upgrades[i];
|
var me = Game.Upgrades[i];
|
||||||
var you = CM.Sim.Upgrades[i];
|
var you = CM.Sim.Upgrades[i];
|
||||||
if (you == undefined) {
|
if (you == undefined) {
|
||||||
CM.Sim.InitData();
|
you = CM.Sim.Upgrades[i] = CM.Sim.InitUpgrade(i);
|
||||||
you = CM.Sim.Upgrades[i];
|
|
||||||
}
|
}
|
||||||
you.bought = me.bought;
|
you.bought = me.bought;
|
||||||
}
|
}
|
||||||
@@ -191,14 +217,12 @@ CM.Sim.CopyData = function() {
|
|||||||
var me = Game.Achievements[i];
|
var me = Game.Achievements[i];
|
||||||
var you = CM.Sim.Achievements[i];
|
var you = CM.Sim.Achievements[i];
|
||||||
if (you == undefined) {
|
if (you == undefined) {
|
||||||
CM.Sim.InitData();
|
you = CM.Sim.Achievements[i] = CM.Sim.InitAchievement(i);
|
||||||
you = CM.Sim.Achievements[i];
|
|
||||||
}
|
}
|
||||||
you.won = me.won;
|
you.won = me.won;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
CM.Sim.CalculateGains = function() {
|
CM.Sim.CalculateGains = function() {
|
||||||
CM.Sim.cookiesPs = 0;
|
CM.Sim.cookiesPs = 0;
|
||||||
var mult = 1;
|
var mult = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user