public static async Task Convert() { try { if (!Directory.Exists("RAW")) { Output.WriteLine("RAW not found! Restoring!"); //await Content.Content.RestoreAsync(); Output.WriteLine("RAW Restored!"); } if (!Directory.Exists("Database")) { Directory.CreateDirectory("Database"); } Output.WriteLine("Rebuilding"); UniqueIdGenerator.Load(); MapManager.Load(@"RAW\ini\GameMap.dat", Environment.CurrentDirectory + "\\RAW\\"); Item.ItemFactory.LoadDb(); await Task.WhenAll(MonsterDb.Load(), PortalDb.Load(), MagicTypeConverter.Load(), ItemBonusConverter.Load(), StatpointConverter.Load(), LevelExpConverter.Load()); NpcDb.Load(); await Db.SaveAsJsonAsync(SaveType.All); } catch (Exception e) { Output.WriteLine(e); Output.WriteLine("N***a, I couldn't load the Db, nor convert your old db. What the f**k are you doing?"); } }
private static Task LoadMobs() { return(Task.Run(async() => { var serializer = new JsonSerializer { DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate, NullValueHandling = NullValueHandling.Ignore, TypeNameHandling = TypeNameHandling.Auto, Formatting = Formatting.Indented, Converters = { new BoolConverter() } }; try { using (var stream = new StreamReader("Database\\Spawns.json")) using (var reader = new JsonTextReader(stream)) Collections.Spawns = serializer.Deserialize <ConcurrentDictionary <short, Spawn> >(reader); using (var stream = new StreamReader("Database\\BaseMonsters.json")) using (var reader = new JsonTextReader(stream)) Collections.BaseMonsters = serializer.Deserialize <Dictionary <uint, Monster> >(reader); using (var stream = new StreamReader("Database\\Monsters.json")) using (var reader = new JsonTextReader(stream)) Collections.Monsters = serializer.Deserialize <Dictionary <int, Monster> >(reader); using (var stream = new StreamReader("Database\\MonsterNames.json")) using (var reader = new JsonTextReader(stream)) Collections.MonsterNames = serializer.Deserialize <Dictionary <uint, string> >(reader); foreach (var kvp in Collections.Monsters) { var mob = kvp.Value; if (mob.Look == 900 || mob.Look == 910) { mob.Brain = new GuardBrain(mob); } else { mob.Brain = new BasicBrain(mob); } } } catch (Exception ex) { Output.WriteLine(ex); await MonsterDb.Load(); using (var stream = new StreamWriter("Database\\BaseMonsters.json")) serializer.Serialize(stream, Collections.BaseMonsters, Collections.BaseMonsters.GetType()); using (var stream = new StreamWriter("Database\\Monsters.json")) serializer.Serialize(stream, Collections.Monsters, Collections.Monsters.GetType()); using (var stream = new StreamWriter("Database\\Spawns.json")) serializer.Serialize(stream, Collections.Spawns, Collections.Spawns.GetType()); using (var stream = new StreamWriter("Database\\MonsterNames.json")) serializer.Serialize(stream, Collections.MonsterNames, Collections.MonsterNames.GetType()); } })); }