public static void AddEventualBidShopGains(WorldClient client) { var gains = BidShopGainRecord.GetAllCharacterBidShopGains(client.Character.Id); foreach (var gain in gains) { var itemname = ItemRecord.GetItem(gain.ItemGID).Name; client.Account.Informations.BankKamas += gain.ItemPrice; client.Character.Reply("Banque : + " + gain.ItemPrice + " Kamas (vente de " + gain.ItemQuantity + " <b>[" + itemname + "]</b> hors jeu)."); gain.RemoveElement(); client.Account.Informations.UpdateElement(); } }
public void BuyItem(uint uid, uint quantity, uint price) { if (Client.Character.RemoveKamas((int)price, true)) { var item = BidShopItems.Find(x => x.UID == uid); if (!BidShopsHandler.TrySendBishopGainAdded(item.OwnerId, item.GID, (int)quantity, (int)price)) { BidShopGainRecord.AddBidShopGain(item); } Client.Character.Inventory.Add(item); RemoveItem(item); } }
public static void HandleCharacterDeletion(CharacterDeletionRequestMessage message, WorldClient client) // finish this { CharacterRecord deletedCharacter = CharacterRecord.GetCharacterRecordById(message.characterId); if (deletedCharacter == null) { return; } StatsRecord.GetStatsRecord(message.characterId).RemoveElement(); CharacterRecord.Characters.Remove(deletedCharacter); client.Characters.Remove(deletedCharacter); deletedCharacter.RemoveElement(); CharacterItemRecord.RemoveAll(message.characterId); GeneralShortcutRecord.RemoveAll(message.characterId); CharacterSpellRecord.RemoveAll(message.characterId); CharacterJobRecord.RemoveAll(message.characterId); BidShopGainRecord.RemoveAll(message.characterId); CharacterGuildRecord.RemoveAll(message.characterId); // Si il est meneur de guilde? BidShopItemRecord.RemoveAll(message.characterId); Logger.Log("Character " + deletedCharacter.Name + " deleted"); client.Send(new CharactersListMessage(client.Characters.ConvertAll <CharacterBaseInformations>(x => x.GetBaseInformation()), false)); }