public void SaveCharacterEndFightProgress(Map.Map map, Character character, List <uint> loots, double experienceEarned, int kamasEarned) { var client = map.GetClientFromCharacter(character); var inventory = character.Inventory; character.Experience += experienceEarned; character.Kamas += kamasEarned; foreach (var loot in loots) { var item = InventoryRepository.Instance.GenerateItemFromId((int)loot); if (item == null) { continue; } inventory.ObjectItems.Add(InventoryRepository.Instance.GenerateItemFromId((int)loot)); if (client == null) { continue; } client.SendPacket(new ObjectAddedMessage(item, 0)); client.SendPacket(new InventoryWeightMessage(0, 0, 1000)); } CharacterRepository.Instance.Update(character); InventoryRepository.Instance.Update(inventory); if (LevelManager.Instance.CheckLevelUpFromExperience <Character>(character)) //gerer l'exp TODO { //levelup character.OnLevelUp(); if (client != null) { client.SendPacket(new CharacterLevelUpMessage((uint)character.Level)); } } //exit de la map le joueur pour le faire actualiser la carte TODO if (client != null) { client.ActiveCharacter = character; } }