예제 #1
0
        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));
        }