private void ExtractFiles() { _monsterDb = ChickenContainer.Instance.Resolve <INpcMonsterService>(); _bcardDb = ChickenContainer.Instance.Resolve <IBCardService>(); _skillsDb = ChickenContainer.Instance.Resolve <INpcMonsterSkillService>(); _dropsDb = ChickenContainer.Instance.Resolve <IDropService>(); _monsterDb.Save(_monsters); _bcardDb.Save(_monsterBcards); _dropsDb.Save(_monsterDrops); _skillsDb.Save(_monsterSkills); }
public void Fill(string filePath) { _npcMonsterService = ChickenContainer.Instance.Resolve <INpcMonsterService>(); string tmp = File.ReadAllText(filePath, Encoding.GetEncoding(1252)); string[] lines = tmp.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None); foreach (string line in lines.Where(s => s.StartsWith("e_info 10"))) { string[] currentPacket = line.Split(new[] { ' ', '\t' }, StringSplitOptions.None); if (currentPacket.Length <= 25) { continue; } NpcMonsterDto npcMonster = _npcMonsterService.GetById(short.Parse(currentPacket[2])); if (npcMonster == null) { continue; } npcMonster.AttackClass = byte.Parse(currentPacket[5]); npcMonster.AttackUpgrade = byte.Parse(currentPacket[7]); npcMonster.DamageMinimum = short.Parse(currentPacket[8]); npcMonster.DamageMaximum = short.Parse(currentPacket[9]); npcMonster.Concentrate = short.Parse(currentPacket[10]); npcMonster.CriticalChance = byte.Parse(currentPacket[11]); npcMonster.CriticalRate = short.Parse(currentPacket[12]); npcMonster.DefenceUpgrade = byte.Parse(currentPacket[13]); npcMonster.CloseDefence = short.Parse(currentPacket[14]); npcMonster.DefenceDodge = short.Parse(currentPacket[15]); npcMonster.DistanceDefence = short.Parse(currentPacket[16]); npcMonster.DistanceDefenceDodge = short.Parse(currentPacket[17]); npcMonster.MagicDefence = short.Parse(currentPacket[18]); npcMonster.FireResistance = sbyte.Parse(currentPacket[19]); npcMonster.WaterResistance = sbyte.Parse(currentPacket[20]); npcMonster.LightResistance = sbyte.Parse(currentPacket[21]); npcMonster.DarkResistance = sbyte.Parse(currentPacket[22]); if (_npcMonsters.Any(s => s.Id == npcMonster.Id)) { continue; } _npcMonsters.Add(npcMonster); } _npcMonsterService.Save(_npcMonsters); }