Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static void BuyFromBooth(ItemUsage usage, Client.GameClient client)
- {
- if (client.Entity.PokerTableUID > 0) return;
- Client.GameClient Owner = null;
- Game.Entity entity = null;
- Game.ConquerStructures.Booth booth = null;
- if (Game.ConquerStructures.Booth.TryGetValue(usage.dwParam, out booth))
- {
- Owner = booth.Base.Owner;
- entity = Owner.Entity;
- if (client.Trade.InTrade || Owner.Trade.InTrade)
- return;
- if (Owner != null)
- {
- if (Owner.Trade != null)
- {
- if (Owner.Trade.InTrade) return;
- }
- if (Owner.Entity.UID != client.Entity.UID)
- {
- if (Owner.Booth.ItemList.ContainsKey(usage.UID))
- {
- Game.ConquerStructures.BoothItem item;
- if (Owner.Booth.ItemList.TryGetValue(usage.UID, out item))
- {
- if (client.Inventory.Count <= 39)
- {
- if (item.Cost_Type == LordsRoad.Game.ConquerStructures.BoothItem.CostType.Silvers)
- {
- if (client.Entity.Money >= item.Cost)
- {
- client.Entity.Money -= item.Cost;
- //Database.EntityTable.UpdateMoney(client);
- Owner.Entity.Money += item.Cost;
- //Database.EntityTable.UpdateMoney(Owner);
- client.Send(usage);
- client.Inventory.Add(item.Item, Game.Enums.ItemUse.CreateAndAdd);
- usage.ID = ItemUsage.RemoveItemFromBooth;
- Owner.Send(usage);
- Owner.Inventory.Remove(item.Item.UID, Game.Enums.ItemUse.None, false);
- usage.ID = ItemUsage.RemoveInventory;
- Owner.Send(usage);
- Owner.Booth.ItemList.Remove(item.Item.UID);
- Database.ConquerItemInformation infos = new Database.ConquerItemInformation(item.Item.ID, 0);
- Owner.Send(Constants.BoothItemSell(client.Entity.Name, infos.BaseInformation.Name, false, item.Cost));
- // Program.AddVendorLog(Owner.Entity.Name, client.Entity.Name, item.Cost.ToString() + " Silvers", item.Item);
- }
- }
- else
- {
- if (client.Entity.ConquerPoints >= item.Cost)
- {
- client.Entity.ConquerPoints -= item.Cost;
- Database.EntityTable.UpdateCps(client);
- Owner.Entity.ConquerPoints += item.Cost;
- Database.EntityTable.UpdateCps(Owner);
- client.Send(usage);
- client.Inventory.Add(item.Item, Game.Enums.ItemUse.CreateAndAdd);
- usage.ID = ItemUsage.RemoveItemFromBooth;
- Owner.Send(usage);
- Owner.Inventory.Remove(item.Item.UID, Game.Enums.ItemUse.None, false);
- usage.ID = ItemUsage.RemoveInventory;
- Owner.Send(usage);
- Owner.Booth.ItemList.Remove(item.Item.UID);
- Database.ConquerItemInformation infos = new Database.ConquerItemInformation(item.Item.ID, 0);
- Owner.Send(Constants.BoothItemSell(client.Entity.Name, infos.BaseInformation.Name, true, item.Cost));
- // Program.AddVendorLog(Owner.Entity.Name, client.Entity.Name, item.Cost.ToString() + " CPs", item.Item);
- }
- }
- }
- }
- }
- }
- }
- }
- if (Game.ConquerStructures.Booth.TryGetValue2(usage.dwParam, out booth))
- {
- if (booth.ItemList.ContainsKey(usage.UID))
- {
- Game.ConquerStructures.BoothItem item;
- if (booth.ItemList.TryGetValue(usage.UID, out item))
- {
- if (client.Inventory.Count <= 39)
- {
- if (item.Cost_Type == LordsRoad.Game.ConquerStructures.BoothItem.CostType.Silvers)
- {
- if (client.Entity.Money >= item.Cost)
- {
- client.Entity.Money -= item.Cost;
- client.Inventory.Add(item.Item, Game.Enums.ItemUse.CreateAndAdd);
- booth.ItemList[usage.UID].Item.UID = AuthClient.nextID++;
- }
- }
- else
- {
- if (client.Entity.ConquerPoints >= item.Cost)
- {
- client.Entity.ConquerPoints -= item.Cost;
- Database.EntityTable.UpdateCps(client);
- client.Inventory.Add(item.Item, Game.Enums.ItemUse.CreateAndAdd);
- booth.ItemList[usage.UID].Item.UID = AuthClient.nextID++;
- }
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement