From 935ce42305c3a1e037d6a065bdff005ee4d4d768 Mon Sep 17 00:00:00 2001 From: DanielNoord Date: Tue, 24 Nov 2020 12:41:36 +0100 Subject: [PATCH] Support for Modded Objects/Upgrades/Achievs (#335) --- CookieMonster.js | 11 ++++++++++- src/Sim.js | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 58c0a17..2f7bc99 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -3447,6 +3447,9 @@ CM.Sim.CopyData = function() { for (var i in Game.Objects) { var me = Game.Objects[i]; var you = CM.Sim.Objects[i]; + if (you == undefined) { + CM.Sim.InitData(); + } you.amount = me.amount; you.level = me.level; } @@ -3455,6 +3458,9 @@ CM.Sim.CopyData = function() { for (var i in Game.Upgrades) { var me = Game.Upgrades[i]; var you = CM.Sim.Upgrades[i]; + if (you == undefined) { + CM.Sim.InitData(); + } you.bought = me.bought; } @@ -3462,6 +3468,9 @@ CM.Sim.CopyData = function() { for (var i in Game.Achievements) { var me = Game.Achievements[i]; var you = CM.Sim.Achievements[i]; + if (you == undefined) { + CM.Sim.InitData(); + } you.won = me.won; } }; @@ -3734,8 +3743,8 @@ CM.Sim.CheckOtherAchiev = function() { CM.Sim.BuyBuildings = function(amount, target) { CM.Cache[target] = []; + CM.Sim.CopyData(); for (var i in Game.Objects) { - CM.Sim.CopyData(); var me = CM.Sim.Objects[i]; me.amount += amount; diff --git a/src/Sim.js b/src/Sim.js index 1baab39..43e4d88 100644 --- a/src/Sim.js +++ b/src/Sim.js @@ -166,6 +166,9 @@ CM.Sim.CopyData = function() { for (var i in Game.Objects) { var me = Game.Objects[i]; var you = CM.Sim.Objects[i]; + if (you == undefined) { + CM.Sim.InitData(); + } you.amount = me.amount; you.level = me.level; } @@ -174,6 +177,9 @@ CM.Sim.CopyData = function() { for (var i in Game.Upgrades) { var me = Game.Upgrades[i]; var you = CM.Sim.Upgrades[i]; + if (you == undefined) { + CM.Sim.InitData(); + } you.bought = me.bought; } @@ -181,6 +187,9 @@ CM.Sim.CopyData = function() { for (var i in Game.Achievements) { var me = Game.Achievements[i]; var you = CM.Sim.Achievements[i]; + if (you == undefined) { + CM.Sim.InitData(); + } you.won = me.won; } }; @@ -453,8 +462,8 @@ CM.Sim.CheckOtherAchiev = function() { CM.Sim.BuyBuildings = function(amount, target) { CM.Cache[target] = []; + CM.Sim.CopyData(); for (var i in Game.Objects) { - CM.Sim.CopyData(); var me = CM.Sim.Objects[i]; me.amount += amount;