Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.51 KB | None | 0 0
  1. static void BuyFromBooth(ItemUsage usage, Client.GameClient client)
  2. {
  3. if (client.Entity.PokerTableUID > 0) return;
  4. Client.GameClient Owner = null;
  5. Game.Entity entity = null;
  6. Game.ConquerStructures.Booth booth = null;
  7. if (Game.ConquerStructures.Booth.TryGetValue(usage.dwParam, out booth))
  8. {
  9. Owner = booth.Base.Owner;
  10. entity = Owner.Entity;
  11. if (client.Trade.InTrade || Owner.Trade.InTrade)
  12. return;
  13. if (Owner != null)
  14. {
  15. if (Owner.Trade != null)
  16. {
  17. if (Owner.Trade.InTrade) return;
  18. }
  19. if (Owner.Entity.UID != client.Entity.UID)
  20. {
  21. if (Owner.Booth.ItemList.ContainsKey(usage.UID))
  22. {
  23. Game.ConquerStructures.BoothItem item;
  24. if (Owner.Booth.ItemList.TryGetValue(usage.UID, out item))
  25. {
  26. if (client.Inventory.Count <= 39)
  27. {
  28. if (item.Cost_Type == LordsRoad.Game.ConquerStructures.BoothItem.CostType.Silvers)
  29. {
  30. if (client.Entity.Money >= item.Cost)
  31. {
  32. client.Entity.Money -= item.Cost;
  33. //Database.EntityTable.UpdateMoney(client);
  34. Owner.Entity.Money += item.Cost;
  35. //Database.EntityTable.UpdateMoney(Owner);
  36. client.Send(usage);
  37. client.Inventory.Add(item.Item, Game.Enums.ItemUse.CreateAndAdd);
  38. usage.ID = ItemUsage.RemoveItemFromBooth;
  39. Owner.Send(usage);
  40. Owner.Inventory.Remove(item.Item.UID, Game.Enums.ItemUse.None, false);
  41. usage.ID = ItemUsage.RemoveInventory;
  42. Owner.Send(usage);
  43. Owner.Booth.ItemList.Remove(item.Item.UID);
  44. Database.ConquerItemInformation infos = new Database.ConquerItemInformation(item.Item.ID, 0);
  45. Owner.Send(Constants.BoothItemSell(client.Entity.Name, infos.BaseInformation.Name, false, item.Cost));
  46. // Program.AddVendorLog(Owner.Entity.Name, client.Entity.Name, item.Cost.ToString() + " Silvers", item.Item);
  47. }
  48. }
  49. else
  50. {
  51. if (client.Entity.ConquerPoints >= item.Cost)
  52. {
  53. client.Entity.ConquerPoints -= item.Cost;
  54. Database.EntityTable.UpdateCps(client);
  55. Owner.Entity.ConquerPoints += item.Cost;
  56. Database.EntityTable.UpdateCps(Owner);
  57. client.Send(usage);
  58. client.Inventory.Add(item.Item, Game.Enums.ItemUse.CreateAndAdd);
  59. usage.ID = ItemUsage.RemoveItemFromBooth;
  60. Owner.Send(usage);
  61. Owner.Inventory.Remove(item.Item.UID, Game.Enums.ItemUse.None, false);
  62. usage.ID = ItemUsage.RemoveInventory;
  63. Owner.Send(usage);
  64. Owner.Booth.ItemList.Remove(item.Item.UID);
  65. Database.ConquerItemInformation infos = new Database.ConquerItemInformation(item.Item.ID, 0);
  66. Owner.Send(Constants.BoothItemSell(client.Entity.Name, infos.BaseInformation.Name, true, item.Cost));
  67. // Program.AddVendorLog(Owner.Entity.Name, client.Entity.Name, item.Cost.ToString() + " CPs", item.Item);
  68. }
  69. }
  70. }
  71. }
  72. }
  73. }
  74. }
  75. }
  76. if (Game.ConquerStructures.Booth.TryGetValue2(usage.dwParam, out booth))
  77. {
  78. if (booth.ItemList.ContainsKey(usage.UID))
  79. {
  80. Game.ConquerStructures.BoothItem item;
  81. if (booth.ItemList.TryGetValue(usage.UID, out item))
  82. {
  83. if (client.Inventory.Count <= 39)
  84. {
  85. if (item.Cost_Type == LordsRoad.Game.ConquerStructures.BoothItem.CostType.Silvers)
  86. {
  87. if (client.Entity.Money >= item.Cost)
  88. {
  89. client.Entity.Money -= item.Cost;
  90. client.Inventory.Add(item.Item, Game.Enums.ItemUse.CreateAndAdd);
  91. booth.ItemList[usage.UID].Item.UID = AuthClient.nextID++;
  92.  
  93. }
  94. }
  95. else
  96. {
  97. if (client.Entity.ConquerPoints >= item.Cost)
  98. {
  99. client.Entity.ConquerPoints -= item.Cost;
  100. Database.EntityTable.UpdateCps(client);
  101. client.Inventory.Add(item.Item, Game.Enums.ItemUse.CreateAndAdd);
  102. booth.ItemList[usage.UID].Item.UID = AuthClient.nextID++;
  103. }
  104. }
  105. }
  106.  
  107. }
  108. }
  109. }
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement