Advertisement
Guest User

Untitled

a guest
Oct 27th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.78 KB | None | 0 0
  1. #region Chi Npc
  2. case 888540:
  3. {
  4. switch (npcRequest.OptionID)
  5. {
  6. case 0:
  7. {
  8. if (client.ChiPowers.Count == 0)
  9. {
  10. dialog.Text("Sorry But You Don't Have chi Yet.");
  11. dialog.Option("I'll think about it!", 255);
  12. dialog.Send();
  13. return;
  14. }
  15. dialog.Text("Hello I'M Chi Seller.");
  16. for (int i = 0; i < client.ChiPowers.Count; i++)
  17. {
  18. var stage = client.ChiPowers[i];
  19. dialog.Option(((Game.Enums.ChiPowerType)(i + 1)).ToString(), (byte)(i + 1));
  20. }
  21. dialog.Option("I'll think about it!", 255);
  22. dialog.Send();
  23. break;
  24. }
  25. default:
  26. {
  27. int mStage = npcRequest.OptionID;
  28. if (mStage >= 1 && mStage <= 4)
  29. {
  30. client.Entity.SelectedStage = mStage;
  31. dialog.Text("You Choose " + ((Game.Enums.ChiPowerType)mStage).ToString() + " stage. please select Attribute you want to change ");
  32. for (int i = 0; i < 4; i++)
  33. {
  34. dialog.Option("Attribute [" + (byte)(i + 1) + "]", (byte)(i + 1 + 4));
  35. }
  36. dialog.Option("Back", 0);
  37. dialog.Option("I'll think about it!", 255);
  38. dialog.Send();
  39. break;
  40. }
  41. else if (mStage >= 4 && mStage <= 8)
  42. {
  43. client.Entity.SelectedAttribute = mStage - 4;
  44. var mychiattribute = new List<Enums.ChiAttribute>();
  45. var powers = client.ChiPowers[(int)client.Entity.SelectedStage - 1];
  46. for (int i = 0; i < powers.Attributes.Length; i++)
  47. {
  48. var Attribute = powers.Attributes[i];
  49. mychiattribute.Add(Attribute.Type);
  50. }
  51. dialog.Text("You Choose Attribute [" + client.Entity.SelectedAttribute + "] please select AttributeType you want to change ");
  52. for (int i = 0; i < (int)Enums.ChiAttribute.MagicDamageDecrease; i++)
  53. {
  54. var type = ((Enums.ChiAttribute)(i + 1));
  55. if (!mychiattribute.Contains(type))
  56. dialog.Option(type.ToString(), (byte)(((i + 1) * 10)));
  57. }
  58. dialog.Option("Back", (byte)client.Entity.SelectedStage);
  59. dialog.Option("I'll think about it!", 255);
  60. dialog.Send();
  61. break;
  62. }
  63. else
  64. {
  65. if (client.Entity.ConquerPoints <= 1000)
  66. {
  67. dialog.Text("Sorry But You Don't Have 1 kk cps ");
  68. dialog.Option("I'll think about it!", 255);
  69. dialog.Send();
  70. return;
  71. }
  72.  
  73. var typex = mStage / 10;
  74. var Mode = client.Entity.SelectedStage;
  75. var pos = client.Entity.SelectedAttribute - 1;
  76. var powers = client.ChiPowers[Mode - 1];
  77. var attributes = powers.Attributes;
  78. foreach (var attr in attributes)
  79. {
  80. if (attr == null) continue;
  81. if (attr.Type == (Enums.ChiAttribute)typex)
  82. {
  83. client.MessageBox("Sorry you can't muliplay stats", null, null);
  84. return;
  85. }
  86. }
  87. attributes[pos].Type = (Enums.ChiAttribute)typex;
  88. attributes[pos].Value = (ushort)Game.Enums.ChiMaxValues(attributes[pos].Type);
  89. powers.CalculatePoints();
  90. Database.ChiTable.Sort((Enums.ChiPowerType)Mode);
  91. powers.Power = (Enums.ChiPowerType)Mode;
  92. client.Entity.ConquerPoints -= 1000;
  93. client.Send(new ChiPowers(true).Query(client));
  94. #region update ranking
  95. Database.ChiTable.ChiData[] array = null;
  96. switch ((Enums.ChiPowerType)Mode)
  97. {
  98. case Game.Enums.ChiPowerType.Dragon:
  99. array = Database.ChiTable.Dragon;
  100. break;
  101. case Game.Enums.ChiPowerType.Phoenix:
  102. array = Database.ChiTable.Phoenix;
  103. break;
  104. case Game.Enums.ChiPowerType.Tiger:
  105. array = Database.ChiTable.Tiger;
  106. break;
  107. case Game.Enums.ChiPowerType.Turtle:
  108. array = Database.ChiTable.Turtle;
  109. break;
  110. }
  111. foreach (var chiData in array)
  112. {
  113. if (Kernel.GamePool.ContainsKey(chiData.UID))
  114. {
  115. var pClient = Kernel.GamePool[chiData.UID];
  116. if (pClient == null) continue;
  117. if (pClient.ChiData == null) continue;
  118. // make it public instead of private
  119. PacketHandler.SendRankingQuery(new GenericRanking(true) { Mode = GenericRanking.QueryCount }, pClient, GenericRanking.Chi + (uint)Mode, pClient.ChiData.SelectRank((Enums.ChiPowerType)Mode), pClient.ChiData.SelectPoints((Enums.ChiPowerType)Mode));
  120. if (pClient.Entity.UID == client.Entity.UID || pClient.ChiData.SelectRank((Enums.ChiPowerType)Mode) < 50)
  121. pClient.LoadItemStats();
  122. }
  123. }
  124. #endregion
  125. Database.ChiTable.Save(client);
  126. }
  127. break;
  128. }
  129. }
  130. break;
  131. }
  132. #endregion
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement