diff --git a/src/com/fox/DropResearch/DossierHandler.as b/src/com/fox/DropResearch/DossierHandler.as index 2ebaeff..a5ac241 100644 --- a/src/com/fox/DropResearch/DossierHandler.as +++ b/src/com/fox/DropResearch/DossierHandler.as @@ -9,9 +9,6 @@ import com.Utils.Archive; class com.fox.DropResearch.DossierHandler{ static var DossierData = DistributedValue.Create("DossierData_DR"); - public function ConfigHandler() { - } - static function Save(data){ DossierData.SetValue(data); } @@ -26,24 +23,27 @@ class com.fox.DropResearch.DossierHandler{ } static function LoadConfig(config:Archive){ - var conf:Archive = new Archive(); - conf.AddEntry("MissionsDone", Number(config.FindEntry("MissionsDone", 0))); - conf.AddEntry("MissionDossiers",Number(config.FindEntry("MissionDossiers",0))); - conf.AddEntry("ScenariosDone",Number(config.FindEntry("ScenariosDone",0))); - conf.AddEntry("ScenarioDossiers",Number(config.FindEntry("ScenarioDossiers",0))); - conf.AddEntry("DungeonsDone",Number(config.FindEntry("DungeonsDone",0))); - conf.AddEntry("DungeonDossiers",Number(config.FindEntry("DungeonDossiers",0))); - conf.AddEntry("LairsDone",Number(config.FindEntry("LairsDone",0))); - conf.AddEntry("LairDossiers",Number(config.FindEntry("LairDossiers",0))); - conf.AddEntry("NYRStoryDone",Number(config.FindEntry("NYRStoryDone",0))); - conf.AddEntry("NYRStoryDossiers",Number(config.FindEntry("NYRStoryDossiers",0))); - conf.AddEntry("NYRE1Done",Number(config.FindEntry("NYRE1Done",0))); - conf.AddEntry("NYRE1Dossiers",Number(config.FindEntry("NYRE1Dossiers",0))); - conf.AddEntry("NYRE5Done",Number(config.FindEntry("NYRE5Done",0))); - conf.AddEntry("NYRE5Dossiers",Number(config.FindEntry("NYRE5Dossiers",0))); - conf.AddEntry("NYRE10Done",Number(config.FindEntry("NYRE10Done",0))); - conf.AddEntry("NYRE10Dossiers", Number(config.FindEntry("NYRE10Dossiers", 0))); - Save(conf); + /* + * Using ReplaceEntry on ValueChanged function, which doesn't require pre-initializing the keys + * var conf:Archive = new Archive(); + * conf.AddEntry("MissionsDone", Number(config.FindEntry("MissionsDone", 0))); + * conf.AddEntry("MissionDossiers",Number(config.FindEntry("MissionDossiers",0))); + * conf.AddEntry("ScenariosDone",Number(config.FindEntry("ScenariosDone",0))); + * conf.AddEntry("ScenarioDossiers",Number(config.FindEntry("ScenarioDossiers",0))); + * conf.AddEntry("DungeonsDone",Number(config.FindEntry("DungeonsDone",0))); + * conf.AddEntry("DungeonDossiers",Number(config.FindEntry("DungeonDossiers",0))); + * conf.AddEntry("LairsDone",Number(config.FindEntry("LairsDone",0))); + * conf.AddEntry("LairDossiers",Number(config.FindEntry("LairDossiers",0))); + * conf.AddEntry("NYRStoryDone",Number(config.FindEntry("NYRStoryDone",0))); + * conf.AddEntry("NYRStoryDossiers",Number(config.FindEntry("NYRStoryDossiers",0))); + * conf.AddEntry("NYRE1Done",Number(config.FindEntry("NYRE1Done",0))); + * conf.AddEntry("NYRE1Dossiers",Number(config.FindEntry("NYRE1Dossiers",0))); + * conf.AddEntry("NYRE5Done",Number(config.FindEntry("NYRE5Done",0))); + * conf.AddEntry("NYRE5Dossiers",Number(config.FindEntry("NYRE5Dossiers",0))); + * conf.AddEntry("NYRE10Done",Number(config.FindEntry("NYRE10Done",0))); + * conf.AddEntry("NYRE10Dossiers", Number(config.FindEntry("NYRE10Dossiers", 0))); + */ + Save(config); } static function ValueChanged(key, value){ diff --git a/src/com/fox/DropResearch/Mod.as b/src/com/fox/DropResearch/Mod.as index 922dfdb..d8f35f5 100644 --- a/src/com/fox/DropResearch/Mod.as +++ b/src/com/fox/DropResearch/Mod.as @@ -40,7 +40,7 @@ class com.fox.DropResearch.Mod { // Lootbox type that was last offered private var OpenType:String; - // "Agent Dossier", due to german localization we have to use toLowerCase() on it and the item name + // "Agent Dossier", due to german localization we have to use toLowerCase() on it and the item name,or special dossiers wont be detected // Agentendossier/Spezialagentendossier static var DossierName:String = LDBFormat.LDBGetText(50200, 9403857).toLowerCase(); @@ -99,10 +99,6 @@ class com.fox.DropResearch.Mod { Debug.SetValue(Boolean(config.FindEntry("Debug",false))); PlayerInventory = new Inventory(new ID32(_global.Enums.InvType.e_Type_GC_BackpackContainer, CharacterBase.GetClientCharID().GetInstance())); HookMissionRewardWindow(); - if (OnGoingSpecialEvent()) { - ManualSave(); - Unload(); - } // Workaround for mod loading last used characters config when running the mod on new character for the first time // Everything works fine once the config has been generated for each character. if (string(config.FindEntry("PlayerID")) != string(CharacterBase.GetClientCharID().GetInstance())){ @@ -111,6 +107,10 @@ class com.fox.DropResearch.Mod { Lootboxes.SetValue(new Archive()); ManualSave(); } + if (OnGoingSpecialEvent()) { + ManualSave(); + Unload(); + } } //shows statistics for player