From 1c8deea2dc1a746c27b6b438b9d63bdd5b4d27b2 Mon Sep 17 00:00:00 2001 From: psihius Date: Wed, 18 Apr 2018 10:38:44 +0300 Subject: [PATCH] Fixed research sync for levels and repeated execution --- sharedPlugins/researchSync/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sharedPlugins/researchSync/index.js b/sharedPlugins/researchSync/index.js index 9055d1bd..73bdaaed 100644 --- a/sharedPlugins/researchSync/index.js +++ b/sharedPlugins/researchSync/index.js @@ -43,7 +43,7 @@ class ResearchSync { if(researchList){ Object.keys(researchList).forEach(researchName => { if (needResearch.hasOwnProperty(researchName)) { - if (needResearch[researchName].researched !== 0) { + if (needResearch[researchName].researched === 0) { needResearch[researchName].researched = parseInt(researchList[researchName].researched); } if (needResearch[researchName].level < parseInt(researchList[researchName].level)) { @@ -67,7 +67,7 @@ class ResearchSync { } this.messageInterface(command); this.messageInterface("Unlocking research: " + key + " at research state = " + (difference[key].researched === 0 ? 'false' : 'true') + ' and level ' + difference[key].level); - // this.messageInterface("/c game.forces['player'].technologies['" + key + "'].researched=true"); + this.research[key] = difference[key]; }); if(Object.keys(difference).length > 0){ this.messageInterface("difference from other servers", JSON.stringify(difference)); @@ -86,7 +86,7 @@ class ResearchSync { let diff = {}; Object.keys(localResearch).forEach((key) => { if (remoteResearch.hasOwnProperty(key)) { - if (localResearch[key].researched !== remoteResearch[key].researched || localResearch[key].level !== remoteResearch[key].level) { + if (localResearch[key].researched !== remoteResearch[key].researched || localResearch[key].level < remoteResearch[key].level) { diff[key] = remoteResearch[key]; } }